@@ -6,26 +6,61 @@ MUSL_X86_64_FILENAME=x86_64-linux-musl-native.tgz
66MUSL_X86_64_SHA512=44d441ad9aa11a06feddf3daa4c9f53ad7d9ca37af1f5a61379aca07793703d179410cea723c1b7fca94c4de19a321228bdb3656bc5cbdb5e3bea8e2d6dac6c7
77MUSL_AARCH64_FILENAME=aarch64-linux-musl-native.tgz
88MUSL_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
915
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} "
1618
17- MUSL_AARCH64_URL=" https://more.musl.cc/11.2.1/x86_64-linux-musl/${MUSL_FILENAME} "
19+ MUSL_FILENAME=" "
20+ MUSL_SHA512=" "
1821
19- ROOT_DIR=" $( git rev-parse --show-toplevel) "
22+ ROOT_DIR=" ${ROOT_DIR :- $ (git rev-parse --show-toplevel)} "
2023MUSL_DIR=" ${ROOT_DIR} /build/musl"
2124
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+
2260if [ ! -f " ${MUSL_DIR} /bin" ]; then
2361 TARGET_FILE=" ${MUSL_DIR} /${MUSL_FILENAME} "
24- mkdir -p " ${MUSL_DIR} "
25-
26- echo " ${MUSL_SHA512} ${TARGET_FILE} "
2762 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
2964 echo " Checksum failed for ${MUSL_FILENAME} ."
3065 rm -rf " ${MUSL_DIR} "
3166 exit 1
0 commit comments