From 114010bbcd03a05270f9f2f6b0c7ddde7bf06bb7 Mon Sep 17 00:00:00 2001 From: Alexander Gorshenev Date: Tue, 6 Jun 2017 15:06:41 +0300 Subject: [PATCH] Make `klib info` report targets available. --- .../src/org/jetbrains/kotlin/backend/konan/Distribution.kt | 2 +- .../jetbrains/kotlin/backend/konan/library/KonanLibrary.kt | 4 +++- build.gradle | 4 ++-- klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt | 2 ++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Distribution.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Distribution.kt index d8954e9d131..741d3d7a4a9 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Distribution.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/Distribution.kt @@ -49,7 +49,7 @@ class Distribution(val config: CompilerConfiguration) { val stdlib = "$klib/stdlib" val runtime = config.get(KonanConfigKeys.RUNTIME_FILE) - ?: "$stdlib/$target/native/runtime.bc" + ?: "$stdlib/targets/$target/native/runtime.bc" val llvmHome = "$dependenciesDir/${properties.propertyString("llvmHome.$hostSuffix")}" val hostSysRoot = "$dependenciesDir/${properties.propertyString("targetSysRoot.$hostSuffix")}" diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/KonanLibrary.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/KonanLibrary.kt index baeea368e0e..55bc04994e1 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/KonanLibrary.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/library/KonanLibrary.kt @@ -73,8 +73,10 @@ interface SplitLibraryScheme { get() = File(libDir, "manifest") val resourcesDir get() = File(libDir, "resources") + val targetsDir + get() = File(libDir, "targets") val targetDir - get() = File(libDir, target!!) + get() = File(targetsDir, target!!) val kotlinDir get() = File(targetDir, "kotlin") val nativeDir diff --git a/build.gradle b/build.gradle index 45f14747746..9a71561f48f 100644 --- a/build.gradle +++ b/build.gradle @@ -352,7 +352,7 @@ targetList.each { target -> from(project(':runtime').file("build/$target")) { include("*.bc") - into("klib/stdlib/$target/native") + into("klib/stdlib/targets/$target/native") } from(project(':runtime').file("build/${target}Stdlib")) { include('**') @@ -360,7 +360,7 @@ targetList.each { target -> } from(project(':runtime').file("build/${target}Start.bc")) { rename("${target}Start.bc", 'start.bc') - into("klib/stdlib/$target/native") + into("klib/stdlib/targets/$target/native") } } } diff --git a/klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt b/klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt index 9b64accf49f..d93b0e1da9b 100644 --- a/klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt +++ b/klib/src/main/kotlin/org/jetbrains/kotlin/cli/klib/main.kt @@ -78,6 +78,8 @@ class Library(val name: String, val repository: String, val target: String) { val moduleName = header.getProperty("module_name")!! println("Module name: $moduleName") println("ABI version: $headerAbiVersion") + val targets = splitLibrary.targetsDir.listFiles.map{it.name}.joinToString(", ") + print("Available targets: $targets\n") } fun install() {