Skip to content

Commit

Permalink
Support linux/arm64 targets.
Browse files Browse the repository at this point in the history
  • Loading branch information
Nikolay Igotti authored and olonho committed Apr 26, 2019
1 parent e348e78 commit fe78fad
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 2 deletions.
5 changes: 3 additions & 2 deletions gradle.properties
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,9 @@ remoteRoot=konan_tests
kotlinCompilerRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_dev_Compiler),number:1.3.40-dev-2068,branch:default:true,pinned:true/artifacts/content/maven
kotlinVersion=1.3.40-dev-2068
testKotlinVersion=1.3.40-dev-2068
sharedRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_KotlinNativeShared_BuildAndTest),number:1.0-dev-28,branch:default:true,pinned:true/artifacts/content/maven
sharedVersion=1.0-dev-28
# See https://teamcity.jetbrains.com/project.html?projectId=Kotlin_KotlinNativeShared&tab=projectOverview
sharedRepo=https://teamcity.jetbrains.com/guestAuth/app/rest/builds/buildType:(id:Kotlin_KotlinNativeShared_BuildAndTest),number:1.0-dev-46,branch:default:true,pinned:true/artifacts/content/maven
sharedVersion=1.0-dev-46
konanVersion=1.3.0
org.gradle.jvmargs='-Dfile.encoding=UTF-8'
org.gradle.workers.max=4
Expand Down
42 changes: 42 additions & 0 deletions konan/konan.properties
Original file line number Diff line number Diff line change
Expand Up @@ -224,6 +224,48 @@ abiSpecificLibraries.linux_arm32_hfp = \
lib/arm-linux-gnueabihf \
usr/lib/arm-linux-gnueabihf

# Linux arm64
targetToolchain.linux_x64-linux_arm64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
targetToolchain.mingw_x64-linux_arm64 = msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1
targetToolchain.macos_x64-linux_arm64 = clang-llvm-6.0.1-darwin-macos
dependencies.linux_x64-linux_arm64 = \
clang-llvm-6.0.1-linux-x86-64 \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-1-linux-glibc-arm64 \
libffi-3.2.1-2-linux-x86-64
dependencies.mingw_x64-linux_arm64 = \
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-linux-glibc-arm64
dependencies.macos_x64-linux_arm64 = \
clang-llvm-6.0.1-darwin-macos \
libffi-3.2.1-3-darwin-macos \
target-gcc-toolchain-3-linux-x86-64 \
target-sysroot-1-linux-glibc-arm64

quadruple.linux_arm64 = aarch64-unknown-linux-gnu
entrySelector.linux_arm64 = --defsym main=Konan_main
linkerNoDebugFlags.linux_arm64 = -S
linkerDynamicFlags.linux_arm64 = -shared
linkerOptimizationFlags.linux_arm64 = --gc-sections
# From https://releases.linaro.org/components/toolchain/binaries/latest-7/aarch64-linux-gnu/.
targetSysRoot.linux_arm64 = target-sysroot-1-linux-glibc-arm64
# We could reuse host toolchain here.
linkerKonanFlags.linux_arm64 = -Bstatic -lstdc++ -Bdynamic -ldl -lm -lpthread \
--defsym __cxa_demangle=Konan_cxa_demangle
# targetSysroot-relative.
libGcc.linux_arm64 = usr/lib
llvmLtoFlags.linux_arm64 = -mcpu=cortex-a57
llvmLtoOptFlags.linux_arm64 = -O3 -function-sections
llvmLtoNooptFlags.linux_arm64 = -O1
llvmLtoDynamicFlags.linux_arm64 = -relocation-model=pic
dynamicLinker.linux_arm64 = /lib/ld-linux-aarch64.so.1
# targetSysRoot relative
abiSpecificLibraries.linux_arm64 = \
lib \
usr/lib

# MIPS
targetToolchain.linux_x64-linux_mips32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
dependencies.linux_x64-linux_mips32 = \
Expand Down

0 comments on commit fe78fad

Please sign in to comment.