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())
|
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) {
|
internal fun warn(msg: String) {
|
||||||
println("warning: $msg")
|
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.argsToCompiler
|
||||||
import org.jetbrains.kotlin.native.interop.gen.wasm.idl.*
|
import org.jetbrains.kotlin.native.interop.gen.wasm.idl.*
|
||||||
import org.jetbrains.kliopt.ArgParser
|
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
|
import org.jetbrains.kotlin.native.interop.tool.getValuesAsArray
|
||||||
|
|
||||||
fun kotlinHeader(packageName: String): String {
|
fun kotlinHeader(packageName: String): String {
|
||||||
@@ -393,7 +393,7 @@ const val idlMathPackage = "kotlinx.interop.wasm.math"
|
|||||||
const val idlDomPackage = "kotlinx.interop.wasm.dom"
|
const val idlDomPackage = "kotlinx.interop.wasm.dom"
|
||||||
|
|
||||||
fun processIdlLib(args: Array<String>, additionalArgs: Map<String, Any> = mapOf()): Array<String>? {
|
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))
|
if (!argParser.parse(args))
|
||||||
return null
|
return null
|
||||||
// TODO: Refactor me.
|
// TODO: Refactor me.
|
||||||
|
|||||||
@@ -31,7 +31,7 @@ kotlin {
|
|||||||
}
|
}
|
||||||
httpServerMain {
|
httpServerMain {
|
||||||
dependencies {
|
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.
|
// The interaction of interop and the compler should be streamlined.
|
||||||
|
|
||||||
fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
|
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)
|
useDefaultHelpShortName = false)
|
||||||
if (!argParser.parse(args))
|
if (!argParser.parse(args))
|
||||||
return null
|
return null
|
||||||
@@ -40,12 +40,10 @@ fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
|
|||||||
val cstubsName ="cstubs"
|
val cstubsName ="cstubs"
|
||||||
val libraries = argParser.getAll<String>("library") ?: listOf<String>()
|
val libraries = argParser.getAll<String>("library") ?: listOf<String>()
|
||||||
val repos = argParser.getAll<String>("repo") ?: 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") {
|
if (flavor == "native") {
|
||||||
val targetRequest = argParser.get<String>("target")!!
|
|
||||||
val target = PlatformManager().targetManager(targetRequest).target
|
|
||||||
targetName = target.visibleName
|
|
||||||
val resolver = defaultResolver(
|
val resolver = defaultResolver(
|
||||||
repos,
|
repos,
|
||||||
libraries.filter { it.contains(File.separator) },
|
libraries.filter { it.contains(File.separator) },
|
||||||
@@ -78,7 +76,7 @@ fun invokeInterop(flavor: String, args: Array<String>): Array<String>? {
|
|||||||
generatedDir.path,
|
generatedDir.path,
|
||||||
"-produce", "library",
|
"-produce", "library",
|
||||||
"-o", outputFileName,
|
"-o", outputFileName,
|
||||||
"-target", targetName,
|
"-target", target.visibleName,
|
||||||
"-manifest", manifest.path,
|
"-manifest", manifest.path,
|
||||||
"-Xtemporary-files-dir=$temporaryFilesDir") +
|
"-Xtemporary-files-dir=$temporaryFilesDir") +
|
||||||
nativeStubs +
|
nativeStubs +
|
||||||
|
|||||||
Reference in New Issue
Block a user