Don't hardcode a toolchain path for K/N on Windows
This commit is contained in:
+15
-6
@@ -24,6 +24,7 @@ import org.jetbrains.kotlin.konan.KonanVersion
|
|||||||
import org.jetbrains.kotlin.konan.target.HostManager
|
import org.jetbrains.kotlin.konan.target.HostManager
|
||||||
import org.jetbrains.kotlin.konan.target.KonanTarget
|
import org.jetbrains.kotlin.konan.target.KonanTarget
|
||||||
import org.jetbrains.kotlin.konan.util.DependencyDirectories
|
import org.jetbrains.kotlin.konan.util.DependencyDirectories
|
||||||
|
import java.util.*
|
||||||
|
|
||||||
/** Copied from Kotlin/Native repository. */
|
/** Copied from Kotlin/Native repository. */
|
||||||
|
|
||||||
@@ -151,12 +152,20 @@ internal class KonanInteropRunner(project: Project, additionalJvmArgs: List<Stri
|
|||||||
KonanCliRunner("cinterop", "Kotlin/Native cinterop tool", project, additionalJvmArgs) {
|
KonanCliRunner("cinterop", "Kotlin/Native cinterop tool", project, additionalJvmArgs) {
|
||||||
init {
|
init {
|
||||||
if (HostManager.host == KonanTarget.MINGW_X64) {
|
if (HostManager.host == KonanTarget.MINGW_X64) {
|
||||||
//TODO: Oh-ho-ho fix it in more convinient way.
|
// TODO: Read it from KonanDistribution when it is accessible.
|
||||||
environment.put(
|
val konanProperties = Properties().apply {
|
||||||
"PATH", DependencyDirectories.defaultDependenciesRoot.absolutePath +
|
project.file("${project.konanHome}/konan/konan.properties").inputStream().use(::load)
|
||||||
"\\msys2-mingw-w64-x86_64-gcc-7.3.0-clang-llvm-lld-6.0.1" +
|
}
|
||||||
"\\bin;${environment.get("PATH")}"
|
val toolchainDir = konanProperties.getProperty("targetToolchain.mingw_x64")
|
||||||
)
|
|
||||||
|
if (toolchainDir != null) {
|
||||||
|
environment.put(
|
||||||
|
"PATH",
|
||||||
|
DependencyDirectories.defaultDependenciesRoot
|
||||||
|
.resolve("\\$toolchainDir\\bin;${environment.get("PATH")}")
|
||||||
|
.absolutePath
|
||||||
|
)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user