summaryrefslogtreecommitdiffstats
path: root/make/lib/gluegen-cpptasks-android-aarch64.xml
Commit message (Collapse)AuthorAgeFilesLines
* make/lib/gluegen-cpptasks* set 'is64Bit' where appropriate (no impact, but ↵Sven Gothel2020-01-011-0/+1
| | | | added for correctness)
* Bug 1417 - Android: Add ANDROID_TOOLCHAIN_SYSROOT1_INC_STL for LLVM's C++ ↵Sven Gothel2019-12-241-8/+5
| | | | | | | | | | | | | | | | | | | 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'
* Bug 1417 - Android: Add ANDROID_TOOLCHAIN_SYSROOT1_INC_ARCH for arch ↵Sven Gothel2019-12-241-0/+9
| | | | | | | | | 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
* Bug 1417 - Android: Classify SYSROOTs in NDK for native libraries (link) and ↵Sven Gothel2019-12-231-6/+5
| | | | | | | | | | | | | | | | | | | 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
* Bug 1417 - Android: Complete 1st round: ↵Sven Gothel2019-12-101-29/+21
| | | | | | | | | 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
* Bug 1417 - Android: Support building using current SDK and NDK v20 as of ↵Sven Gothel2019-12-101-46/+54
| | | | | | | | | | | | | | | 2019-12-10 (GlueGen w/ android-aarch64 patched) Default Platform: Android 7.0 Nougat, API level 24 supports Java 1.8 Reworked gluegen/make/scripts/setenv-android-tools.sh, following canonical environment variables and sets all required variables for cross-compilation. See file's comments! ant files: - android.version -> android.api.level (default 24) - android.jar defaults to ${gluegen.root}/make/lib/android-sdk/24/android.jar (provided)
* Bug 1363: Java 11: Adopt java.lib.dir.platform changes to ↵Sven Gothel2019-08-181-1/+5
| | | | make/lib/gluegen-cpptasks-*
* Bug 1190: Define TARGET_PLATFORM_SYSROOT TARGET_PLATFORM_USRROOT ↵Sven Gothel2019-04-081-2/+2
| | | | | | | | | | | | | 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
* GCC Linker Config: Add '-static-libstdc++' in case libstdc++ is being linkedSven Gothel2015-07-191-1/+2
| | | | | Linking libstdc++ dynamically might cause issues on platforms where a huge variation of named library exists - or none even is installed.
* Fix using GlueGen's JNI header for native compilation (java.includes.dir, ↵Sven Gothel2015-07-141-1/+1
| | | | | | | | | | java.includes.dir.platform) Patch custom make/lib/gluegen-cpptasks-<OS>-<ARCH>.xml to match using GlueGen's JNI header. Remove 'ignored override' defs of 'java.includes.dir.platform' in build.xml.
* Fix Android ARM64 Support: Don't define 'isAndroidARMv6:=false', since ↵Sven Gothel2015-07-131-1/+0
| | | | | | properties are tested whether they are set, rarely by value isAndroidARMv6
* Bug 1122: Reflect __LP64__ and _aarch64__ in GlueGen's stdint/stddef and ↵Sven Gothel2015-01-301-13/+31
| | | | Android compilerflags
* Bug 1122: Add AArch64 support (Android, GNU/Linux and in general)Sven Gothel2015-01-301-0/+123
- Add AArch64 detection via - Elf Parser - Android properties - Java properties - Android: Validate CPUType.Family _and_ ABIType - MachineDescription - Remove redundant Type ID and its field - Reuse X86_64_UNIX for AArch64 (static config) New ARCH 'aarch64' for ant: <os arch> armv8a aarch64 New CPUType.ARM64 (ARM): java: os.arch aarch64 arm64 New CPUType.ARMv8_A (ARM): java: os.arch armv8-a arm64-v8a New ABIType: EABI_AARCH64