Enable arm32 and arm64 builds

This commit is contained in:
Ugljesa Jovanovic 2020-06-01 11:29:45 +02:00 committed by Ugljesa Jovanovic
parent 7c6a31d765
commit 9292cded2c
No known key found for this signature in database
GPG Key ID: 178E6DFCECCB0E0F
5 changed files with 74 additions and 53 deletions

View File

@ -15,10 +15,10 @@
*/
object Versions {
val kotlinCoroutines = "1.3.5-native-mt-1.4-M1"
val kotlinCoroutines = "1.3.5-native-mt-arm-SNAPSHOT" //NOTE: my linux arm32 and arm64 build
val kotlin = "1.4-M1"
val kotlinSerialization = "0.20.0-1.4-M1"
val atomicfu = "0.14.2-1.4-M1"
val atomicfu = "0.14.3-SNAPSHOT" //NOTE: my linux arm32 and arm64 build
val nodePlugin = "1.3.0"
val dokkaPlugin = "0.9.18"
@ -38,9 +38,10 @@ object Deps {
val stdLib = "stdlib-common"
val test = "test-common"
val testAnnotation = "test-annotations-common"
val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:${Versions.kotlinCoroutines}"
// val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-common:${Versions.kotlinCoroutines}"
val coroutines = "com.ionspin.kotlin.coroutines:kotlinx-coroutines-core-common:${Versions.kotlinCoroutines}"
val serialization = "org.jetbrains.kotlinx:kotlinx-serialization-runtime-common:${Versions.kotlinSerialization}"
val atomicfu = "org.jetbrains.kotlinx:atomicfu:${Versions.atomicfu}"
val atomicfu = "com.ionspin.kotlin.atomicfu:atomicfu:${Versions.atomicfu}"
val kotlinBigNum = "com.ionspin.kotlin:bignum:${Versions.kotlinBigNumVersion}"
@ -51,7 +52,8 @@ object Deps {
object Js {
val stdLib = "stdlib-js"
val test = "test-js"
val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:${Versions.kotlinCoroutines}"
// val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-js:${Versions.kotlinCoroutines}"
val coroutines = "com.ionspin.kotlin.coroutines:kotlinx-coroutines-core-js:${Versions.kotlinCoroutines}"
val serialization = "org.jetbrains.kotlinx:kotlinx-serialization-runtime-js:${Versions.kotlinSerialization}"
object Npm {
@ -66,20 +68,24 @@ object Deps {
val test = "test"
val testJUnit = "test-junit"
val reflection = "reflect"
val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinCoroutines}"
// val coroutinesCore = "org.jetbrains.kotlinx:kotlinx-coroutines-core:${Versions.kotlinCoroutines}"
val coroutinesCore = "com.ionspin.kotlin.coroutines:kotlinx-coroutines-core:${Versions.kotlinCoroutines}"
val coroutinesjdk8 = "org.jetbrains.kotlinx:kotlinx-coroutines-jdk8:${Versions.kotlinCoroutines}"
val serialization = "org.jetbrains.kotlinx:kotlinx-serialization-runtime:${Versions.kotlinSerialization}"
val coroutinesTest = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.kotlinCoroutines}"
// val coroutinesTest = "org.jetbrains.kotlinx:kotlinx-coroutines-test:${Versions.kotlinCoroutines}"
val coroutinesTest = "com.ionspin.kotlin.coroutines:kotlinx-coroutines-test:${Versions.kotlinCoroutines}"
}
object iOs {
val serialization = "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:${Versions.kotlinSerialization}"
val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:${Versions.kotlinCoroutines}"
// val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:${Versions.kotlinCoroutines}"
val coroutines = "com.ionspin.kotlin.coroutines:kotlinx-coroutines-core-native:${Versions.kotlinCoroutines}"
}
object Native {
val serialization = "org.jetbrains.kotlinx:kotlinx-serialization-runtime-native:${Versions.kotlinSerialization}"
val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:${Versions.kotlinCoroutines}"
// val coroutines = "org.jetbrains.kotlinx:kotlinx-coroutines-core-native:${Versions.kotlinCoroutines}"
val coroutines = "com.ionspin.kotlin.coroutines:kotlinx-coroutines-core-native:${Versions.kotlinCoroutines}"
}

View File

@ -45,13 +45,13 @@ fun KotlinMultiplatformExtension.runningOnLinuxx86_64(block : KotlinMultiplatfor
}
}
fun KotlinMultiplatformExtension.runningOnLinuxxArm64(block : KotlinMultiplatformExtension.() -> Unit) {
fun KotlinMultiplatformExtension.runningOnLinuxArm64(block : KotlinMultiplatformExtension.() -> Unit) {
if (getHostOsName() == "linux" && getHostArchitecture() == "aarch64") {
block(this)
}
}
fun KotlinMultiplatformExtension.runningOnLinuxxArm32(block : KotlinMultiplatformExtension.() -> Unit) {
fun KotlinMultiplatformExtension.runningOnLinuxArm32(block : KotlinMultiplatformExtension.() -> Unit) {
if (getHostOsName() == "linux" && getHostArchitecture() == "arm-v7") {
block(this)
}

View File

@ -85,15 +85,15 @@ kotlin {
}
runningOnLinuxxArm64 {
//Not supported in coroutines at the moment
runningOnLinuxArm64 {
//Not supported in OFFICAL coroutines at the moment
linuxArm32Hfp() {
binaries {
staticLib {
}
}
}
//Not supported in coroutines at the moment
//Not supported in OFFICIAL coroutines at the moment
linuxArm64() {
binaries {
staticLib {

View File

@ -20,7 +20,6 @@
import org.jetbrains.kotlin.gradle.targets.js.testing.KotlinJsTest
import org.jetbrains.kotlin.gradle.targets.native.tasks.KotlinNativeTest
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
import org.jetbrains.kotlin.gradle.tasks.Kotlin2JsCompile
plugins {
kotlin(PluginsDeps.multiplatform)
@ -85,21 +84,25 @@ kotlin {
}
//Not supported in coroutines at the moment
// linuxArm32Hfp() {
// binaries {
// staticLib {
// }
// }
// }
runningOnLinuxxArm64 {
//Not supported in OFFICIAL coroutines at the moment (we're running a custom build)
runningOnLinuxArm64 {
linuxArm64() {
binaries {
staticLib {
}
}
}
}
runningOnLinuxArm32 {
linuxArm32Hfp() {
binaries {
staticLib {
}
}
}
}
runningOnMacos {

View File

@ -98,21 +98,29 @@ kotlin {
}
}
}
//Not supported in coroutines at the moment
// linuxArm32Hfp() {
// binaries {
// staticLib {
// }
// }
// }
//Not supported in coroutines at the moment
// linuxArm64() {
// binaries {
// staticLib {
// }
// }
// }
}
runningOnLinuxArm32 {
// Not supported in coroutines at the moment
linuxArm32Hfp() {
binaries {
staticLib {
}
}
}
}
runningOnLinuxArm64 {
// Not supported in coroutines at the moment
linuxArm64() {
binaries {
staticLib {
}
}
}
}
runningOnMacos {
@ -270,23 +278,27 @@ kotlin {
}
runningOnLinuxxArm64 {
//Not supported in coroutines at the moment
// val linuxArm32HfpMain by getting {
// dependsOn(nativeMain)
// }
//
// val linuxArm32HfpTest by getting {
// dependsOn(nativeTest)
// }
runningOnLinuxArm64 {
//Not supported in OFFICIAL coroutines at the moment, we're running a custom build
val linuxArm32HfpMain by getting {
dependsOn(nativeMain)
}
// val linuxArm64Main by getting {
// dependsOn(nativeMain)
// }
//
// val linuxArm64Test by getting {
// dependsOn(nativeTest)
// }
val linuxArm32HfpTest by getting {
dependsOn(nativeTest)
}
val linuxArm64Main by getting {
dependsOn(nativeMain)
}
val linuxArm64Test by getting {
dependsOn(nativeTest)
}
}
runningOnLinuxArm32 {
}