From 2d2714c8de68172fd8874a574221fa2384124edd Mon Sep 17 00:00:00 2001 From: Pavel Punegov Date: Thu, 7 Dec 2023 17:13:22 +0100 Subject: [PATCH] [K/N] Move runtime bitcode files out of stdlib Native bitcode files were moved out of the stdlib to the default location of bitcode files in the dist. Now it is possible to build stdlib separately and once as a klib without bitcode files inside. --- .../org/jetbrains/kotlin/backend/konan/KonanConfig.kt | 1 + kotlin-native/build.gradle | 1 - kotlin-native/runtime/build.gradle.kts | 9 --------- .../org/jetbrains/kotlin/konan/target/Distribution.kt | 4 ++-- 4 files changed, 3 insertions(+), 12 deletions(-) diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt index 9a583c722fd..59d413b9ba7 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanConfig.kt @@ -341,6 +341,7 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration internal val runtimeNativeLibraries: List = mutableListOf().apply { if (debug) add("debug.bc") + add("runtime.bc") add("mm.bc") add("common_alloc.bc") add("common_gc.bc") diff --git a/kotlin-native/build.gradle b/kotlin-native/build.gradle index b7c3770b9ea..712b4d8f96c 100644 --- a/kotlin-native/build.gradle +++ b/kotlin-native/build.gradle @@ -429,7 +429,6 @@ targetList.each { target -> from(bitcodeFiles) { include("*.bc") - exclude("runtime.bc") into("$target/native") } } diff --git a/kotlin-native/runtime/build.gradle.kts b/kotlin-native/runtime/build.gradle.kts index 6a6e49bd184..438f93628b7 100644 --- a/kotlin-native/runtime/build.gradle.kts +++ b/kotlin-native/runtime/build.gradle.kts @@ -579,15 +579,6 @@ targetList.forEach { targetName -> into(project.layout.buildDirectory.dir("${targetName}Stdlib")) from(project.layout.buildDirectory.dir("stdlib/${hostName}/stdlib")) - val runtimeFiles = runtimeBitcode.incoming.artifactView { - attributes { - attribute(TargetWithSanitizer.TARGET_ATTRIBUTE, project.platformManager.targetByName(targetName).withSanitizer()) - } - }.files - from(runtimeFiles) { - include("runtime.bc", "compiler_interface.bc") - into("default/targets/$targetName/native") - } if (targetName != hostName) { doLast { diff --git a/native/utils/src/org/jetbrains/kotlin/konan/target/Distribution.kt b/native/utils/src/org/jetbrains/kotlin/konan/target/Distribution.kt index 00c366d9b06..48978107127 100644 --- a/native/utils/src/org/jetbrains/kotlin/konan/target/Distribution.kt +++ b/native/utils/src/org/jetbrains/kotlin/konan/target/Distribution.kt @@ -90,10 +90,10 @@ class Distribution private constructor(private val serialized: Serialized) : jav fun defaultNatives(target: KonanTarget) = "$konanHome/konan/targets/${target.visibleName}/native" - fun runtime(target: KonanTarget) = runtimeFileOverride ?: "$stdlibDefaultComponent/targets/${target.visibleName}/native/runtime.bc" + fun runtime(target: KonanTarget) = runtimeFileOverride ?: "${defaultNatives(target)}/runtime.bc" fun compilerInterface(target: KonanTarget) = - runtimeFileOverride ?: "$stdlibDefaultComponent/targets/${target.visibleName}/native/compiler_interface.bc" + runtimeFileOverride ?: "${defaultNatives(target)}/compiler_interface.bc" fun platformDefs(target: KonanTarget) = "$konanHome/konan/platformDef/${target.visibleName}"