summaryrefslogtreecommitdiffstats
path: root/make/lib
diff options
context:
space:
mode:
authorSven Gothel <[email protected]>2019-12-24 08:51:08 +0100
committerSven Gothel <[email protected]>2019-12-24 08:51:08 +0100
commitae4cdcf3490a1bf493f39ab5c8c6b596d3af71de (patch)
tree84e69929e7293162cd0d8c2102093c7743bf1025 /make/lib
parentaeae740ba2569d839820bfc20c43a8550ab8ed33 (diff)
Bug 1417 - Android: Add ANDROID_TOOLCHAIN_SYSROOT1_INC_STL for LLVM's C++ STL headers (default since NDK r18)
Using LLVM's c++_shared as of NDK r18: https://developer.android.com/ndk/guides/cpp-support.html LLVM's c++ headers must come before other system header! Also see https://github.com/android/ndk/issues/452 and https://gitlab.kitware.com/cmake/cmake/issues/17059 Also adapt make/lib/gluegen-cpptask-android* files: - Compiler -- align for potential C++ usage, i.e.: -- don't use '-sysroot' not '-isysroot' -- IF using C++ STL, prepend ANDROID_TOOLCHAIN_SYSROOT1_INC_STL -- just add normal sysroot headers via '-isystem' - Linker -- Use ANDROID_TOOLCHAIN_SYSROOT1_LIB1 and ANDROID_TOOLCHAIN_SYSROOT1_LIB2 for '-L' search path -- where ANDROID_TOOLCHAIN_SYSROOT1_LIB2 is for 'libc++' -> 'c++_shared'
Diffstat (limited to 'make/lib')
-rw-r--r--make/lib/gluegen-cpptasks-android-aarch64.xml13
-rw-r--r--make/lib/gluegen-cpptasks-android-armv6.xml13
-rw-r--r--make/lib/gluegen-cpptasks-android-x86.xml13
3 files changed, 15 insertions, 24 deletions
diff --git a/make/lib/gluegen-cpptasks-android-aarch64.xml b/make/lib/gluegen-cpptasks-android-aarch64.xml
index ef4d9ff..7248d7a 100644
--- a/make/lib/gluegen-cpptasks-android-aarch64.xml
+++ b/make/lib/gluegen-cpptasks-android-aarch64.xml
@@ -33,16 +33,12 @@
<target name="gluegen.cpptasks.configure.compiler" depends="setup.java.home.dir,declare.linux.android">
<echo message="Custom forced compiler Android NDK, linker.cfg.android" />
<compiler id="compiler.cfg.android" name="clang">
- <compilerarg value="--sysroot=${env.ANDROID_TOOLCHAIN_SYSROOT1}" /> <!-- include files, but libs not in std FS layout -->
- <compilerarg value="-stdlib=libstdc++"/>
- <compilerarg value="-isysroot"/>
- <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1}" />
+ <!-- compilerarg value="-isystem"/> LLVM's C++ STL
+ <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC_STL}" / -->
<compilerarg value="-isystem"/>
<compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC}" />
<compilerarg value="-isystem"/>
<compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH}" />
- <compilerarg value="-isystem"/>
- <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC}/c++/v1" />
<compilerarg value="-v" />
@@ -94,8 +90,9 @@
<linker id="linker.cfg.android" name="clang">
<linkerarg value="--sysroot=${env.ANDROID_TOOLCHAIN_SYSROOT0}" /> <!-- libs in std FS layout, but no include files -->
- <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT0_LIB}" />
- <linkerarg value="-Wl,-rpath-link=${env.ANDROID_TOOLCHAIN_SYSROOT0_LIB}" />
+ <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB1}" />
+ <linkerarg value="-Wl,-rpath-link=${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB1}" />
+ <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB2}" />
<linkerarg value="-v" />
diff --git a/make/lib/gluegen-cpptasks-android-armv6.xml b/make/lib/gluegen-cpptasks-android-armv6.xml
index fd8109c..ca95a96 100644
--- a/make/lib/gluegen-cpptasks-android-armv6.xml
+++ b/make/lib/gluegen-cpptasks-android-armv6.xml
@@ -33,16 +33,12 @@
<target name="gluegen.cpptasks.configure.compiler" depends="setup.java.home.dir,declare.linux.android">
<echo message="Custom forced compiler Android NDK, linker.cfg.android" />
<compiler id="compiler.cfg.android" name="clang">
- <compilerarg value="--sysroot=${env.ANDROID_TOOLCHAIN_SYSROOT1}" /> <!-- include files, but libs not in std FS layout -->
- <compilerarg value="-stdlib=libstdc++"/>
- <compilerarg value="-isysroot"/>
- <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1}" />
+ <!-- compilerarg value="-isystem"/> LLVM's C++ STL
+ <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC_STL}" / -->
<compilerarg value="-isystem"/>
<compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC}" />
<compilerarg value="-isystem"/>
<compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH}" />
- <compilerarg value="-isystem"/>
- <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC}/c++/v1" />
<compilerarg value="-v" />
@@ -96,8 +92,9 @@
<linker id="linker.cfg.android" name="clang">
<linkerarg value="--sysroot=${env.ANDROID_TOOLCHAIN_SYSROOT0}" /> <!-- libs in std FS layout, but no include files -->
- <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT0_LIB}" />
- <linkerarg value="-Wl,-rpath-link=${env.ANDROID_TOOLCHAIN_SYSROOT0_LIB}" />
+ <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB1}" />
+ <linkerarg value="-Wl,-rpath-link=${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB1}" />
+ <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB2}" />
<linkerarg value="-v" />
diff --git a/make/lib/gluegen-cpptasks-android-x86.xml b/make/lib/gluegen-cpptasks-android-x86.xml
index baedfc1..8b53635 100644
--- a/make/lib/gluegen-cpptasks-android-x86.xml
+++ b/make/lib/gluegen-cpptasks-android-x86.xml
@@ -32,16 +32,12 @@
<target name="gluegen.cpptasks.configure.compiler" depends="setup.java.home.dir,declare.linux.android">
<echo message="Custom forced compiler Android NDK, linker.cfg.android" />
<compiler id="compiler.cfg.android" name="clang">
- <compilerarg value="--sysroot=${env.ANDROID_TOOLCHAIN_SYSROOT1}" /> <!-- include files, but libs not in std FS layout -->
- <compilerarg value="-stdlib=libstdc++"/>
- <compilerarg value="-isysroot"/>
- <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1}" />
+ <!-- compilerarg value="-isystem"/> LLVM's C++ STL
+ <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC_STL}" / -->
<compilerarg value="-isystem"/>
<compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC}" />
<compilerarg value="-isystem"/>
<compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH}" />
- <compilerarg value="-isystem"/>
- <compilerarg value="${env.ANDROID_TOOLCHAIN_SYSROOT1_INC}/c++/v1" />
<compilerarg value="-v" />
@@ -91,8 +87,9 @@
<linker id="linker.cfg.android" name="clang">
<linkerarg value="--sysroot=${env.ANDROID_TOOLCHAIN_SYSROOT0}" /> <!-- libs in std FS layout, but no include files -->
- <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT0_LIB}" />
- <linkerarg value="-Wl,-rpath-link=${env.ANDROID_TOOLCHAIN_SYSROOT0_LIB}" />
+ <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB1}" />
+ <linkerarg value="-Wl,-rpath-link=${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB1}" />
+ <linkerarg value="-L${env.ANDROID_TOOLCHAIN_SYSROOT1_LIB2}" />
<linkerarg value="-v" />