| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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'
|
|
|
|
|
|
|
|
|
| |
specific includes like asm/types.h
Also adapt make/lib/gluegen-cpptask-android* files:
- Set C++ stdlib = libstdc++
- Set isysroot (same as sysroot)
- Add isystem: *_SYSROOT1_INC, *_SYSROOT1_INC_ARCH and *_SYSROOT1_INC/c++/v1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
headers (compile)
Utilizing '-sysroot' with the linker, we require standard FS layout.
'~/Android/Sdk/ndk/20.1.5948944/platforms/android-24/arch-arm64'
contains the proper std FS layout for libraries under usr/lib,
but lacks the header files.
We call this 'ANDROID_TOOLCHAIN_SYSROOT0' and shall be used for linking.
'~/Android/Sdk/ndk/20.1.5948944/toolchains/llvm/prebuilt/linux-x86_64/sysroot'
native libraries are not under std FS layout,
but headers are under std FS layout for compilation under usr/include.
We call this 'ANDROID_TOOLCHAIN_SYSROOT1' and shall be used for compilation.
Identified while working on openal-soft Android compilation,
where we need to pass ANDROID_TOOLCHAIN_SYSROOT0
|
|
|
|
|
|
|
|
|
| |
make/lib/gluegen-cpptask-android-<abi>.xml and scripts
All aligned now
- gluegen-cpptasks-android-aarch64.xml
- gluegen-cpptasks-android-armv6.xml (this has ld flag --no-undefined disabled, due to internal missing symbols)
- gluegen-cpptasks-android-x86.xml
|
|
|
|
| |
make/lib/gluegen-cpptasks-*
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
TARGET_PLATFORM_USRLIBS for crosscompilation
Android Crosscompilation Usage:
- TARGET_PLATFORM_ROOT -> TARGET_PLATFORM_SYSROOT
General
- TARGET_PLATFORM_SYSROOT Crosscompiler and system specified 'sysroot' (as in gcc --print-sysroot)
- TARGET_PLATFORM_USRROOT Additional optional user headers and libraries for target
- TARGET_PLATFORM_USRLIBS Actual location of target user libraries within TARGET_PLATFORM_USRROOT
- TARGET_JAVA_LIBS Actual location of the Java libraries within TARGET_PLATFORM_USRROOT
|
|
|