Refactor Android, android_x64 support. (#3306)

This commit is contained in:
Nikolay Igotti
2019-09-04 14:50:14 +03:00
committed by GitHub
parent ee4dbfaa67
commit 66b813a6a2
11 changed files with 136 additions and 70 deletions
+55 -30
View File
@@ -343,63 +343,88 @@ dynamicLinker.linux_mipsel32 = /lib/ld.so.1
abiSpecificLibraries.linux_mipsel32 =
# Android ARM32, based on NDK for android-21.
targetToolchain.macos_x64-android_arm32 = target-toolchain-21-osx-android_arm32
# TODO: split dependencies to host-dependent and host-independent parts.
targetToolchain.macos_x64-android_arm32 = target-toolchain-1-osx-android_ndk
dependencies.macos_x64-android_arm32 = \
clang-llvm-6.0.1-darwin-macos \
target-sysroot-21-android_arm32 \
target-toolchain-21-osx-android_arm32 \
target-sysroot-1-android_ndk \
target-toolchain-1-osx-android_ndk \
libffi-3.2.1-3-darwin-macos
targetToolchain.linux_x64-android_arm32 = target-toolchain-21-linux-android_arm32
targetToolchain.linux_x64-android_arm32 = target-toolchain-1-linux-android_ndk
dependencies.linux_x64-android_arm32 = \
clang-llvm-6.0.1-linux-x86-64 \
target-sysroot-21-android_arm32 \
target-toolchain-21-linux-android_arm32 \
target-sysroot-1-android_ndk \
target-toolchain-1-linux-android_ndk \
libffi-3.2.1-2-linux-x86-64
targetToolchain.mingw_x64-android_arm32 = target-toolchain-21-windows-android_arm32
targetToolchain.mingw_x64-android_arm32 = target-toolchain-1-windows-android_ndk
dependencies.mingw_x64-android_arm32 = \
msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1-2 \
target-sysroot-21-android_arm32 \
target-toolchain-21-windows-android_arm32 \
target-sysroot-1-android_ndk \
target-toolchain-1-windows-android_ndk \
libffi-3.2.1-mingw-w64-x86-64
quadruple.android_arm32 = arm-linux-androideabi
entrySelector.android_arm32 = -Wl,--defsym -Wl,main=Konan_main
entrySelector.android_arm32 = -Wl,--defsym -Wl,main=Konan_main
clangFlags.android_arm32 = -cc1 -target-cpu arm7tdmi -emit-obj -disable-llvm-optzns -x ir -femulated-tls -mrelocation-model pic
clangOptFlags.android_arm32 = -O3 -ffunction-sections
linkerNoDebugFlags.android_arm32 = -Wl,-S
clangNooptFlags.android_arm32 = -O1
targetSysRoot.android_arm32 = target-sysroot-21-android_arm32
linkerKonanFlags.android_arm32 = -lm -latomic -lstdc++ -landroid
targetSysRoot.android_arm32 = target-sysroot-1-android_ndk
linkerKonanFlags.android_arm32 = -lm -lstdc++ -landroid -llog -latomic
# Android ARM64, based on NDK for android-21.
targetToolchain.macos_x64-android_arm64 = target-toolchain-21-osx-android_arm64
# TODO: split dependencies to host-dependent and host-independent parts.
dependencies.macos_x64-android_arm64 = \
# Android ARM64, based on NDK.
targetToolchain.macos_x64-android_x64 = target-toolchain-1-osx-android_ndk
dependencies.macos_x64-android_x64 = \
clang-llvm-6.0.1-darwin-macos \
target-sysroot-21-android_arm64 \
target-toolchain-21-osx-android_arm64 \
target-sysroot-1-android_ndk \
target-toolchain-1-osx-android_ndk \
libffi-3.2.1-3-darwin-macos
targetToolchain.linux_x64-android_arm64 = target-toolchain-21-linux-android_arm64
dependencies.linux_x64-android_arm64 = \
targetToolchain.linux_x64-android_x64 = target-toolchain-1-linux-android_ndk
dependencies.linux_x64-android_x64 = \
clang-llvm-6.0.1-linux-x86-64 \
target-sysroot-21-android_arm64 \
target-toolchain-21-linux-android_arm64 \
target-sysroot-1-android_ndk \
target-toolchain-1-linux-android_ndk \
libffi-3.2.1-2-linux-x86-64
targetToolchain.mingw_x64-android_arm64 = target-toolchain-21-windows-android_arm64
dependencies.mingw_x64-android_arm64 = \
targetToolchain.mingw_x64-android_x64 = target-toolchain-1-windows-android_ndk
dependencies.mingw_x64-android_x64 = \
msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1-2 \
target-sysroot-21-android_arm64 \
target-toolchain-21-windows-android_arm64 \
target-sysroot-1-android_ndk \
target-toolchain-1-windows-android_ndk \
libffi-3.2.1-mingw-w64-x86-64
quadruple.android_arm64 = aarch64-linux-android
entrySelector.android_arm64 = -Wl,--defsym -Wl,main=Konan_main
clangFlags.android_arm64 = -cc1 -target-cpu cortex-a57 -emit-obj -disable-llvm-passes -x ir -femulated-tls -mrelocation-model pic
targetSysRoot.android_arm64 = target-sysroot-21-android_arm64
linkerKonanFlags.android_arm64 = -lm -latomic -lstdc++ -landroid
targetSysRoot.android_arm64 = target-sysroot-1-android_ndk
linkerKonanFlags.android_arm64 = -lm -lstdc++ -landroid -llog -latomic
linkerNoDebugFlags.android_arm64 = -Wl,-S
# Android X64, based on NDK.
targetToolchain.macos_x64-android_arm64 = target-toolchain-1-osx-android_ndk
dependencies.macos_x64-android_arm64 = \
clang-llvm-6.0.1-darwin-macos \
target-sysroot-1-android_ndk \
target-toolchain-1-osx-android_ndk \
libffi-3.2.1-3-darwin-macos
targetToolchain.linux_x64-android_arm64 = target-toolchain-1-linux-android_ndk
dependencies.linux_x64-android_arm64 = \
clang-llvm-6.0.1-linux-x86-64 \
target-sysroot-1-android_ndk \
target-toolchain-1-linux-android_ndk \
libffi-3.2.1-2-linux-x86-64
targetToolchain.mingw_x64-android_arm64 = target-toolchain-1-windows-android_ndk
dependencies.mingw_x64-android_arm64 = \
msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1-2 \
target-sysroot-1-android_ndk \
target-toolchain-1-windows-android_ndk \
libffi-3.2.1-mingw-w64-x86-64
quadruple.android_x64 = x86_64-linux-android
entrySelector.android_x64 = -Wl,--defsym -Wl,main=Konan_main
clangFlags.android_x64 = -cc1 -target-cpu x86-64 -emit-obj -disable-llvm-passes -x ir -femulated-tls -mrelocation-model pic
targetSysRoot.android_x64 = target-sysroot-1-android_ndk
linkerKonanFlags.android_x64 = -lm -lstdc++ -landroid -llog -latomic
linkerNoDebugFlags.android_ax64 = -Wl,-S
# Windows x86-64, based on mingw-w64.
llvmHome.mingw_x64 = msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1-2
targetToolchain.mingw_x64 = msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1-2
@@ -508,4 +533,4 @@ llcNooptFlags.wasm32 = -O1
llcOptFlags.wasm32 = -O3
llcDebugFlags.wasm32 = -O0
# TODO: make explicit list of external symbols
lld.wasm32 = --allow-undefined --no-entry --global-base=0 --no-threads
lld.wasm32 = --allow-undefined --no-entry --global-base=0 --no-threads