From 344c2f97025c6504ec986600498121bb83aaeb8f Mon Sep 17 00:00:00 2001 From: Samuli Piippo Date: Fri, 2 Mar 2018 13:08:39 +0200 Subject: Split meta-boot2qt layer Move distro specific recipes to own layer and leave only new recipes and bbclasses to meta-boot2qt layer. This makes it easier to include meta-boot2qt to your own distro layer to get access e.g., QDB and QBSP recipes that might be useful even without boot2qt distro. Task-number: QTBUG-65871 Change-Id: I6c353774dd1668b00f2d05aa262ad866b90bdef6 Reviewed-by: Timo Aarnipuro --- meta-boot2qt/files/qbsp/toolchain_installscript.qs | 125 +++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 meta-boot2qt/files/qbsp/toolchain_installscript.qs (limited to 'meta-boot2qt/files/qbsp/toolchain_installscript.qs') diff --git a/meta-boot2qt/files/qbsp/toolchain_installscript.qs b/meta-boot2qt/files/qbsp/toolchain_installscript.qs new file mode 100644 index 0000000..4afab71 --- /dev/null +++ b/meta-boot2qt/files/qbsp/toolchain_installscript.qs @@ -0,0 +1,125 @@ +/**************************************************************************** +** +** Copyright (C) 2016 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the Boot to Qt meta layer. +** +** $QT_BEGIN_LICENSE:GPL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 or (at your option) any later version +** approved by the KDE Free Qt Foundation. The licenses are as published by +** the Free Software Foundation and appearing in the file LICENSE.GPL3 +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +function Component() +{ +} + +Component.prototype.createOperations = function() +{ + component.createOperations(); + + var device = "@MACHINE@" + var platform = "@NAME@" + var sysroot = "@SYSROOT@" + var target_sys = "@TARGET_SYS@" + var target = "@TARGET@" + var abi = "@ABI@" + var installPath = "@INSTALLPATH@/toolchain" + var sdkPath = "@SDKPATH@" + var sdkFile = "@SDKFILE@" + + var path = installer.value("TargetDir") + installPath; + if (systemInfo.kernelType !== "winnt") { + var script = path + "/" + sdkFile; + component.addOperation("Execute", "{0}", "chmod", "+x", script); + component.addOperation("Execute", "{0}", script, "-y", "-d", path, "UNDOEXECUTE", "rm", "-rf", path); + component.addOperation("Execute", "{0}", "/bin/rm", script); + } else { + path = path.replace(/\\/g,"/"); + component.addOperation("Replace", + path + "/sysroots/i686-pokysdk-mingw32/usr/bin/qt.conf", + sdkPath, path); + } + var basecomponent = component.name.substring(0, component.name.lastIndexOf(".")); + var toolchainId = "ProjectExplorer.ToolChain.Gcc:" + component.name; + var debuggerId = basecomponent + ".gdb"; + var qtId = basecomponent + ".qt"; + var icon = installer.value("B2QtDeviceIcon"); + var executableExt = ""; + var hostSysroot = "x86_64-pokysdk-linux"; + if (systemInfo.kernelType === "winnt") { + executableExt = ".exe"; + hostSysroot = "i686-pokysdk-mingw32"; + } + + component.addOperation("Execute", + ["@SDKToolBinary@", "addTC", + "--id", toolchainId + ".gcc", + "--name", "GCC (" + platform + " " + target + ")", + "--path", path + "/sysroots/" + hostSysroot + "/usr/bin/" + target_sys + "/" + target_sys + "-gcc" + executableExt, + "--abi", abi, + "--language", "1", + "UNDOEXECUTE", + "@SDKToolBinary@", "rmTC", "--id", toolchainId + ".gcc"]); + + component.addOperation("Execute", + ["@SDKToolBinary@", "addTC", + "--id", toolchainId + ".g++", + "--name", "G++ (" + platform + " " + target + ")", + "--path", path + "/sysroots/" + hostSysroot + "/usr/bin/" + target_sys + "/" + target_sys + "-g++" + executableExt, + "--abi", abi, + "--language", "2", + "UNDOEXECUTE", + "@SDKToolBinary@", "rmTC", "--id", toolchainId + ".g++"]); + + component.addOperation("Execute", + ["@SDKToolBinary@", "addDebugger", + "--id", debuggerId, + "--name", "GDB (" + platform + " " + target + ")", + "--engine", "1", + "--binary", path + "/sysroots/" + hostSysroot + "/usr/bin/" + target_sys + "/" + target_sys + "-gdb" + executableExt, + "--abis", abi, + "UNDOEXECUTE", + "@SDKToolBinary@", "rmDebugger", "--id", debuggerId]); + + component.addOperation("Execute", + ["@SDKToolBinary@", "addQt", + "--id", qtId, + "--name", platform + " " + target, + "--type", "Qdb.EmbeddedLinuxQt", + "--qmake", path + "/sysroots/" + hostSysroot + "/usr/bin/qmake" + executableExt, + "UNDOEXECUTE", + "@SDKToolBinary@", "rmQt", "--id", qtId]); + + component.addOperation("Execute", + ["@SDKToolBinary@", "addKit", + "--id", basecomponent, + "--name", platform + " " + target, + "--mkspec", "devices/linux-oe-generic-g++", + "--qt", qtId, + "--debuggerid", debuggerId, + "--sysroot", path + "/sysroots/" + sysroot, + "--devicetype", "QdbLinuxOsType", + "--Ctoolchain", toolchainId + ".gcc", + "--Cxxtoolchain", toolchainId + ".g++", + "--icon", icon, + "UNDOEXECUTE", + "@SDKToolBinary@", "rmKit", "--id", basecomponent]); +} -- cgit v1.2.3-54-g00ecf