commit 58d098dfae9ff876c051a8729cfaa5aa1961276b
parent e12419d686faaf1a7daca96245b5f3b1abd477a0
Author: cowmonk <cowmonk@based.pt>
Date: Sat, 15 Nov 2025 10:15:15 -0700
Reworking the toolchain
We need to make a cross compiler first before then targeting the actual
toolchain
Diffstat:
4 files changed, 36 insertions(+), 42 deletions(-)
diff --git a/Makefile b/Makefile
@@ -14,8 +14,7 @@ pull:
fi
build: init
- ./scripts/headers.sh
- ./scripts/musl.sh
+ ./scripts/musl-cross.sh
init:
@if [ ! -d ./build/${FROOT} ]; then \
diff --git a/scripts/headers.sh b/scripts/headers.sh
@@ -38,5 +38,3 @@ make headers
find usr/include -type f ! -name '*.h' -delete
cp -rv usr/include/* ../"$FROOT"/include/
-exit
-
diff --git a/scripts/musl-cross.sh b/scripts/musl-cross.sh
@@ -0,0 +1,35 @@
+#!/bin/sh
+set -eu
+
+ARCH=$(uname -m)
+FROOT="../$ARCH-musllvm" # make install in source dir
+MUSL_TAR=$(ls ./sources/musl-*.tar.* 2>/dev/null | head -n 1 | xargs basename)
+if [ -z "$MUSL_TAR" ]; then
+ echo "ERR: No Musl tarball found in sources directory"
+ exit 1
+fi
+MUSL_SOURCE="${MUSL_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 ./build/"MUSL_SOURCE" ]; then
+ echo "Extracting Musl tarball to ./build/"
+ tar -xpf ./sources/"$MUSL_TAR" -C ./build
+else
+ echo "Musl source already extracted."
+fi
+
+echo "Buliding musl headers"
+if [ -f "./build/$MUSL_SOURCE" ]; then
+ echo "Musl headers already built, skipping..."
+ exit
+fi
+
+cd ./build/"$MUSL_SOURCE"
+
+echo "Installing musl headers..."
+DESTDIR=$FROOT make ARCH=$(uname -m) install-headers
diff --git a/scripts/musl.sh b/scripts/musl.sh
@@ -1,38 +0,0 @@
-#!/bin/sh
-set -eu
-
-ARCH=$(uname -m)
-FROOT="./build/$ARCH-musllvm"
-MUSL_TAR=$(ls ./sources/musl-*.tar.* 2>/dev/null | head -n 1 | xargs basename)
-if [ -z "$MUSL_TAR" ]; then
- echo "ERR: No Musl tarball found in sources directory"
- exit 1
-fi
-MUSL_SOURCE="${MUSL_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 ./build/"MUSL_SOURCE" ]; then
- echo "Extracting Musl tarball to ./build/"
- tar -xpf ./sources/"$MUSL_TAR" -C ./build
-else
- echo "Musl source already extracted."
-fi
-
-echo "Buliding musl"
-if [ -f ./build/"$FROOT"/include/libc.so ]; then
- echo "Musl already built, skipping..."
- exit
-fi
-
-cd ./build/"$MUSL_SOURCE"
-
-./configure \
- --prefix=/ \
-
-make -j$(nproc)
-DESTDIR=$FROOT make install