aboutsummaryrefslogtreecommitdiffstats
path: root/share/qbs/modules/cpp/android-gcc.qbs
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2018-10-12 13:17:46 +0200
committerChristian Kandeler <christian.kandeler@qt.io>2018-10-12 13:17:46 +0200
commit6f3e1896fa567bca8a9f3d35ea26cae518a9313e (patch)
tree7475ec4153bece275efc1a97d5fa7420aa07a880 /share/qbs/modules/cpp/android-gcc.qbs
parentec709675476e507ea094348091b0475084de976e (diff)
parentfa5e42f915211637da0d6461c9764962ee47f923 (diff)
Merge 1.12 into master
Diffstat (limited to 'share/qbs/modules/cpp/android-gcc.qbs')
-rw-r--r--share/qbs/modules/cpp/android-gcc.qbs27
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))