Store native dependencies in HOME/.konan
This commit is contained in:
+2
-1
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.native.interop.tool
|
||||
import org.jetbrains.kotlin.konan.file.*
|
||||
import org.jetbrains.kotlin.konan.properties.*
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
import kotlin.reflect.KFunction
|
||||
|
||||
class ToolConfig(userProvidedTargetName: String?, userProvidedKonanProperties: String?, runnerProvidedKonanHome: String) {
|
||||
@@ -31,7 +32,7 @@ class ToolConfig(userProvidedTargetName: String?, userProvidedKonanProperties: S
|
||||
private val konanPropertiesFile = userProvidedKonanProperties ?. File() ?: File(konanHome, "konan/konan.properties")
|
||||
private val properties = konanPropertiesFile.loadProperties()
|
||||
|
||||
private val dependencies = File(konanHome, "dependencies")
|
||||
private val dependencies = DependencyProcessor.defaultDependenciesRoot
|
||||
|
||||
private val targetProperties = KonanProperties(target, properties, dependencies.path)
|
||||
|
||||
|
||||
+2
-1
@@ -19,6 +19,7 @@ package org.jetbrains.kotlin.backend.konan
|
||||
import org.jetbrains.kotlin.konan.target.*
|
||||
import org.jetbrains.kotlin.konan.file.*
|
||||
import org.jetbrains.kotlin.konan.properties.*
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
|
||||
class Distribution(val targetManager: TargetManager,
|
||||
val propertyFileOverride: String? = null,
|
||||
@@ -47,7 +48,7 @@ class Distribution(val targetManager: TargetManager,
|
||||
val stdlib = "$klib/common/stdlib"
|
||||
val runtime = runtimeFileOverride ?: "$stdlib/targets/${targetName}/native/runtime.bc"
|
||||
|
||||
val dependenciesDir = "$konanHome/dependencies"
|
||||
val dependenciesDir = DependencyProcessor.defaultDependenciesRoot.absolutePath
|
||||
|
||||
val targetProperties = KonanProperties(target, properties, dependenciesDir)
|
||||
val hostProperties = if (target == host) {
|
||||
|
||||
+1
-1
@@ -26,7 +26,7 @@ ext {
|
||||
konanPropertiesFile = project(':backend.native').file('konan.properties')
|
||||
konanProperties = PropertiesKt.loadProperties(konanPropertiesFile.absolutePath)
|
||||
|
||||
dependenciesDir = rootProject.file("dist/dependencies")
|
||||
dependenciesDir = DependencyProcessor.defaultDependenciesRoot
|
||||
clangManager = new ClangManager(konanProperties, dependenciesDir.absolutePath)
|
||||
kotlinCompilerModule="org.jetbrains.kotlin:kotlin-compiler:${kotlinVersion}"
|
||||
kotlinStdLibModule="org.jetbrains.kotlin:kotlin-stdlib:${kotlinStdLibVersion}"
|
||||
|
||||
@@ -160,9 +160,13 @@ class DependencyProcessor(dependenciesRoot: File,
|
||||
}
|
||||
|
||||
companion object {
|
||||
val lock = ReentrantLock()
|
||||
private val lock = ReentrantLock()
|
||||
|
||||
const val DEFAULT_HOME_DEPENDENCY_CACHE = ".konan/cache"
|
||||
|
||||
@JvmStatic
|
||||
val defaultDependenciesRoot
|
||||
get() = Paths.get(System.getProperty("user.home")).resolve(".konan/dependencies").toFile()
|
||||
}
|
||||
|
||||
fun run() = lock.withLock {
|
||||
|
||||
+2
-1
@@ -20,6 +20,7 @@ import org.gradle.api.Named
|
||||
import org.gradle.api.Project
|
||||
import org.gradle.api.file.FileCollection
|
||||
import org.jetbrains.kotlin.gradle.plugin.tasks.host
|
||||
import org.jetbrains.kotlin.konan.util.DependencyProcessor
|
||||
|
||||
internal interface KonanToolRunner: Named {
|
||||
val mainClass: String
|
||||
@@ -79,7 +80,7 @@ internal class KonanInteropRunner(project: Project)
|
||||
{
|
||||
init {
|
||||
if (project.host == "mingw") {
|
||||
environment.put("PATH", "${project.konanHome}\\dependencies" +
|
||||
environment.put("PATH", DependencyProcessor.defaultDependenciesRoot.absolutePath +
|
||||
"\\msys2-mingw-w64-x86_64-gcc-6.3.0-clang-llvm-3.9.1-windows-x86-64" +
|
||||
"\\bin;${System.getenv("PATH")}")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user