diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2019-02-13 11:14:00 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2019-02-13 10:49:01 +0000 |
commit | bd1fbf43096d372a671d10bfe3b9fb227104bdde (patch) | |
tree | 7efdb2d16303a8bd7883a71100840f0381dc4354 /share/qbs | |
parent | 9e9fb5997a36c9e0ea4847b56c6d107996b131a8 (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/qbs')
-rw-r--r-- | share/qbs/modules/cpp/android-gcc.qbs | 16 |
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; } |