Also we are now using a cross compiler to create the toolchain because I'm too lazy to do too much scripting lmao.
42 lines
1,018 B
Bash
Executable file
42 lines
1,018 B
Bash
Executable file
#!/bin/sh
|
|
set -eu
|
|
|
|
. $PWD/scripts/config.sh
|
|
|
|
ELF_TAR=$(ls "$PROOT"/sources/elftoolchain-*.tar.* 2>/dev/null | head -n 1 | xargs basename)
|
|
if [ -z "$ELF_TAR" ]; then
|
|
echo "ERR: No Musl tarball found in sources directory"
|
|
exit 1
|
|
fi
|
|
ELF_SOURCE="${ELF_TAR%%.tar.*}"
|
|
|
|
if command -v "clang" >/dev/null 2>&1 && command -v "lld" >/dev/null 2>&1; then
|
|
export CC="clang"
|
|
else
|
|
export CC="cc"
|
|
fi
|
|
|
|
if [ ! -d $PROOT/build/"$ELF_SOURCE" ]; then
|
|
echo "Extracting Elftoolchain tarball to ./build/"
|
|
tar -xpf $PROOT/sources/"$ELF_TAR" -C ./build
|
|
else
|
|
echo "Elftoolchain source already extracted."
|
|
fi
|
|
|
|
echo "Buliding musl headers"
|
|
if [ -f "$PROOT/build/$ELF_SOURCE" ]; then
|
|
echo "ELFTOOLCHAIN already built, skipping..."
|
|
exit
|
|
fi
|
|
|
|
cd ./build/"$ELF_SOURCE"
|
|
|
|
echo "patching elftoolchain-cross..."
|
|
|
|
patch -Np1 < "$PROOT"/patches/elftoolchain/*
|
|
|
|
echo "Installing elftoolchain-cross..."
|
|
|
|
bmake WITH_ADDITIONAL_DOCUMENTATION=no \
|
|
WITH_TESTS=no \
|
|
MANTARGET=man
|