musl-cross.sh (905B)
1 #!/bin/sh 2 set -eu 3 4 . $PWD/scripts/config.sh 5 6 MUSL_TAR=$(ls "$PROOT"/sources/musl-*.tar.* 2>/dev/null | head -n 1 | xargs basename) 7 if [ -z "$MUSL_TAR" ]; then 8 echo "ERR: No Musl tarball found in sources directory" 9 exit 1 10 fi 11 MUSL_SOURCE="${MUSL_TAR%%.tar.*}" 12 13 if command -v "clang" >/dev/null 2>&1 && command -v "lld" >/dev/null 2>&1; then 14 export CC="clang" 15 else 16 export CC="cc" 17 fi 18 19 if [ ! -d $PROOT/build/"MUSL_SOURCE" ]; then 20 echo "Extracting Musl tarball to ./build/" 21 tar -xpf ./sources/"$MUSL_TAR" -C ./build 22 else 23 echo "Musl source already extracted." 24 fi 25 26 echo "Buliding musl headers" 27 if [ -f "$PROOT/build/$MUSL_SOURCE" ]; then 28 echo "Musl headers already built, skipping..." 29 exit 30 fi 31 32 cd $PROOT/build/"$MUSL_SOURCE" 33 34 echo "Installing musl headers..." 35 ./configure \ 36 --prefix=/ 37 38 DESTDIR=$CROSS make ARCH=$(uname -m) install-headers