diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2018-10-12 13:17:46 +0200 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2018-10-12 13:17:46 +0200 |
commit | 6f3e1896fa567bca8a9f3d35ea26cae518a9313e (patch) | |
tree | 7475ec4153bece275efc1a97d5fa7420aa07a880 /share/qbs/modules/cpp/android-gcc.qbs | |
parent | ec709675476e507ea094348091b0475084de976e (diff) | |
parent | fa5e42f915211637da0d6461c9764962ee47f923 (diff) |
Merge 1.12 into master
Change-Id: I96c735aeda89e02f1fa9107ecfc10ebf4b554dbc
Diffstat (limited to 'share/qbs/modules/cpp/android-gcc.qbs')
-rw-r--r-- | share/qbs/modules/cpp/android-gcc.qbs | 27 |
1 files changed, 19 insertions, 8 deletions
diff --git a/share/qbs/modules/cpp/android-gcc.qbs b/share/qbs/modules/cpp/android-gcc.qbs index 18ca1c25d..e20f1e198 100644 --- a/share/qbs/modules/cpp/android-gcc.qbs +++ b/share/qbs/modules/cpp/android-gcc.qbs @@ -32,7 +32,9 @@ import qbs.File import qbs.FileInfo import qbs.ModUtils import qbs.TextFile +import qbs.Utilities import "../../modules/Android/ndk/utils.js" as NdkUtils +import 'gcc.js' as Gcc LinuxGCC { Depends { name: "Android.ndk" } @@ -43,11 +45,11 @@ LinuxGCC { rpaths: [rpathOrigin] property string toolchainDir: { - if (qbs.toolchain && qbs.toolchain.contains("clang")) - return "llvm-" + Android.ndk.toolchainVersionNumber; - if (["x86", "x86_64"].contains(Android.ndk.abi)) - return Android.ndk.abi + "-" + Android.ndk.toolchainVersionNumber; - return toolchainPrefix + Android.ndk.toolchainVersionNumber; + if (qbs.toolchain && qbs.toolchain.contains("clang")) { + return Utilities.versionCompare(Android.ndk.version, "10") <= 0 + ? "llvm-" + Android.ndk.toolchainVersionNumber : "llvm"; + } + return NdkUtils.getBinutilsPath(Android.ndk, toolchainTriple + "-") } property string cxxStlBaseDir: FileInfo.joinPaths(Android.ndk.ndkDir, "sources", "cxx-stl") @@ -126,8 +128,8 @@ LinuxGCC { enableExceptions: Android.ndk.appStl !== "system" enableRtti: Android.ndk.appStl !== "system" - commonCompilerFlags: NdkUtils.commonCompilerFlags(qbs.buildVariant, Android.ndk.abi, - Android.ndk.armMode) + commonCompilerFlags: NdkUtils.commonCompilerFlags(qbs.toolchain, qbs.buildVariant, + Android.ndk.abi, Android.ndk.armMode) linkerFlags: NdkUtils.commonLinkerFlags(Android.ndk.abi) @@ -171,7 +173,10 @@ LinuxGCC { includes.push(FileInfo.joinPaths(gnuStlBaseDir, "libs", Android.ndk.abi, "include")); includes.push(FileInfo.joinPaths(gnuStlBaseDir, "include", "backward")); } else if (Android.ndk.appStl.startsWith("c++_")) { - includes.push(FileInfo.joinPaths(llvmStlBaseDir, "libcxx", "include")); + if (Utilities.versionCompare(Android.ndk.version, "13") >= 0) + includes.push(FileInfo.joinPaths(llvmStlBaseDir, "include")); + else + includes.push(FileInfo.joinPaths(llvmStlBaseDir, "libcxx", "include")); includes.push(FileInfo.joinPaths(llvmStlBaseDir + "abi", "libcxxabi", "include")); } return includes; @@ -184,6 +189,12 @@ LinuxGCC { } return list; } + binutilsPath: FileInfo.joinPaths(Android.ndk.ndkDir, "toolchains", + NdkUtils.getBinutilsPath(Android.ndk, toolchainTriple + "-"), + "prebuilt", Android.ndk.hostArch, "bin"); + binutilsPathPrefix: Gcc.pathPrefix(binutilsPath, toolchainTriple + "-") + driverFlags: qbs.toolchain.contains("clang") + ? ["-gcc-toolchain", FileInfo.path(binutilsPath)].concat(base || []) : base syslibroot: FileInfo.joinPaths(Android.ndk.ndkDir, "platforms", Android.ndk.platform, "arch-" + NdkUtils.abiNameToDirName(Android.ndk.abi)) |