diff --git a/kotlin-native/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt b/kotlin-native/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt index 1d59eccff3a..c6a47bfe87a 100644 --- a/kotlin-native/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt +++ b/kotlin-native/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt @@ -99,7 +99,7 @@ class K2Native : CLICompiler() { val K2NativeCompilerArguments.isUsefulWithoutFreeArgs: Boolean get() = listTargets || listPhases || checkDependencies || !includes.isNullOrEmpty() || - !librariesToCache.isNullOrEmpty() || libraryToAddToCache != null + !librariesToCache.isNullOrEmpty() || libraryToAddToCache != null || !exportedLibraries.isNullOrEmpty() fun Array?.toNonNullList(): List { return this?.asList() ?: listOf() @@ -259,6 +259,7 @@ class K2Native : CLICompiler() { CHECK_DEPENDENCIES, configuration.kotlinSourceRoots.isNotEmpty() || !arguments.includes.isNullOrEmpty() + || !arguments.exportedLibraries.isNullOrEmpty() || outputKind.isCache || arguments.checkDependencies ) 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 9fffea88b3f..9b9a14b0699 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 @@ -179,6 +179,7 @@ class KonanConfig(val project: Project, val configuration: CompilerConfiguration val infoArgsOnly = configuration.kotlinSourceRoots.isEmpty() && configuration[KonanConfigKeys.INCLUDED_LIBRARIES].isNullOrEmpty() && librariesToCache.isEmpty() + && configuration[KonanConfigKeys.EXPORTED_LIBRARIES].isNullOrEmpty() fun librariesWithDependencies(moduleDescriptor: ModuleDescriptor?): List { if (moduleDescriptor == null) error("purgeUnneeded() only works correctly after resolve is over, and we have successfully marked package files as needed or not needed.") diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExport.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExport.kt index 5b33cd45ee2..e768121cc56 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExport.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExport.kt @@ -292,7 +292,7 @@ internal class ObjCExport(val context: Context, symbolTable: SymbolTable) { } private fun guessMainPackage(): FqName { - val allPackages = (context.getIncludedLibraryDescriptors() + context.moduleDescriptor).flatMap { + val allPackages = (context.getIncludedLibraryDescriptors() + context.getExportedDependencies() + context.moduleDescriptor).flatMap { it.getPackageFragments() // Includes also all parent packages, e.g. the root one. }