diff --git a/kotlin-native/endorsedLibraries/build.gradle b/kotlin-native/endorsedLibraries/build.gradle index 1ce60114e6e..c608f3a2f62 100644 --- a/kotlin-native/endorsedLibraries/build.gradle +++ b/kotlin-native/endorsedLibraries/build.gradle @@ -78,7 +78,7 @@ targetList.each { target -> compilerDistributionPath.set(distDir) // TODO: should depend on stdlib producer task and its properties def clibs = [:] - clibs.put(project.file("$dist/klib/common/stdlib"), project.file("$dist/klib/cache/${target}-gSTATIC/stdlib-cache")) + clibs.put(project.file("$dist/klib/common/stdlib"), project.file("$dist/klib/cache/${target}-g$cacheKind/stdlib-cache")) cachedLibraries = clibs dependsOn "$library.projectName:${target}${library.taskName}" diff --git a/kotlin-native/runtime/build.gradle.kts b/kotlin-native/runtime/build.gradle.kts index 042da5ac98b..18be74991ee 100644 --- a/kotlin-native/runtime/build.gradle.kts +++ b/kotlin-native/runtime/build.gradle.kts @@ -408,18 +408,18 @@ lateinit var stdlibBuildTask: TaskProvider konanArtifacts { library("stdlib") { baseDir(project.buildDir.resolve("stdlib")) + enableMultiplatform(true) extraOpts(args + project.globalBuildArgs) extraOpts( "-module-name", "stdlib", - "-Xmulti-platform", "-opt-in=kotlin.RequiresOptIn", "-opt-in=kotlin.contracts.ExperimentalContracts", "-opt-in=kotlin.ExperimentalMultiplatform", "-opt-in=kotlin.native.internal.InternalForKotlinNative", "-opt-in=kotlin.native.SymbolNameIsDeprecated" ) - commonStdlibSrcDirs.forEach { extraOpts(it) } srcFiles(commonBuiltinsSrc) + commonStdlibSrcDirs.forEach { extraOpts(it) } testAnnotationCommonSrcDir.forEach { extraOpts(it) } testCommonSrcDir.forEach { extraOpts(it) } extraOpts(interopRuntimeCommonSrcDir) @@ -432,9 +432,15 @@ konanArtifacts { stdLibSrcDirs.forEach { srcDir(it) } } - stdlibBuildTask = project.findKonanBuildTask("stdlib", project.platformManager.hostPlatform.target) - stdlibBuildTask.configure { - dependsOn(":kotlin-native:distCompiler") + stdlibBuildTask = project.findKonanBuildTask("stdlib", project.platformManager.hostPlatform.target).apply { + configure { + dependsOn(":kotlin-native:distCompiler") + + // Configure inputs and outputs + stdLibSrcDirs.forEach { inputs.dir(it) } + commonStdlibSrcDirs.forEach { inputs.dir(it) } + outputs.dir(project.buildDir.resolve("stdlib")) + } } } @@ -468,6 +474,7 @@ targetList.forEach { targetName -> originalKlib = project.buildDir.resolve("${targetName}Stdlib") cacheRoot = project.buildDir.resolve("cache/$targetName").absolutePath + dependsOn("${targetName}Stdlib") dependsOn(":kotlin-native:${targetName}CrossDistRuntime") } }