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
This commit is contained in:
1 parent
7ed8012c7e
commit
dd3bb1e016
20 files changed
+149
-121
No files matched your search
@@ -1,13 +1,21 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
source "$(dirname "${BASH_SOURCE[0]}")/architecture.sh"
|
||||
echo " "
|
||||
echo "======================="
|
||||
echo " "
|
||||
echo "Compiling FPC Sources..."
|
||||
echo " "
|
||||
# Build -Fu flags for all directories under src/, wasuro/ and compat/
|
||||
FU_PATHS="-Fusrc -Fuwasuro -Fucompat"
|
||||
for dir in $(find src wasuro compat -type d 2>/dev/null); do
|
||||
FU_PATHS="$FU_PATHS -Fu$dir"
|
||||
done
|
||||
# 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)
|
||||
|
||||
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
|
||||
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
|
||||
Reference in new issue
Block a user