Fix jsinterop: added option target which now has only one proper value wasm32 (#2694)
This commit is contained in:
+7
@@ -68,6 +68,13 @@ fun getCInteropArguments(): List<OptionDescriptor> {
|
||||
return (options + getCommonInteropArguments())
|
||||
}
|
||||
|
||||
fun getJSInteropArguments(): List<OptionDescriptor> {
|
||||
val options = listOf(
|
||||
OptionDescriptor(ArgType.Choice(listOf("wasm32")), "target", description = "wasm target to compile to", defaultValue = "wasm32")
|
||||
)
|
||||
return (options + getCommonInteropArguments())
|
||||
}
|
||||
|
||||
internal fun warn(msg: String) {
|
||||
println("warning: $msg")
|
||||
}
|
||||
|
||||
+2
-2
@@ -4,7 +4,7 @@ import org.jetbrains.kotlin.konan.file.File
|
||||
import org.jetbrains.kotlin.native.interop.gen.argsToCompiler
|
||||
import org.jetbrains.kotlin.native.interop.gen.wasm.idl.*
|
||||
import org.jetbrains.kliopt.ArgParser
|
||||
import org.jetbrains.kotlin.native.interop.tool.getCommonInteropArguments
|
||||
import org.jetbrains.kotlin.native.interop.tool.getJSInteropArguments
|
||||
import org.jetbrains.kotlin.native.interop.tool.getValuesAsArray
|
||||
|
||||
fun kotlinHeader(packageName: String): String {
|
||||
@@ -393,7 +393,7 @@ const val idlMathPackage = "kotlinx.interop.wasm.math"
|
||||
const val idlDomPackage = "kotlinx.interop.wasm.dom"
|
||||
|
||||
fun processIdlLib(args: Array<String>, additionalArgs: Map<String, Any> = mapOf()): Array<String>? {
|
||||
val argParser = ArgParser(getCommonInteropArguments(), useDefaultHelpShortName = false)
|
||||
val argParser = ArgParser(getJSInteropArguments(), useDefaultHelpShortName = false)
|
||||
if (!argParser.parse(args))
|
||||
return null
|
||||
// TODO: Refactor me.
|
||||
|
||||
@@ -31,7 +31,7 @@ kotlin {
|
||||
}
|
||||
httpServerMain {
|
||||
dependencies {
|
||||
implementation 'io.ktor:ktor-server-netty:1.0.1'
|
||||
implementation 'io.ktor:ktor-server-netty:1.1.2'
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,7 +17,7 @@ import org.jetbrains.kotlin.native.interop.tool.*
|
||||
// The interaction of interop and the compler should be streamlined.
|
||||
|
||||
fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
|
||||
val argParser = ArgParser(if (flavor == "native") getCInteropArguments() else getCommonInteropArguments(),
|
||||
val argParser = ArgParser(if (flavor == "native") getCInteropArguments() else getJSInteropArguments(),
|
||||
useDefaultHelpShortName = false)
|
||||
if (!argParser.parse(args))
|
||||
return null
|
||||
@@ -40,12 +40,10 @@ fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
|
||||
val cstubsName ="cstubs"
|
||||
val libraries = argParser.getAll<String>("library") ?: listOf<String>()
|
||||
val repos = argParser.getAll<String>("repo") ?: listOf<String>()
|
||||
var targetName = "wasm32"
|
||||
val targetRequest = argParser.get<String>("target")!!
|
||||
val target = PlatformManager().targetManager(targetRequest).target
|
||||
|
||||
if (flavor == "native") {
|
||||
val targetRequest = argParser.get<String>("target")!!
|
||||
val target = PlatformManager().targetManager(targetRequest).target
|
||||
targetName = target.visibleName
|
||||
val resolver = defaultResolver(
|
||||
repos,
|
||||
libraries.filter { it.contains(File.separator) },
|
||||
@@ -78,7 +76,7 @@ fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
|
||||
generatedDir.path,
|
||||
"-produce", "library",
|
||||
"-o", outputFileName,
|
||||
"-target", targetName,
|
||||
"-target", target.visibleName,
|
||||
"-manifest", manifest.path,
|
||||
"-Xtemporary-files-dir=$temporaryFilesDir") +
|
||||
nativeStubs +
|
||||
|
||||
Reference in New Issue
Block a user