[Interop] Fix module names for libraries with dots in file names

This commit is contained in:
Ilya Matveev
2020-03-10 13:42:33 +07:00
committed by Ilya Matveev
parent 4107c29853
commit ed27edad28
@@ -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<String>, additionalArgs: Map<String, Any> =
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<String>, additionalArgs: Map<String, Any> =
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,