[KT-40584] Refactor LLVM dependency processing
Currently, Kotlin/Native is tightly tied to a single predefined LLVM distribution that is used by developers as well as users. We want to separate distribution into two (smaller for users and bigger for devs) and also provide a way for users to use their own LLVM distribution (e.g. system one). This commit adds this user-dev separation, yet without actual update of distributions.
This commit is contained in:
committed by
Sergey Bogolepov
parent
1615817905
commit
c409192b97
+31
-60
@@ -35,14 +35,28 @@ homeDependencyCache = .konan/cache
|
|||||||
# Appendix that is used for smaller version of LLVM distributions.
|
# Appendix that is used for smaller version of LLVM distributions.
|
||||||
reducedLlvmAppendix = compact
|
reducedLlvmAppendix = compact
|
||||||
|
|
||||||
|
predefinedLlvmDistributions = \
|
||||||
|
clang-llvm-8.0.0-linux-x86-64 \
|
||||||
|
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
||||||
|
clang-llvm-apple-8.0.0-darwin-macos
|
||||||
|
|
||||||
|
llvm.linux_x64.dev = clang-llvm-8.0.0-linux-x86-64
|
||||||
|
llvm.linux_x64.user = clang-llvm-8.0.0-linux-x86-64
|
||||||
|
|
||||||
|
llvm.mingw_x64.dev = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
|
llvm.mingw_x64.user = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
|
|
||||||
|
llvm.macos_x64.dev = clang-llvm-apple-8.0.0-darwin-macos
|
||||||
|
llvm.macos_x64.user = clang-llvm-apple-8.0.0-darwin-macos
|
||||||
|
|
||||||
clangDebugFlags = -O0
|
clangDebugFlags = -O0
|
||||||
llvmVersion.linux_x64 = 8.0.0
|
llvmVersion.linux_x64 = 8.0.0
|
||||||
llvmVersion.mingw_x64 = 8.0.1
|
llvmVersion.mingw_x64 = 8.0.1
|
||||||
# We follow Apple versioning convention here.
|
|
||||||
llvmVersion.macos_x64 = 8.0.0
|
llvmVersion.macos_x64 = 8.0.0
|
||||||
|
|
||||||
# Mac OS X.
|
# Mac OS X.
|
||||||
llvmHome.macos_x64 = clang-llvm-apple-8.0.0-darwin-macos
|
# Can be an absolute path instead of predefined value.
|
||||||
|
llvmHome.macos_x64 = $llvm.macos_x64.dev
|
||||||
targetToolchain.macos_x64 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64 = target-toolchain-xcode_11_5-macos_x64
|
||||||
libffiDir.macos_x64 = libffi-3.2.1-3-darwin-macos
|
libffiDir.macos_x64 = libffi-3.2.1-3-darwin-macos
|
||||||
additionalToolsDir.macos_x64 = xcode-addon-xcode_11_5-macos_x64
|
additionalToolsDir.macos_x64 = xcode-addon-xcode_11_5-macos_x64
|
||||||
@@ -66,8 +80,7 @@ osVersionMinFlagClang.macos_x64 = -mmacosx-version-min
|
|||||||
osVersionMin.macos_x64 = 10.11
|
osVersionMin.macos_x64 = 10.11
|
||||||
dependencies.macos_x64 = \
|
dependencies.macos_x64 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos \
|
||||||
lldb-2-macos \
|
lldb-2-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-macos_x64.default = \
|
target-sysroot-xcode_11_5-macos_x64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -82,8 +95,7 @@ xcode-addon-xcode_11_5-macos_x64.default = \
|
|||||||
# Apple's 32-bit iOS.
|
# Apple's 32-bit iOS.
|
||||||
targetToolchain.macos_x64-ios_arm32 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64-ios_arm32 = target-toolchain-xcode_11_5-macos_x64
|
||||||
dependencies.macos_x64-ios_arm32 = \
|
dependencies.macos_x64-ios_arm32 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-ios_arm32.default = \
|
target-sysroot-xcode_11_5-ios_arm32.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -108,8 +120,7 @@ osVersionMin.ios_arm32 = 9.0
|
|||||||
# Apple's 64-bit iOS.
|
# Apple's 64-bit iOS.
|
||||||
targetToolchain.macos_x64-ios_arm64 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64-ios_arm64 = target-toolchain-xcode_11_5-macos_x64
|
||||||
dependencies.macos_x64-ios_arm64 = \
|
dependencies.macos_x64-ios_arm64 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-ios_arm64.default = \
|
target-sysroot-xcode_11_5-ios_arm64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -137,8 +148,7 @@ osVersionMin.ios_arm64 = 9.0
|
|||||||
# Apple's iOS simulator.
|
# Apple's iOS simulator.
|
||||||
targetToolchain.macos_x64-ios_x64 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64-ios_x64 = target-toolchain-xcode_11_5-macos_x64
|
||||||
dependencies.macos_x64-ios_x64 = \
|
dependencies.macos_x64-ios_x64 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-ios_x64.default = \
|
target-sysroot-xcode_11_5-ios_x64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -163,8 +173,7 @@ osVersionMin.ios_x64 = 9.0
|
|||||||
# Apple's tvOS simulator.
|
# Apple's tvOS simulator.
|
||||||
targetToolchain.macos_x64-tvos_x64 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64-tvos_x64 = target-toolchain-xcode_11_5-macos_x64
|
||||||
dependencies.macos_x64-tvos_x64 = \
|
dependencies.macos_x64-tvos_x64 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-tvos_x64.default = \
|
target-sysroot-xcode_11_5-tvos_x64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -189,8 +198,7 @@ osVersionMin.tvos_x64 = 9.0
|
|||||||
# Apple's 64-bit tvOS.
|
# Apple's 64-bit tvOS.
|
||||||
targetToolchain.macos_x64-tvos_arm64 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64-tvos_arm64 = target-toolchain-xcode_11_5-macos_x64
|
||||||
dependencies.macos_x64-tvos_arm64 = \
|
dependencies.macos_x64-tvos_arm64 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-tvos_arm64.default = \
|
target-sysroot-xcode_11_5-tvos_arm64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -215,8 +223,7 @@ osVersionMin.tvos_arm64 = 9.0
|
|||||||
# watchOS armv7k
|
# watchOS armv7k
|
||||||
targetToolchain.macos_x64-watchos_arm32 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64-watchos_arm32 = target-toolchain-xcode_11_5-macos_x64
|
||||||
dependencies.macos_x64-watchos_arm32 = \
|
dependencies.macos_x64-watchos_arm32 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-watchos_arm32.default = \
|
target-sysroot-xcode_11_5-watchos_arm32.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -241,8 +248,7 @@ osVersionMin.watchos_arm32 = 5.0
|
|||||||
# watchOS arm64_32
|
# watchOS arm64_32
|
||||||
targetToolchain.macos_x64-watchos_arm64 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64-watchos_arm64 = target-toolchain-xcode_11_5-macos_x64
|
||||||
dependencies.macos_x64-watchos_arm64 = \
|
dependencies.macos_x64-watchos_arm64 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-watchos_arm64.default = \
|
target-sysroot-xcode_11_5-watchos_arm64.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -268,8 +274,7 @@ osVersionMin.watchos_arm64 = 5.0
|
|||||||
# Apple's watchOS i386 simulator.
|
# Apple's watchOS i386 simulator.
|
||||||
targetToolchain.macos_x64-watchos_x86 = target-toolchain-xcode_11_5-macos_x64
|
targetToolchain.macos_x64-watchos_x86 = target-toolchain-xcode_11_5-macos_x64
|
||||||
dependencies.macos_x64-watchos_x86 = \
|
dependencies.macos_x64-watchos_x86 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos
|
||||||
clang-llvm-apple-8.0.0-darwin-macos
|
|
||||||
|
|
||||||
target-sysroot-xcode_11_5-watchos_x86.default = \
|
target-sysroot-xcode_11_5-watchos_x86.default = \
|
||||||
remote:internal
|
remote:internal
|
||||||
@@ -296,13 +301,12 @@ osVersionMinFlagClang.watchos_x86 = -mwatchos-simulator-version-min
|
|||||||
osVersionMin.watchos_x86 = 5.0
|
osVersionMin.watchos_x86 = 5.0
|
||||||
|
|
||||||
# Linux x86-64.
|
# Linux x86-64.
|
||||||
llvmHome.linux_x64 = clang-llvm-8.0.0-linux-x86-64
|
llvmHome.linux_x64 = $llvm.linux_x64.dev
|
||||||
libffiDir.linux_x64 = libffi-3.2.1-2-linux-x86-64
|
libffiDir.linux_x64 = libffi-3.2.1-2-linux-x86-64
|
||||||
|
|
||||||
gccToolchain.linux_x64 = target-gcc-toolchain-3-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
|
targetToolchain.linux_x64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
|
||||||
dependencies.linux_x64 = \
|
dependencies.linux_x64 = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
libffi-3.2.1-2-linux-x86-64 \
|
libffi-3.2.1-2-linux-x86-64 \
|
||||||
lldb-2-linux
|
lldb-2-linux
|
||||||
@@ -310,14 +314,12 @@ dependencies.linux_x64 = \
|
|||||||
gccToolchain.mingw_x64 = target-gcc-toolchain-3-linux-x86-64
|
gccToolchain.mingw_x64 = target-gcc-toolchain-3-linux-x86-64
|
||||||
targetToolchain.mingw_x64-linux_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.mingw_x64-linux_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
dependencies.mingw_x64-linux_x64 = \
|
dependencies.mingw_x64-linux_x64 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
libffi-3.2.1-mingw-w64-x86-64 \
|
libffi-3.2.1-mingw-w64-x86-64 \
|
||||||
target-gcc-toolchain-3-linux-x86-64
|
target-gcc-toolchain-3-linux-x86-64
|
||||||
|
|
||||||
gccToolchain.macos_x64 = target-gcc-toolchain-3-linux-x86-64
|
gccToolchain.macos_x64 = target-gcc-toolchain-3-linux-x86-64
|
||||||
targetToolchain.macos_x64-linux_x64 = clang-llvm-apple-8.0.0-darwin-macos
|
targetToolchain.macos_x64-linux_x64 = $llvmHome.macos_x64
|
||||||
dependencies.macos_x64-linux_x64 = \
|
dependencies.macos_x64-linux_x64 = \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos \
|
||||||
target-gcc-toolchain-3-linux-x86-64
|
target-gcc-toolchain-3-linux-x86-64
|
||||||
|
|
||||||
@@ -342,19 +344,16 @@ abiSpecificLibraries.linux_x64 = ../lib64 lib64 usr/lib64
|
|||||||
# Raspberry Pi
|
# Raspberry Pi
|
||||||
targetToolchain.linux_x64-linux_arm32_hfp = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
|
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-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.mingw_x64-linux_arm32_hfp = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
targetToolchain.macos_x64-linux_arm32_hfp = clang-llvm-apple-8.0.0-darwin-macos
|
targetToolchain.macos_x64-linux_arm32_hfp = $llvmHome.macos_x64
|
||||||
dependencies.linux_x64-linux_arm32_hfp = \
|
dependencies.linux_x64-linux_arm32_hfp = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
target-sysroot-2-raspberrypi \
|
target-sysroot-2-raspberrypi \
|
||||||
libffi-3.2.1-2-linux-x86-64
|
libffi-3.2.1-2-linux-x86-64
|
||||||
dependencies.mingw_x64-linux_arm32_hfp = \
|
dependencies.mingw_x64-linux_arm32_hfp = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
libffi-3.2.1-mingw-w64-x86-64 \
|
libffi-3.2.1-mingw-w64-x86-64 \
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
target-sysroot-2-raspberrypi
|
target-sysroot-2-raspberrypi
|
||||||
dependencies.macos_x64-linux_arm32_hfp = \
|
dependencies.macos_x64-linux_arm32_hfp = \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos \
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
target-sysroot-2-raspberrypi
|
target-sysroot-2-raspberrypi
|
||||||
@@ -384,19 +383,16 @@ abiSpecificLibraries.linux_arm32_hfp = \
|
|||||||
# Linux arm64
|
# Linux arm64
|
||||||
targetToolchain.linux_x64-linux_arm64 = target-gcc-toolchain-3-linux-x86-64/x86_64-unknown-linux-gnu
|
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-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.mingw_x64-linux_arm64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
targetToolchain.macos_x64-linux_arm64 = clang-llvm-apple-8.0.0-darwin-macos
|
targetToolchain.macos_x64-linux_arm64 = $llvmHome.macos_x64
|
||||||
dependencies.linux_x64-linux_arm64 = \
|
dependencies.linux_x64-linux_arm64 = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
target-sysroot-1-linux-glibc-arm64 \
|
target-sysroot-1-linux-glibc-arm64 \
|
||||||
libffi-3.2.1-2-linux-x86-64
|
libffi-3.2.1-2-linux-x86-64
|
||||||
dependencies.mingw_x64-linux_arm64 = \
|
dependencies.mingw_x64-linux_arm64 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
libffi-3.2.1-mingw-w64-x86-64 \
|
libffi-3.2.1-mingw-w64-x86-64 \
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
target-sysroot-1-linux-glibc-arm64
|
target-sysroot-1-linux-glibc-arm64
|
||||||
dependencies.macos_x64-linux_arm64 = \
|
dependencies.macos_x64-linux_arm64 = \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos \
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
target-sysroot-1-linux-glibc-arm64
|
target-sysroot-1-linux-glibc-arm64
|
||||||
@@ -426,7 +422,6 @@ abiSpecificLibraries.linux_arm64 = \
|
|||||||
# MIPS
|
# MIPS
|
||||||
targetToolchain.linux_x64-linux_mips32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
|
targetToolchain.linux_x64-linux_mips32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
|
||||||
dependencies.linux_x64-linux_mips32 = \
|
dependencies.linux_x64-linux_mips32 = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-gcc-toolchain-2-linux-mips \
|
target-gcc-toolchain-2-linux-mips \
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
target-sysroot-2-mips \
|
target-sysroot-2-mips \
|
||||||
@@ -453,7 +448,6 @@ abiSpecificLibraries.linux_mips32 =
|
|||||||
# MIPSel
|
# MIPSel
|
||||||
targetToolchain.linux_x64-linux_mipsel32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
|
targetToolchain.linux_x64-linux_mipsel32 = target-gcc-toolchain-2-linux-mips/x86_64-unknown-linux-gnu
|
||||||
dependencies.linux_x64-linux_mipsel32 = \
|
dependencies.linux_x64-linux_mipsel32 = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-gcc-toolchain-2-linux-mips \
|
target-gcc-toolchain-2-linux-mips \
|
||||||
target-gcc-toolchain-3-linux-x86-64 \
|
target-gcc-toolchain-3-linux-x86-64 \
|
||||||
target-sysroot-2-mipsel \
|
target-sysroot-2-mipsel \
|
||||||
@@ -479,19 +473,16 @@ abiSpecificLibraries.linux_mipsel32 =
|
|||||||
# Android ARM32, based on NDK for android-21.
|
# Android ARM32, based on NDK for android-21.
|
||||||
targetToolchain.macos_x64-android_arm32 = target-toolchain-2-osx-android_ndk
|
targetToolchain.macos_x64-android_arm32 = target-toolchain-2-osx-android_ndk
|
||||||
dependencies.macos_x64-android_arm32 = \
|
dependencies.macos_x64-android_arm32 = \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-osx-android_ndk \
|
target-toolchain-2-osx-android_ndk \
|
||||||
libffi-3.2.1-3-darwin-macos
|
libffi-3.2.1-3-darwin-macos
|
||||||
targetToolchain.linux_x64-android_arm32 = target-toolchain-2-linux-android_ndk
|
targetToolchain.linux_x64-android_arm32 = target-toolchain-2-linux-android_ndk
|
||||||
dependencies.linux_x64-android_arm32 = \
|
dependencies.linux_x64-android_arm32 = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-linux-android_ndk \
|
target-toolchain-2-linux-android_ndk \
|
||||||
libffi-3.2.1-2-linux-x86-64
|
libffi-3.2.1-2-linux-x86-64
|
||||||
targetToolchain.mingw_x64-android_arm32 = target-toolchain-2-windows-android_ndk
|
targetToolchain.mingw_x64-android_arm32 = target-toolchain-2-windows-android_ndk
|
||||||
dependencies.mingw_x64-android_arm32 = \
|
dependencies.mingw_x64-android_arm32 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-windows-android_ndk \
|
target-toolchain-2-windows-android_ndk \
|
||||||
libffi-3.2.1-mingw-w64-x86-64
|
libffi-3.2.1-mingw-w64-x86-64
|
||||||
@@ -507,19 +498,16 @@ linkerKonanFlags.android_arm32 = -lm -lc++_static -lc++abi -landroid -llog -lato
|
|||||||
# Android ARM64, based on NDK.
|
# Android ARM64, based on NDK.
|
||||||
targetToolchain.macos_x64-android_arm64 = target-toolchain-2-osx-android_ndk
|
targetToolchain.macos_x64-android_arm64 = target-toolchain-2-osx-android_ndk
|
||||||
dependencies.macos_x64-android_arm64 = \
|
dependencies.macos_x64-android_arm64 = \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-osx-android_ndk \
|
target-toolchain-2-osx-android_ndk \
|
||||||
libffi-3.2.1-3-darwin-macos
|
libffi-3.2.1-3-darwin-macos
|
||||||
targetToolchain.linux_x64-android_arm64 = target-toolchain-2-linux-android_ndk
|
targetToolchain.linux_x64-android_arm64 = target-toolchain-2-linux-android_ndk
|
||||||
dependencies.linux_x64-android_arm64 = \
|
dependencies.linux_x64-android_arm64 = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-linux-android_ndk \
|
target-toolchain-2-linux-android_ndk \
|
||||||
libffi-3.2.1-2-linux-x86-64
|
libffi-3.2.1-2-linux-x86-64
|
||||||
targetToolchain.mingw_x64-android_arm64 = target-toolchain-2-windows-android_ndk
|
targetToolchain.mingw_x64-android_arm64 = target-toolchain-2-windows-android_ndk
|
||||||
dependencies.mingw_x64-android_arm64 = \
|
dependencies.mingw_x64-android_arm64 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-windows-android_ndk \
|
target-toolchain-2-windows-android_ndk \
|
||||||
libffi-3.2.1-mingw-w64-x86-64
|
libffi-3.2.1-mingw-w64-x86-64
|
||||||
@@ -535,19 +523,16 @@ linkerNoDebugFlags.android_arm64 = -Wl,-S
|
|||||||
# Android X86, based on NDK.
|
# Android X86, based on NDK.
|
||||||
targetToolchain.macos_x64-android_x86 = target-toolchain-2-osx-android_ndk
|
targetToolchain.macos_x64-android_x86 = target-toolchain-2-osx-android_ndk
|
||||||
dependencies.macos_x64-android_x86 = \
|
dependencies.macos_x64-android_x86 = \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-osx-android_ndk \
|
target-toolchain-2-osx-android_ndk \
|
||||||
libffi-3.2.1-3-darwin-macos
|
libffi-3.2.1-3-darwin-macos
|
||||||
targetToolchain.linux_x64-android_x86 = target-toolchain-2-linux-android_ndk
|
targetToolchain.linux_x64-android_x86 = target-toolchain-2-linux-android_ndk
|
||||||
dependencies.linux_x64-android_x86 = \
|
dependencies.linux_x64-android_x86 = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-linux-android_ndk \
|
target-toolchain-2-linux-android_ndk \
|
||||||
libffi-3.2.1-2-linux-x86-64
|
libffi-3.2.1-2-linux-x86-64
|
||||||
targetToolchain.mingw_x64-android_x86 = target-toolchain-2-windows-android_ndk
|
targetToolchain.mingw_x64-android_x86 = target-toolchain-2-windows-android_ndk
|
||||||
dependencies.mingw_x64-android_x86 = \
|
dependencies.mingw_x64-android_x86 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-windows-android_ndk \
|
target-toolchain-2-windows-android_ndk \
|
||||||
libffi-3.2.1-mingw-w64-x86-64
|
libffi-3.2.1-mingw-w64-x86-64
|
||||||
@@ -568,19 +553,16 @@ linkerNoDebugFlags.android_x86 = -Wl,-S
|
|||||||
# Android X64, based on NDK.
|
# Android X64, based on NDK.
|
||||||
targetToolchain.macos_x64-android_x64 = target-toolchain-2-osx-android_ndk
|
targetToolchain.macos_x64-android_x64 = target-toolchain-2-osx-android_ndk
|
||||||
dependencies.macos_x64-android_x64 = \
|
dependencies.macos_x64-android_x64 = \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-osx-android_ndk \
|
target-toolchain-2-osx-android_ndk \
|
||||||
libffi-3.2.1-3-darwin-macos
|
libffi-3.2.1-3-darwin-macos
|
||||||
targetToolchain.linux_x64-android_x64 = target-toolchain-2-linux-android_ndk
|
targetToolchain.linux_x64-android_x64 = target-toolchain-2-linux-android_ndk
|
||||||
dependencies.linux_x64-android_x64 = \
|
dependencies.linux_x64-android_x64 = \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-linux-android_ndk \
|
target-toolchain-2-linux-android_ndk \
|
||||||
libffi-3.2.1-2-linux-x86-64
|
libffi-3.2.1-2-linux-x86-64
|
||||||
targetToolchain.mingw_x64-android_x64 = target-toolchain-2-windows-android_ndk
|
targetToolchain.mingw_x64-android_x64 = target-toolchain-2-windows-android_ndk
|
||||||
dependencies.mingw_x64-android_x64 = \
|
dependencies.mingw_x64-android_x64 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
target-sysroot-1-android_ndk \
|
target-sysroot-1-android_ndk \
|
||||||
target-toolchain-2-windows-android_ndk \
|
target-toolchain-2-windows-android_ndk \
|
||||||
libffi-3.2.1-mingw-w64-x86-64
|
libffi-3.2.1-mingw-w64-x86-64
|
||||||
@@ -595,23 +577,18 @@ linkerNoDebugFlags.android_x64 = -Wl,-S
|
|||||||
|
|
||||||
|
|
||||||
# Windows x86-64, based on mingw-w64.
|
# Windows x86-64, based on mingw-w64.
|
||||||
llvmHome.mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
llvmHome.mingw_x64 = $llvm.mingw_x64.dev
|
||||||
targetToolchain.mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
libffiDir.mingw_x64 = libffi-3.2.1-mingw-w64-x86-64
|
libffiDir.mingw_x64 = libffi-3.2.1-mingw-w64-x86-64
|
||||||
|
|
||||||
targetToolchain.linux_x64-mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.linux_x64-mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
targetToolchain.macos_x64-mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.macos_x64-mingw_x64 = msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
dependencies.mingw_x64 = \
|
dependencies.mingw_x64 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
libffi-3.2.1-mingw-w64-x86-64 \
|
libffi-3.2.1-mingw-w64-x86-64 \
|
||||||
lldb-2-windows
|
lldb-2-windows
|
||||||
dependencies.linux_x64-mingw_x64 = \
|
dependencies.linux_x64-mingw_x64 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
libffi-3.2.1-2-linux-x86-64
|
libffi-3.2.1-2-linux-x86-64
|
||||||
dependencies.macos_x64-mingw_x64 = \
|
dependencies.macos_x64-mingw_x64 = \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
libffi-3.2.1-3-darwin-macos
|
libffi-3.2.1-3-darwin-macos
|
||||||
|
|
||||||
quadruple.mingw_x64 = x86_64-w64-mingw32
|
quadruple.mingw_x64 = x86_64-w64-mingw32
|
||||||
@@ -634,17 +611,14 @@ linkerOptimizationFlags.mingw_x64 = -Wl,--gc-sections
|
|||||||
targetToolchain.mingw_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.mingw_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
dependencies.mingw_x64-mingw_x86 = \
|
dependencies.mingw_x64-mingw_x86 = \
|
||||||
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
|
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
libffi-3.2.1-mingw-w64-x86-64
|
libffi-3.2.1-mingw-w64-x86-64
|
||||||
targetToolchain.linux_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.linux_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
targetToolchain.macos_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
|
targetToolchain.macos_x64-mingw_x86 = msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1
|
||||||
dependencies.linux_x64-mingw_x86 = \
|
dependencies.linux_x64-mingw_x86 = \
|
||||||
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
|
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
libffi-3.2.1-2-linux-x86-64
|
libffi-3.2.1-2-linux-x86-64
|
||||||
dependencies.macos_x64-mingw_x86 = \
|
dependencies.macos_x64-mingw_x86 = \
|
||||||
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
|
msys2-mingw-w64-i686-clang-llvm-lld-compiler_rt-8.0.1 \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
libffi-3.2.1-3-darwin-macos
|
libffi-3.2.1-3-darwin-macos
|
||||||
|
|
||||||
quadruple.mingw_x86 = i686-w64-mingw32
|
quadruple.mingw_x86 = i686-w64-mingw32
|
||||||
@@ -671,21 +645,18 @@ linkerOptimizationFlags.mingw_x86 = -Wl,--gc-sections
|
|||||||
targetToolchain.macos_x64-wasm32 = target-toolchain-3-macos-wasm
|
targetToolchain.macos_x64-wasm32 = target-toolchain-3-macos-wasm
|
||||||
dependencies.macos_x64-wasm32 = \
|
dependencies.macos_x64-wasm32 = \
|
||||||
libffi-3.2.1-3-darwin-macos \
|
libffi-3.2.1-3-darwin-macos \
|
||||||
clang-llvm-apple-8.0.0-darwin-macos \
|
|
||||||
target-sysroot-4-embedded \
|
target-sysroot-4-embedded \
|
||||||
target-toolchain-3-macos-wasm
|
target-toolchain-3-macos-wasm
|
||||||
|
|
||||||
targetToolchain.linux_x64-wasm32 = target-toolchain-2-linux-wasm
|
targetToolchain.linux_x64-wasm32 = target-toolchain-2-linux-wasm
|
||||||
dependencies.linux_x64-wasm32 = \
|
dependencies.linux_x64-wasm32 = \
|
||||||
libffi-3.2.1-2-linux-x86-64 \
|
libffi-3.2.1-2-linux-x86-64 \
|
||||||
clang-llvm-8.0.0-linux-x86-64 \
|
|
||||||
target-sysroot-4-embedded \
|
target-sysroot-4-embedded \
|
||||||
target-toolchain-2-linux-wasm
|
target-toolchain-2-linux-wasm
|
||||||
|
|
||||||
targetToolchain.mingw_x64-wasm32 = target-toolchain-2-mingw-wasm
|
targetToolchain.mingw_x64-wasm32 = target-toolchain-2-mingw-wasm
|
||||||
dependencies.mingw_x64-wasm32 = \
|
dependencies.mingw_x64-wasm32 = \
|
||||||
libffi-3.2.1-mingw-w64-x86-64 \
|
libffi-3.2.1-mingw-w64-x86-64 \
|
||||||
msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1 \
|
|
||||||
target-sysroot-4-embedded \
|
target-sysroot-4-embedded \
|
||||||
target-toolchain-2-mingw-wasm
|
target-toolchain-2-mingw-wasm
|
||||||
|
|
||||||
@@ -699,4 +670,4 @@ clangDebugFlags.wasm32 = -O0
|
|||||||
lld.wasm32 = --allow-undefined --no-entry --global-base=0 --no-threads --export-dynamic
|
lld.wasm32 = --allow-undefined --no-entry --global-base=0 --no-threads --export-dynamic
|
||||||
|
|
||||||
# The version of Kotlin/Native compiler
|
# The version of Kotlin/Native compiler
|
||||||
compilerVersion=@compilerVersion@
|
compilerVersion=@compilerVersion@
|
||||||
@@ -38,12 +38,27 @@ abstract class KonanPropertiesLoader(override val target: KonanTarget,
|
|||||||
val properties: Properties,
|
val properties: Properties,
|
||||||
private val baseDir: String? = null,
|
private val baseDir: String? = null,
|
||||||
private val host: KonanTarget = HostManager.host) : Configurables {
|
private val host: KonanTarget = HostManager.host) : Configurables {
|
||||||
open val dependencies get() = hostTargetList("dependencies")
|
private val predefinedLlvmDistributions: Set<String> =
|
||||||
|
properties.propertyList("predefinedLlvmDistributions").toSet()
|
||||||
|
|
||||||
|
private fun llvmDependencies(): List<String> {
|
||||||
|
// Store into variable to avoid repeated resolve.
|
||||||
|
val llvmHome = llvmHome
|
||||||
|
?: error("Undefined LLVM home!")
|
||||||
|
return when (llvmHome) {
|
||||||
|
in predefinedLlvmDistributions -> llvmHome
|
||||||
|
else -> null
|
||||||
|
}.let(::listOfNotNull)
|
||||||
|
}
|
||||||
|
|
||||||
|
open val dependencies: List<String>
|
||||||
|
get() = hostTargetList("dependencies") + llvmDependencies()
|
||||||
|
|
||||||
override fun downloadDependencies() {
|
override fun downloadDependencies() {
|
||||||
dependencyProcessor!!.run()
|
dependencyProcessor!!.run()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: We may want to add caching to avoid repeated resolve.
|
||||||
override fun targetString(key: String): String?
|
override fun targetString(key: String): String?
|
||||||
= properties.targetString(key, target)
|
= properties.targetString(key, target)
|
||||||
override fun targetList(key: String): List<String>
|
override fun targetList(key: String): List<String>
|
||||||
|
|||||||
@@ -19,19 +19,19 @@ package org.jetbrains.kotlin.konan.properties
|
|||||||
import org.jetbrains.kotlin.konan.target.*
|
import org.jetbrains.kotlin.konan.target.*
|
||||||
|
|
||||||
fun Properties.hostString(name: String, host: KonanTarget): String?
|
fun Properties.hostString(name: String, host: KonanTarget): String?
|
||||||
= this.propertyString(name, host.name)
|
= this.resolvablePropertyString(name, host.name)
|
||||||
|
|
||||||
fun Properties.hostList(name: String, host: KonanTarget): List<String>
|
fun Properties.hostList(name: String, host: KonanTarget): List<String>
|
||||||
= this.propertyList(name, host.name)
|
= this.resolvablePropertyList(name, host.name)
|
||||||
|
|
||||||
fun Properties.targetString(name: String, target: KonanTarget): String?
|
fun Properties.targetString(name: String, target: KonanTarget): String?
|
||||||
= this.propertyString(name, target.name)
|
= this.resolvablePropertyString(name, target.name)
|
||||||
|
|
||||||
fun Properties.targetList(name: String, target: KonanTarget): List<String>
|
fun Properties.targetList(name: String, target: KonanTarget): List<String>
|
||||||
= this.propertyList(name, target.name)
|
= this.resolvablePropertyList(name, target.name)
|
||||||
|
|
||||||
fun Properties.hostTargetString(name: String, target: KonanTarget, host: KonanTarget): String?
|
fun Properties.hostTargetString(name: String, target: KonanTarget, host: KonanTarget): String?
|
||||||
= this.propertyString(name, hostTargetSuffix(host, target))
|
= this.resolvablePropertyString(name, hostTargetSuffix(host, target))
|
||||||
|
|
||||||
fun Properties.hostTargetList(name: String, target: KonanTarget, host: KonanTarget): List<String>
|
fun Properties.hostTargetList(name: String, target: KonanTarget, host: KonanTarget): List<String>
|
||||||
= this.propertyList(name, hostTargetSuffix(host, target))
|
= this.resolvablePropertyList(name, hostTargetSuffix(host, target))
|
||||||
Reference in New Issue
Block a user