Files
moss-kernel/scripts/build-deps.sh
2025-11-30 10:19:14 +00:00

56 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
base="$( cd "$( dirname "${BASH_SOURCE[0]}" )"/.. && pwd )"
mkdir -p "$base/build/bin"
rm -f "$base/build/bin"/*
pushd "$base/build" &>/dev/null || exit 1
if [ "$(uname -m)" == 'aarch64' ]; then
MUSL_CC="aarch64-linux-musl-native"
else
MUSL_CC="aarch64-linux-musl-cross"
fi
if [ ! -f "${MUSL_CC}.tgz" ]
then
wget https://musl.cc/${MUSL_CC}.tgz
tar -xzf ${MUSL_CC}.tgz
fi
popd &>/dev/null || exit 1
build=${build:-$(ls $base/scripts/deps)}
export CC="$base/build/${MUSL_CC}/bin/aarch64-linux-musl-gcc"
for script in "$base/scripts/deps/"*
do
[ -e "$script" ] || continue # skip if no file exists
[ -x "$script" ] || continue # skip if not executable
filename=$(basename "$script")
if [[ "$filename" == _* ]]
then
echo "Skipping: $filename"
continue
fi
# skip if not in build list
if ! grep -qw "$filename" <<< "$build";
then
echo "Skipping: $filename"
continue
fi
echo "Preparing: $filename"
# make sure each script is run in the base directory
pushd "$base" &>/dev/null || exit 1
bash "$script"
popd &>/dev/null || exit 1
done