diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BinaryOptions.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BinaryOptions.kt index e5f0b619786..05e755d063c 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BinaryOptions.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BinaryOptions.kt @@ -50,6 +50,8 @@ object BinaryOptions : BinaryOptionRegistry() { val mimallocUseDefaultOptions by booleanOption() val mimallocUseCompaction by booleanOption() + + val compileBitcodeWithXcodeLlvm by booleanOption() } open class BinaryOption( diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BitcodeCompiler.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BitcodeCompiler.kt index a8229b8f0d4..e5ae9853779 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BitcodeCompiler.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/BitcodeCompiler.kt @@ -71,7 +71,7 @@ internal class BitcodeCompiler( } val bitcodePath = bitcodeFile.absoluteFile.normalize().path val objectPath = objectFile.absoluteFile.normalize().path - if (configurables is AppleConfigurables) { + if (configurables is AppleConfigurables && config.configuration.get(BinaryOptions.compileBitcodeWithXcodeLlvm) != false) { targetTool("clang++", *flags.toTypedArray(), bitcodePath, "-o", objectPath) } else { hostLlvmTool("clang++", *flags.toTypedArray(), bitcodePath, "-o", objectPath)