Hi, I'm trying to recompile the llvm binaries used...
# compiler
x
Hi, I'm trying to recompile the llvm binaries used by Kotlin Native from source code. I found that in the
kotlin-native/konan/konan.properties
file, there are two llvm binaries for one platform, which are distinguished by whether the file name contains the essentials keyword. I hope to understand the detailed differences between these two llvm versions, and how should I get two types of llvm binaries like
llvm-11.1.0-aarch64-macos-essentials-60
and
llvm-11.1.0-aarch64-macos-dev-60
on my MacBook through the
kotlin-native/tools/llvm_builder/package.py
script?
d
cc @svyatoslav.scherbina
s
Hi. Please note that LLVM 11 in Kotlin/Native is obsolete. Kotlin 2.1.0 uses LLVM 16 and Kotlin 2.2.0 will use LLVM 19. The difference between those artifacts is that
dev
includes additional development tools that are useful while developing and testing the compiler, while
essentials
includes only those parts that are necessary for the compiler to work. In other words, when compiling something with Kotlin/Native, only the
essentials
variant is downloaded. To build the
dev
variant, you don't need to pass additional arguments to
package.py
, that's the default. To build the
essentials
, add `--build-targets install-distribution --distribution-components $DISTRIBUTION_COMPONENTS`; see the documentation: https://github.com/JetBrains/kotlin/tree/master/kotlin-native/tools/llvm_builder#building-distribution-for-end-users
x
Thanks for your kind help!
👍 1