@@ -6,26 +6,61 @@ MUSL_X86_64_FILENAME=x86_64-linux-musl-native.tgz
6
6
MUSL_X86_64_SHA512=44d441ad9aa11a06feddf3daa4c9f53ad7d9ca37af1f5a61379aca07793703d179410cea723c1b7fca94c4de19a321228bdb3656bc5cbdb5e3bea8e2d6dac6c7
7
7
MUSL_AARCH64_FILENAME=aarch64-linux-musl-native.tgz
8
8
MUSL_AARCH64_SHA512=16d544e09845c9dbba50f29e0cb04dd661e17eb63c56acad6a67fd2a78aa7596b792477c7177d3cd56d408a27dc291a90507df882f2b099c0f25511ce08fd3b5
9
+ MUSL_XX86_64_FILENAME=x86_64-linux-musl-cross.tgz
10
+ MUSL_XX86_64_SHA512=52abd1a56e670952116e35d1a62e048a9b6160471d988e16fa0e1611923dd108a581d2e00874af5eb04e4968b1ba32e0eb449a1f15c3e4d5240ebe09caf5a9f3
11
+ MUSL_XAARCH64_FILENAME=aarch64-linux-musl-cross.tgz
12
+ MUSL_XAARCH64_SHA512=8695ff86979cdf30fbbcd33061711f5b1ebc3c48a87822b9ca56cde6d3a22abd4dab30fdcd1789ac27c6febbaeb9e5bde59d79d66552fae53d54cc1377a19272
13
+ MUSL_XARMV7_FILENAME=armv7l-linux-musleabihf-cross.tgz
14
+ MUSL_XARMV7_SHA512=1bb399a61da425faac521df9b8d303e60ad101f6c7827469e0b4bc685ce1f3dedc606ac7b1e8e34d79f762a3bfe3e8ab479a97e97d9f36fbd9fc5dc9d7ed6fd1
9
15
10
- MUSL_FILENAME=" ${MUSL_X86_64_FILENAME} "
11
- MUSL_SHA512=" ${MUSL_X86_64_SHA512} "
12
- if [ " $( uname -m) " = " arm64" ] || [ " $( uname -m) " = " aarch64" ]; then
13
- MUSL_FILENAME=" ${MUSL_AARCH64_FILENAME} "
14
- MUSL_SHA512=" ${MUSL_AARCH64_SHA512} "
15
- fi
16
+ TARGET_ARCH=" ${TARGET_ARCH:- $(uname -m)} "
17
+ ENV_FILE=" ${ENV_FILE:- false} "
16
18
17
- MUSL_AARCH64_URL=" https://more.musl.cc/11.2.1/x86_64-linux-musl/${MUSL_FILENAME} "
19
+ MUSL_FILENAME=" "
20
+ MUSL_SHA512=" "
18
21
19
- ROOT_DIR=" $( git rev-parse --show-toplevel) "
22
+ ROOT_DIR=" ${ROOT_DIR :- $ (git rev-parse --show-toplevel)} "
20
23
MUSL_DIR=" ${ROOT_DIR} /build/musl"
21
24
25
+
26
+ if [ " ${TARGET_ARCH} " = " $( uname -m) " ]; then
27
+ MUSL_FILENAME=" ${MUSL_X86_64_FILENAME} "
28
+ MUSL_SHA512=" ${MUSL_X86_64_SHA512} "
29
+ MUSL_PREFIX=$( xx-info alpine-arch) -linux-musl-native/bin/$( xx-info alpine-arch) -linux-musl
30
+ if [ " ${TARGET_ARCH} " = " arm64" ] || [ " ${TARGET_ARCH} " = " aarch64" ]; then
31
+ MUSL_FILENAME=" ${MUSL_AARCH64_FILENAME} "
32
+ MUSL_SHA512=" ${MUSL_AARCH64_SHA512} "
33
+ fi
34
+ else
35
+ MUSL_FILENAME=" ${MUSL_XX86_64_FILENAME} "
36
+ MUSL_SHA512=" ${MUSL_XX86_64_SHA512} "
37
+ MUSL_PREFIX=$( xx-info alpine-arch) -linux-musl-cross/bin/$( xx-info alpine-arch) -linux-musl
38
+ if [ " ${TARGET_ARCH} " = " arm64" ] || [ " ${TARGET_ARCH} " = " aarch64" ]; then
39
+ MUSL_FILENAME=" ${MUSL_XAARCH64_FILENAME} "
40
+ MUSL_SHA512=" ${MUSL_XAARCH64_SHA512} "
41
+ elif [ " ${TARGET_ARCH} " = " arm" ] || [ " ${TARGET_ARCH} " = " armv7" ]; then
42
+ MUSL_FILENAME=" ${MUSL_XARMV7_FILENAME} "
43
+ MUSL_SHA512=" ${MUSL_XARMV7_SHA512} "
44
+ MUSL_PREFIX=armv7l-linux-musleabihf-cross/bin/armv7l-linux-musleabihf
45
+ fi
46
+ fi
47
+
48
+ mkdir -p " ${MUSL_DIR} "
49
+
50
+ if " ${ENV_FILE} " ; then
51
+ cat<< EOF > "${MUSL_DIR} /${TARGET_ARCH} .env"
52
+ CC="$( pwd) /build/musl/${MUSL_PREFIX} -gcc"
53
+ CXX="$( pwd) /build/musl/${MUSL_PREFIX} -g++"
54
+ AR="$( pwd) /build/musl/${MUSL_PREFIX} -ar"
55
+ EOF
56
+ fi
57
+
58
+ MUSL_AARCH64_URL=" https://more.musl.cc/11.2.1/x86_64-linux-musl/${MUSL_FILENAME} "
59
+
22
60
if [ ! -f " ${MUSL_DIR} /bin" ]; then
23
61
TARGET_FILE=" ${MUSL_DIR} /${MUSL_FILENAME} "
24
- mkdir -p " ${MUSL_DIR} "
25
-
26
- echo " ${MUSL_SHA512} ${TARGET_FILE} "
27
62
curl -o " ${TARGET_FILE} " -LO " ${MUSL_AARCH64_URL} "
28
- if ! echo " ${MUSL_SHA512} ${TARGET_FILE} " | sha512sum --check ; then
63
+ if ! echo " ${MUSL_SHA512} ${TARGET_FILE} " | sha512sum; then
29
64
echo " Checksum failed for ${MUSL_FILENAME} ."
30
65
rm -rf " ${MUSL_DIR} "
31
66
exit 1
0 commit comments