elftoolchain-cross.sh (1018B)
1 #!/bin/sh 2 set -eu 3 4 . $PWD/scripts/config.sh 5 6 ELF_TAR=$(ls "$PROOT"/sources/elftoolchain-*.tar.* 2>/dev/null | head -n 1 | xargs basename) 7 if [ -z "$ELF_TAR" ]; then 8 echo "ERR: No Musl tarball found in sources directory" 9 exit 1 10 fi 11 ELF_SOURCE="${ELF_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/"$ELF_SOURCE" ]; then 20 echo "Extracting Elftoolchain tarball to ./build/" 21 tar -xpf $PROOT/sources/"$ELF_TAR" -C ./build 22 else 23 echo "Elftoolchain source already extracted." 24 fi 25 26 echo "Buliding musl headers" 27 if [ -f "$PROOT/build/$ELF_SOURCE" ]; then 28 echo "ELFTOOLCHAIN already built, skipping..." 29 exit 30 fi 31 32 cd ./build/"$ELF_SOURCE" 33 34 echo "patching elftoolchain-cross..." 35 36 patch -Np1 < "$PROOT"/patches/elftoolchain/* 37 38 echo "Installing elftoolchain-cross..." 39 40 bmake WITH_ADDITIONAL_DOCUMENTATION=no \ 41 WITH_TESTS=no \ 42 MANTARGET=man