File tree 3 files changed +42
-1
lines changed
3 files changed +42
-1
lines changed Original file line number Diff line number Diff line change @@ -11,4 +11,10 @@ rustflags = ["-C", "target-cpu=apple-m1"]
11
11
rustflags = [" -C" , " target-cpu=x86-64-v2" ]
12
12
13
13
[target .aarch64-pc-windows-msvc ]
14
+ rustflags = [" -C" , " target-cpu=generic" ]
15
+
16
+ [target .aarch64-unknown-linux-gnu ]
17
+ rustflags = [" -C" , " target-cpu=generic" ]
18
+
19
+ [target .aarch64-unknown-linux-musl ]
14
20
rustflags = [" -C" , " target-cpu=generic" ]
Original file line number Diff line number Diff line change 77
77
target : x86_64-unknown-linux-gnu
78
78
artifact_name : yek
79
79
asset_name : yek-x86_64-unknown-linux-gnu.tar.gz
80
+ - os : ubuntu-latest
81
+ target : x86_64-unknown-linux-musl
82
+ artifact_name : yek
83
+ asset_name : yek-x86_64-unknown-linux-musl.tar.gz
84
+ - os : ubuntu-latest
85
+ target : aarch64-unknown-linux-gnu
86
+ artifact_name : yek
87
+ asset_name : yek-aarch64-unknown-linux-gnu.tar.gz
88
+ - os : ubuntu-latest
89
+ target : aarch64-unknown-linux-musl
90
+ artifact_name : yek
91
+ asset_name : yek-aarch64-unknown-linux-musl.tar.gz
80
92
- os : macos-latest
81
93
target : x86_64-apple-darwin
82
94
artifact_name : yek
@@ -98,7 +110,15 @@ jobs:
98
110
with :
99
111
cache-on-failure : true
100
112
key : ${{ matrix.target }}
113
+ - name : Install cross-compilation tools
114
+ if : contains(matrix.target, 'aarch64-unknown-linux')
115
+ run : |
116
+ sudo apt-get update
117
+ sudo apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu binutils-aarch64-linux-gnu
101
118
- name : Build target
119
+ env :
120
+ CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER : aarch64-linux-gnu-gcc
121
+ CARGO_TARGET_AARCH64_UNKNOWN_LINUX_MUSL_LINKER : aarch64-linux-gnu-gcc
102
122
run : cargo build --release --target ${{ matrix.target }} --locked
103
123
- name : Package
104
124
shell : bash
Original file line number Diff line number Diff line change @@ -40,7 +40,22 @@ ARCH=$(uname -m)
40
40
41
41
case " ${OS} _${ARCH} " in
42
42
Linux_x86_64)
43
- TARGET=" x86_64-unknown-linux-gnu"
43
+ # Check glibc version
44
+ GLIBC_VERSION=$( ldd --version 2>&1 | head -n1 | grep -oP ' GLIBC \K[\d.]+' || echo " " )
45
+ if [ -z " $GLIBC_VERSION " ] || [ " $( printf ' %s\n' " 2.31" " $GLIBC_VERSION " | sort -V | head -n1) " = " $GLIBC_VERSION " ]; then
46
+ TARGET=" x86_64-unknown-linux-musl"
47
+ else
48
+ TARGET=" x86_64-unknown-linux-gnu"
49
+ fi
50
+ ;;
51
+ Linux_aarch64)
52
+ # Check glibc version for ARM64
53
+ GLIBC_VERSION=$( ldd --version 2>&1 | head -n1 | grep -oP ' GLIBC \K[\d.]+' || echo " " )
54
+ if [ -z " $GLIBC_VERSION " ] || [ " $( printf ' %s\n' " 2.31" " $GLIBC_VERSION " | sort -V | head -n1) " = " $GLIBC_VERSION " ]; then
55
+ TARGET=" aarch64-unknown-linux-musl"
56
+ else
57
+ TARGET=" aarch64-unknown-linux-gnu"
58
+ fi
44
59
;;
45
60
Darwin_x86_64)
46
61
TARGET=" x86_64-apple-darwin"
You can’t perform that action at this time.
0 commit comments