From ed27edad28f7a68daf31a69a0101624607982e19 Mon Sep 17 00:00:00 2001 From: Ilya Matveev Date: Tue, 10 Mar 2020 13:42:33 +0700 Subject: [PATCH] [Interop] Fix module names for libraries with dots in file names --- .../org/jetbrains/kotlin/native/interop/gen/jvm/main.kt | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt index 76bc7fd22e3..0309bcfa94c 100644 --- a/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt +++ b/Interop/StubGenerator/src/main/kotlin/org/jetbrains/kotlin/native/interop/gen/jvm/main.kt @@ -25,11 +25,13 @@ import org.jetbrains.kotlin.native.interop.indexer.* import org.jetbrains.kotlin.native.interop.tool.* import kotlinx.cli.ArgParser import org.jetbrains.kotlin.konan.library.* +import org.jetbrains.kotlin.konan.target.CompilerOutputKind import org.jetbrains.kotlin.konan.target.Distribution import org.jetbrains.kotlin.konan.target.KonanTarget import org.jetbrains.kotlin.library.KotlinLibrary import org.jetbrains.kotlin.library.resolver.impl.libraryResolver import org.jetbrains.kotlin.library.toUnresolvedLibraries +import org.jetbrains.kotlin.util.removeSuffixIfPresent import java.io.File import java.lang.IllegalArgumentException import java.nio.file.* @@ -238,8 +240,6 @@ private fun processCLib(args: Array, additionalArgs: Map = val (nativeIndex, compilation) = buildNativeIndex(library, verbose) - val moduleName = File(cinteropArguments.output).nameWithoutExtension - // Our current approach to arm64_32 support is to compile armv7k version of bitcode // for arm64_32. That's the reason for this substitution. // TODO: Add proper support with the next LLVM update. @@ -247,6 +247,10 @@ private fun processCLib(args: Array, additionalArgs: Map = KonanTarget.WATCHOS_ARM64 -> KonanTarget.WATCHOS_ARM32 else -> tool.target } + + val klibSuffix = CompilerOutputKind.LIBRARY.suffix(target) + val moduleName = File(cinteropArguments.output).name.removeSuffixIfPresent(klibSuffix) + val configuration = InteropConfiguration( library = compilation, pkgName = outKtPkg,