diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/KonanLibraryReader.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/KonanLibraryReader.kt index e7fab414309..18914a21df5 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/KonanLibraryReader.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/KonanLibraryReader.kt @@ -28,6 +28,7 @@ interface KonanLibraryReader { val linkerOpts: List val unresolvedDependencies: List val escapeAnalysis: ByteArray? + val isDefaultLink: Boolean get() = false val isNeededForLink: Boolean get() = true val manifestProperties: Properties val moduleHeaderData: ByteArray diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/SearchPathResolver.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/SearchPathResolver.kt index 74c2f063515..a7a6242a81f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/SearchPathResolver.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/SearchPathResolver.kt @@ -49,7 +49,7 @@ fun SearchPathResolver.resolveImmediateLibraries(libraryNames: List, removeDuplicates: Boolean = true): List { val defaultLibraries = defaultLinks(nostdlib = noStdLib, noDefaultLibs = noDefaultLibs).map { - LibraryReaderImpl(it, abiVersion, target) + LibraryReaderImpl(it, abiVersion, target, isDefaultLink = true) } val userProvidedLibraries = libraryNames diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/impl/KonanLibraryReaderImpl.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/impl/KonanLibraryReaderImpl.kt index cc4ccac33aa..aaafadb169e 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/impl/KonanLibraryReaderImpl.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/impl/KonanLibraryReaderImpl.kt @@ -26,7 +26,7 @@ import org.jetbrains.kotlin.config.LanguageVersionSettings import org.jetbrains.kotlin.konan.target.KonanTarget class LibraryReaderImpl(var libraryFile: File, val currentAbiVersion: Int, - val target: KonanTarget? = null) + val target: KonanTarget? = null, override val isDefaultLink: Boolean = false) : KonanLibraryReader { // For the zipped libraries inPlace gives files from zip file system @@ -98,4 +98,5 @@ class LibraryReaderImpl(var libraryFile: File, val currentAbiVersion: Int, } -internal fun List.purgeUnneeded(): List = this.filter{ it.isNeededForLink } +internal fun List.purgeUnneeded(): List = this.filter{ !it.isDefaultLink || it.isNeededForLink } +