Fixed static framework linker options
When using static caches we need to extract linker options in the same way as for dynamic frameworks
This commit is contained in:
+1
-1
@@ -196,7 +196,7 @@ private fun embedAppleLinkerOptionsToBitcode(llvm: Llvm, config: KonanConfig) {
|
||||
}
|
||||
|
||||
val optionsToEmbed = findEmbeddableOptions(config.platform.configurables.linkerKonanFlags) +
|
||||
llvm.nativeDependenciesToLink.flatMap { findEmbeddableOptions(it.linkerOpts) }
|
||||
llvm.allNativeDependencies.flatMap { findEmbeddableOptions(it.linkerOpts) }
|
||||
|
||||
embedLlvmLinkOptions(llvm.llvmModule, optionsToEmbed)
|
||||
}
|
||||
|
||||
+1
-4
@@ -43,10 +43,7 @@ internal class Linker(val context: Context) {
|
||||
}
|
||||
val includedBinaries = includedBinariesLibraries.map { (it as? KonanLibrary)?.includedPaths.orEmpty() }.flatten()
|
||||
|
||||
val cachedLibraries = context.librariesWithDependencies
|
||||
.filter { context.config.cachedLibraries.isLibraryCached(it) }
|
||||
val libraryProvidedLinkerFlags = (nativeDependencies + cachedLibraries)
|
||||
.distinct().map { it.linkerOpts }.flatten()
|
||||
val libraryProvidedLinkerFlags = context.llvm.allNativeDependencies.map { it.linkerOpts }.flatten()
|
||||
|
||||
runLinker(objectFiles, includedBinaries, libraryProvidedLinkerFlags)
|
||||
renameOutput()
|
||||
|
||||
+8
@@ -21,6 +21,8 @@ import org.jetbrains.kotlin.ir.util.isReal
|
||||
import org.jetbrains.kotlin.konan.library.KonanLibrary
|
||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||
import org.jetbrains.kotlin.library.KotlinLibrary
|
||||
import org.jetbrains.kotlin.library.uniqueName
|
||||
import org.jetbrains.kotlin.library.unresolvedDependencies
|
||||
import org.jetbrains.kotlin.name.FqName
|
||||
import org.jetbrains.kotlin.name.Name
|
||||
import kotlin.properties.ReadOnlyProperty
|
||||
@@ -395,6 +397,12 @@ internal class Llvm(val context: Context, val llvmModule: LLVMModuleRef) {
|
||||
|
||||
}
|
||||
|
||||
val allNativeDependencies: List<KonanLibrary> by lazy {
|
||||
val cachedLibraries = context.librariesWithDependencies.filter {
|
||||
context.config.cachedLibraries.isLibraryCached(it)
|
||||
}
|
||||
(nativeDependenciesToLink + cachedLibraries).distinct()
|
||||
}
|
||||
|
||||
val bitcodeToLink: List<KonanLibrary> by lazy {
|
||||
(context.config.resolvedLibraries.getFullList(TopologicalLibraryOrder) as List<KonanLibrary>)
|
||||
|
||||
Reference in New Issue
Block a user