Files
Asuro/toolchain/compile_sources.sh
t3hn3rd dd3bb1e016
continuous-integration/drone/push Build is passing
continuous-integration/drone/pr Build is passing
Automate boot unit inclusion with architecture-aware Moderne analysis
- Replace boot.mgr's static unit list with generated dangling_units.inc
- Generate Pascal LSTs and run the dangling-unit recipe before compilation
- Exclude Wasuro, inactive architectures, and NOT_DANGLING units
- Add ASURO_ARCH selection with an x86 default
- Mark unfinished legacy units as NOT_DANGLING
- Inherit pinned Moderne tooling in the builder image
- Ensure Drone pulls the latest builder image
- Document the updated build pipeline in MkDocs

Validation:
- Full x86 ISO build and VirtualBox boot succeeded
- 1,133 kernel tests passed with no failures
- x86_64 build failed clearly due to unavailable sources
2026-11-07 21:49:06 +00:00

22 lines
729 B
Bash

#!/usr/bin/env bash
set -euo pipefail
source "$(dirname "${BASH_SOURCE[0]}")/architecture.sh"
echo " "
echo "======================="
echo " "
echo "Compiling FPC Sources..."
echo " "
# Keep other architectures out of FPC's unit resolution, including arch/ itself.
FU_PATHS=()
while IFS= read -r -d '' dir; do
FU_PATHS+=("-Fu$dir")
done < <(find src wasuro compat -path src/arch -prune -o -type d -print0
find "src/arch/$ASURO_ARCH" -type d -print0)
if [[ "$ASURO_ARCH" == "x86" ]]; then
fpc -Aelf -gw -g -gl -n -v0e -O3 -OpPENTIUM3 -Si -Sc -Sg -Xd -CX -XXs -CfSSE -CfSSE2 -Rintel -Pi386 -Tlinux -FElib/ "${FU_PATHS[@]}" src/asuro.pas
else
echo "No compiler found for target: $ASURO_ARCH" >&2
exit 1
fi