Skip to content

Commit 9dace35

Browse files
authored
Merge pull request #2 from touchlab/kpg/add_other_platforms
Add paths for linux
2 parents b7c1bdb + 4c9a2e5 commit 9dace35

File tree

2 files changed

+38
-4
lines changed

2 files changed

+38
-4
lines changed

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ org.gradle.jvmargs=-Xmx2g
1515

1616
GROUP=co.touchlab
1717
KOTLIN_VERSION=1.5.31
18-
VERSION_EXTENSION=1
18+
VERSION_EXTENSION=2
1919

2020
POM_NAME=CKlib
2121
POM_DESCRIPTION=C/C++ Bitcode Into Klib

plugin/src/main/kotlin/co/touchlab/cklib/gradle/CKlibGradleExtension.kt

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,13 @@ package co.touchlab.cklib.gradle
1313
import co.touchlab.cklib.gradle.reflection.PlatformManager
1414
import org.gradle.api.Project
1515
import org.jetbrains.kotlin.konan.target.Distribution
16+
import org.jetbrains.kotlin.konan.target.HostManager
17+
import org.jetbrains.kotlin.konan.target.TargetSupportException
1618
import javax.inject.Inject
1719

1820
open class CKlibGradleExtension @Inject constructor(val project: Project){
19-
var konanHome: String = "${System.getProperty("user.home")}/.konan/kotlin-native-prebuilt-macos-x86_64-${GradleValues.KOTLIN_VERSION}"
20-
var llvmHome: String = "${System.getProperty("user.home")}/.konan/dependencies/clang-llvm-apple-8.0.0-darwin-macos"
21+
var konanHome: String = "${System.getProperty("user.home")}/.konan/kotlin-native-prebuilt-${simpleOsName}-x86_64-${GradleValues.KOTLIN_VERSION}"
22+
var llvmHome: String = "${System.getProperty("user.home")}/.konan/dependencies/${llvmName}"
2123
}
2224

2325
internal val Project.platformManager: PlatformManager
@@ -27,4 +29,36 @@ internal val Project.platformManager: PlatformManager
2729
}
2830

2931
internal val Project.llvmHome: String
30-
get() = extensions.getByType(CKlibGradleExtension::class.java).llvmHome
32+
get() = extensions.getByType(CKlibGradleExtension::class.java).llvmHome
33+
34+
internal val simpleOsName: String
35+
get() {
36+
val hostOs = HostManager.hostOs()
37+
return if (hostOs == "osx") "macos" else hostOs
38+
}
39+
40+
internal val osName: String
41+
get() {
42+
val javaOsName = System.getProperty("os.name")
43+
return when {
44+
javaOsName == "Mac OS X" -> "osx"
45+
javaOsName == "Linux" -> "linux"
46+
javaOsName.startsWith("Windows") -> "windows"
47+
else -> throw TargetSupportException("Unknown operating system: $javaOsName")
48+
}
49+
}
50+
51+
internal val llvmName: String
52+
get() {
53+
return when (osName) {
54+
"osx" -> llvm_macos_x64
55+
"linux" -> llvm_linux_x64
56+
"windows" -> llvm_mingw_x64
57+
else -> throw TargetSupportException("Unknown operating system: $osName")
58+
}
59+
}
60+
61+
internal val llvm_linux_x64 = "clang-llvm-8.0.0-linux-x86-64"
62+
internal val llvm_mingw_x64 = "msys2-mingw-w64-x86_64-clang-llvm-lld-compiler_rt-8.0.1"
63+
internal val llvm_macos_x64 = "clang-llvm-apple-8.0.0-darwin-macos"
64+
internal val llvm_macos_arm64 = "clang-llvm-apple-8.0.0-darwin-macos-aarch64"

0 commit comments

Comments
 (0)