Skip to content

Commit 3d19d4d

Browse files
committed
Add support for linux arm64 target
1 parent cc98ca9 commit 3d19d4d

File tree

4 files changed

+16
-5
lines changed

4 files changed

+16
-5
lines changed

build.gradle.kts

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import org.gradle.api.tasks.testing.logging.TestExceptionFormat
2+
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTarget
23
import org.jetbrains.kotlin.gradle.plugin.mpp.KotlinNativeTargetWithHostTests
34
import org.jetbrains.kotlin.gradle.targets.native.tasks.KotlinNativeTest
45
import java.io.ByteArrayOutputStream
@@ -54,7 +55,7 @@ kotlin {
5455
withJava()
5556
}
5657

57-
fun KotlinNativeTargetWithHostTests.phoenixBinaries() {
58+
fun KotlinNativeTarget.phoenixBinaries() {
5859
binaries {
5960
executable("phoenixd") {
6061
entryPoint = "fr.acinq.phoenixd.main"
@@ -78,6 +79,14 @@ kotlin {
7879
}
7980
phoenixBinaries()
8081
}
82+
linuxArm64 {
83+
compilations["main"].cinterops.create("sqlite") {
84+
// use sqlite3 amalgamation on linux tests to prevent linking issues on new linux distros with dependency libraries which are to recent (for example glibc)
85+
// see: https://github.com/touchlab/SQLiter/pull/38#issuecomment-867171789
86+
definitionFile.set(File("$rootDir/src/nativeInterop/cinterop/sqlite3.def"))
87+
}
88+
phoenixBinaries()
89+
}
8190
}
8291

8392
if (currentOs.isMacOsX) {
@@ -187,6 +196,9 @@ distributions {
187196
create("linuxX64") {
188197
configureNativeDistribution("linuxX64Binaries", "linuxX64", "linux-x64")
189198
}
199+
create("linuxArm64") {
200+
configureNativeDistribution("linuxArm64Binaries", "linuxArm64", "linux-arm64")
201+
}
190202
}
191203
if (currentOs.isMacOsX) {
192204
create("macosX64") {

gradle.properties

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ kotlin.incremental.multiplatform=true
99
kotlin.mpp.stability.nowarn=true
1010
kotlin.mpp.enableCInteropCommonization=true
1111
kotlin.native.ignoreDisabledTargets=true
12-
kotlin.native.cacheKind.linuxX64=none
12+
kotlin.native.cacheKind.linuxX64=none
13+
kotlin.native.cacheKind.linuxArm64=none

gradle/libs.versions.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ kotlinx-io = "0.6.0"
44
clikt = "4.4.0"
55
ktor = "3.1.0"
66
sqldelight = "2.0.2" # TODO: remove 'addEnclosingTransaction' hack in AfterVersionX files when upgrading
7-
lightningkmp = "1.9.0"
7+
lightningkmp = "1.9.1-SNAPSHOT"
88
kermit-io = "2.0.5"
99

1010
# test dependencies

settings.gradle.kts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,11 @@
11
pluginManagement {
22
repositories {
33
gradlePluginPortal()
4-
maven("https://dl.bintray.com/kotlin/kotlin-eap")
54
}
65
}
76

87
dependencyResolutionManagement {
98
repositories {
10-
mavenLocal()
119
maven("https://oss.sonatype.org/content/repositories/snapshots")
1210
mavenCentral()
1311
google()

0 commit comments

Comments
 (0)