musllvm/scripts/headers.sh
cowmonk b041f9304f Rework on scripts
Also we are now using a cross compiler to create the toolchain because
I'm too lazy to do too much scripting lmao.
2025-11-15 20:00:42 -07:00

40 lines
1,008 B
Bash
Executable file

#!/bin/sh
set -eu
. $PWD/scripts/config.sh
LINUX_TAR=$(ls "$PROOT"/sources/linux-*.tar.* 2>/dev/null | head -n 1 | xargs basename)
if [ -z "$LINUX_TAR" ]; then
echo "ERR: No Linux tarball found in sources directory"
exit 1
fi
LINUX_SOURCE="${LINUX_TAR%%.tar*}"
if command -v "clang" >/dev/null 2>&1 && command -v "lld" >/dev/null 2>&1; then
export LLVM=1
export LLVM_IAS=1
fi
if [ ! -d $PROOT/build/"$LINUX_SOURCE" ]; then
echo "Extracting Linux tarball to ./build/"
tar -xpf $PROOT/sources/"$LINUX_TAR" -C $PROOT/build
else
echo "Linux source already extracted."
fi
echo "Creating target include directory"
mkdir -pv $PROOT/build/"$FROOT"/include
echo "Building Headers"
if [ -d $PROOT/build/"$FROOT"/include/linux ]; then
echo "Headers already built, skipping..."
exit
fi
cd ./build/"$LINUX_SOURCE"
make mrproper
make headers
find usr/include -type f ! -name '*.h' -delete
cp -rv usr/include/* $PROOT/build/"$FROOT"/include/