aboutsummaryrefslogtreecommitdiffstats
path: root/share
diff options
context:
space:
mode:
authorChristian Kandeler <christian.kandeler@qt.io>2019-02-13 11:14:00 +0100
committerChristian Kandeler <christian.kandeler@qt.io>2019-02-13 10:49:01 +0000
commitbd1fbf43096d372a671d10bfe3b9fb227104bdde (patch)
tree7efdb2d16303a8bd7883a71100840f0381dc4354 /share
parent9e9fb5997a36c9e0ea4847b56c6d107996b131a8 (diff)
Android: Fix libc++abi issues
- Fix include path for NDK >= r13. - Link against libc++abi.a when using the "c++_shared" STL variant. Fixes: QBS-1423 Change-Id: I70a9fcf54c7042ba4639276139254df8eefa662b Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
Diffstat (limited to 'share')
-rw-r--r--share/qbs/modules/cpp/android-gcc.qbs16
1 files changed, 12 insertions, 4 deletions
diff --git a/share/qbs/modules/cpp/android-gcc.qbs b/share/qbs/modules/cpp/android-gcc.qbs
index 3d6bdb6e2..7079d95b4 100644
--- a/share/qbs/modules/cpp/android-gcc.qbs
+++ b/share/qbs/modules/cpp/android-gcc.qbs
@@ -152,8 +152,14 @@ LinuxGCC {
}
staticLibraries: {
var libs = ["gcc"];
- if (staticStlFilePath)
+ if (staticStlFilePath) {
libs.push(staticStlFilePath);
+ if (Android.ndk.appStl === "c++_static") {
+ var libAbi = FileInfo.joinPaths(stlLibsDir, "libc++abi.a");
+ if (File.exists(libAbi))
+ libs.push(libAbi);
+ }
+ }
return libs;
}
systemIncludePaths: {
@@ -173,11 +179,13 @@ 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++_")) {
- if (Utilities.versionCompare(Android.ndk.version, "13") >= 0)
+ if (Utilities.versionCompare(Android.ndk.version, "13") >= 0) {
includes.push(FileInfo.joinPaths(llvmStlBaseDir, "include"));
- else
+ includes.push(FileInfo.joinPaths(llvmStlBaseDir + "abi", "include"));
+ } else {
includes.push(FileInfo.joinPaths(llvmStlBaseDir, "libcxx", "include"));
- includes.push(FileInfo.joinPaths(llvmStlBaseDir + "abi", "libcxxabi", "include"));
+ includes.push(FileInfo.joinPaths(llvmStlBaseDir + "abi", "libcxxabi", "include"));
+ }
}
return includes;
}