diff --git a/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt b/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt index c8c2c8dcd04..a5cc58eb4aa 100644 --- a/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt +++ b/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt @@ -32,6 +32,7 @@ import org.jetbrains.kotlin.config.CompilerConfiguration import org.jetbrains.kotlin.config.Services import org.jetbrains.kotlin.config.addKotlinSourceRoots import org.jetbrains.kotlin.config.kotlinSourceRoots +import org.jetbrains.kotlin.konan.file.File import org.jetbrains.kotlin.konan.target.CompilerOutputKind import org.jetbrains.kotlin.konan.target.TargetManager import org.jetbrains.kotlin.utils.KotlinPaths @@ -158,7 +159,13 @@ class K2Native : CLICompiler() { companion object { @JvmStatic fun main(args: Array) { profile("Total compiler main()") { - CLITool.doMain(K2Native(), args) + val options = args.flatMap { + if (it.startsWith('@')) { + File(it.substring(1)).readStrings() + } + else listOf(it) + } + CLITool.doMain(K2Native(), options.toTypedArray()) } } } diff --git a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/File.kt b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/File.kt index 74f322db625..e2aa8ef40ce 100644 --- a/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/File.kt +++ b/shared/src/main/kotlin/org/jetbrains/kotlin/konan/file/File.kt @@ -150,6 +150,8 @@ data class File constructor(internal val javaPath: Path) { get() = File(System.getProperty("java.home")) } + + fun readStrings() = mutableListOf().also { list -> forEachLine{list.add(it)}} } fun String.File(): File = File(this)