Support Linux x64 and RaspberryPi cross-compilation on Windows and macOS hosts. (#2575)

This commit is contained in:
Nikolay Igotti
2019-01-25 19:22:22 +03:00
committed by GitHub
parent 5894a37e4a
commit 59ae74200f
5 changed files with 86 additions and 56 deletions
+33 -6
View File
@@ -137,9 +137,28 @@ osVersionMin.ios_x64 = 9.0
# Linux x86-64.
llvmHome.linux_x64 = clang-llvm-6.0.1-linux-x86-64
libffiDir.linux_x64 = libffi-3.2.1-2-linux-x86-64
gccToolchain.linux_x64 = target-gcc-toolchain-3-linux-x86-64
targetToolchain.linux_x64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
libffiDir.linux_x64 = libffi-3.2.1-2-linux-x86-64
dependencies.linux_x64 = \
clang-llvm-6.0.1-linux-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
libffi-3.2.1-2-linux-x86-64
gccToolchain.mingw_x64 = target-gcc-toolchain-3-linux-x86-64
targetToolchain.mingw_x64-linux_x64 = msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1
dependencies.mingw_x64-linux_x64 = \
msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1 \
libffi-3.2.1-mingw-w64-x86-64 \
target-gcc-toolchain-3-linux-x86-64
gccToolchain.macos_x64 = target-gcc-toolchain-3-linux-x86-64
targetToolchain.macos_x64-linux_x64 = clang-llvm-6.0.1-darwin-macos
dependencies.macos_x64-linux_x64 = \
clang-llvm-6.0.1-darwin-macos \
libffi-3.2.1-3-darwin-macos \
target-gcc-toolchain-3-linux-x86-64
quadruple.linux_x64 = x86_64-unknown-linux-gnu
targetSysRoot.linux_x64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu/sysroot
@@ -151,7 +170,7 @@ llvmLtoNooptFlags.linux_x64 = -O1
llvmLtoDynamicFlags.linux_x64 = -relocation-model=pic
llvmLlcFlags.linux_x64 = -march=x86-64
linkerKonanFlags.linux_x64 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
--defsym __cxa_demangle=Konan_cxa_demangle
--defsym __cxa_demangle=Konan_cxa_demangle --no-threads
linkerOptimizationFlags.linux_x64 = --gc-sections
linkerNoDebugFlags.linux_x64 = -S
linkerDynamicFlags.linux_x64 = -shared
@@ -160,18 +179,26 @@ dynamicLinker.linux_x64 = /lib64/ld-linux-x86-64.so.2
entrySelector.linux_x64 = --defsym main=Konan_main
# targetSysRoot relative
abiSpecificLibraries.linux_x64 = ../lib64 lib64 usr/lib64
dependencies.linux_x64 = \
clang-llvm-6.0.1-linux-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
libffi-3.2.1-2-linux-x86-64
# Raspberry Pi
targetToolchain.linux_x64-linux_arm32_hfp = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
targetToolchain.mingw_x64-linux_arm32_hfp = msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1
targetToolchain.macos_x64-linux_arm32_hfp = clang-llvm-6.0.1-darwin-macos
dependencies.linux_x64-linux_arm32_hfp = \
clang-llvm-6.0.1-linux-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-1-raspberrypi \
libffi-3.2.1-2-linux-x86-64
dependencies.mingw_x64-linux_arm32_hfp = \
msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1 \
libffi-3.2.1-mingw-w64-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-1-raspberrypi
dependencies.macos_x64-linux_arm32_hfp = \
clang-llvm-6.0.1-darwin-macos \
libffi-3.2.1-3-darwin-macos \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-1-raspberrypi
quadruple.linux_arm32_hfp = armv6-unknown-linux-gnueabihf
entrySelector.linux_arm32_hfp = --defsym main=Konan_main