Skip to content

Commit 5f88070

Browse files
committed
add support for arm
fix build use cargo lock from repo add support for arm musl
1 parent fb045ae commit 5f88070

File tree

5 files changed

+20
-11
lines changed

5 files changed

+20
-11
lines changed

.cargo/config.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
rustflags = ["-C", "target-feature=-crt-static"]
33
[target.aarch64-unknown-linux-musl]
44
rustflags = ["-C", "target-feature=-crt-static"]
5+
[target.arm-unknown-linux-musleabihf]
6+
rustflags = ["-C", "target-feature=-crt-static"]

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@ jobs:
107107
strategy:
108108
fail-fast: false
109109
matrix:
110-
target: [x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-gnu, aarch64-unknown-linux-musl]
110+
target: [x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-gnu, aarch64-unknown-linux-musl, arm-unknown-linux-gnueabihf]
111111
runs-on: ubuntu-latest
112112
permissions:
113113
contents: write

.github/workflows/publish.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ jobs:
8484
name: Builds (other platforms)
8585
strategy:
8686
matrix:
87-
target: [x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-gnu, aarch64-unknown-linux-musl]
87+
target: [x86_64-unknown-linux-gnu, x86_64-unknown-linux-musl, aarch64-unknown-linux-gnu, aarch64-unknown-linux-musl, arm-unknown-linux-gnueabihf, arm-unknown-linux-musleabihf]
8888
runs-on: ubuntu-latest
8989
permissions:
9090
contents: write

index.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
"use strict";
22

33
const { load, currentTarget } = require("@neon-rs/load");
4-
const { familySync, GLIBC } = require("detect-libc");
4+
const { familySync, GLIBC, MUSL } = require("detect-libc");
55

66
function requireNative() {
77
if (process.env.LIBSQL_JS_DEV) {
@@ -11,14 +11,18 @@ function requireNative() {
1111
// Workaround for Bun, which reports a musl target, but really wants glibc...
1212
if (familySync() == GLIBC) {
1313
switch (target) {
14-
case "linux-x64-musl":
15-
target = "linux-x64-gnu";
16-
break;
17-
case "linux-arm64-musl":
18-
target = "linux-arm64-gnu";
19-
break;
14+
case "linux-x64-musl":
15+
target = "linux-x64-gnu";
16+
break;
17+
case "linux-arm64-musl":
18+
target = "linux-arm64-gnu";
19+
break;
2020
}
2121
}
22+
// @neon-rs/load doesn't detect arm musl
23+
if (target === "linux-arm-gnueabihf" && familySync() == MUSL) {
24+
target = "linux-arm-musleabihf";
25+
}
2226
return require(`@libsql/${target}`);
2327
}
2428

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,8 @@
1010
"cpu": [
1111
"x64",
1212
"arm64",
13-
"wasm32"
13+
"wasm32",
14+
"arm"
1415
],
1516
"main": "index.js",
1617
"types": "types/index.d.ts",
@@ -50,7 +51,9 @@
5051
"x86_64-apple-darwin": "@libsql/darwin-x64",
5152
"x86_64-pc-windows-msvc": "@libsql/win32-x64-msvc",
5253
"x86_64-unknown-linux-gnu": "@libsql/linux-x64-gnu",
53-
"x86_64-unknown-linux-musl": "@libsql/linux-x64-musl"
54+
"x86_64-unknown-linux-musl": "@libsql/linux-x64-musl",
55+
"arm-unknown-linux-gnueabihf": "@libsql/linux-arm-gnueabihf",
56+
"arm-unknown-linux-musleabihf": "@libsql/linux-arm-musleabihf"
5457
}
5558
},
5659
"repository": {

0 commit comments

Comments
 (0)