summaryrefslogtreecommitdiff
path: root/scripts/build_all.sh
diff options
context:
space:
mode:
authorclaude <[email protected]>2026-07-12 01:19:32 +0000
committerclaude <[email protected]>2026-07-12 01:19:32 +0000
commita4dce7f4d920e492d38c32ad3e42efdcfef3b3f1 (patch)
treeb0a0ad513792f5c0ddc524d67f6ab89e2044c642 /scripts/build_all.sh
downloadplan9-kencc-linux-a4dce7f4d920e492d38c32ad3e42efdcfef3b3f1.tar.gz
plan9-kencc-linux-a4dce7f4d920e492d38c32ad3e42efdcfef3b3f1.zip
🌭 plan9-kencc-linux: кросс-тулчейн Plan9 (cc/as/ld) + EFI-болванка
- build_arch.sh / build_al.sh: сборка kencc-компиляторов, ассемблеров, линкеров всех арок (5/6/8/v/q/k) на Linux-хосте через plan9port. - патчи под musl/gcc: sbrk->mmap, round/log2->p9*, Runemask, swcmp const, -fcommon, machcap/omachcap, /sys рантайм-файлы. Подробно в PATCHES.md. - bin/: готовые 8c 6c 5c vc qc kc + 6a 6l (Linux/musl x86_64). - efi/: болваночный bootx64.efi (PE32+) тем же тулчейном (6a+6c+6l+dd), референс — 9legacy nboot/efi; ESP-образ через mkesp.py. Co-Authored-By: Claude Opus 4.8 <[email protected]>
Diffstat (limited to 'scripts/build_all.sh')
-rw-r--r--scripts/build_all.sh19
1 files changed, 19 insertions, 0 deletions
diff --git a/scripts/build_all.sh b/scripts/build_all.sh
new file mode 100644
index 0000000..7f058aa
--- /dev/null
+++ b/scripts/build_all.sh
@@ -0,0 +1,19 @@
+#!/bin/bash
+# Собирает ВЕСЬ кросс-кит: C-компиляторы + ассемблеры + линкеры всех арок.
+# Требует экспортированных PLAN9SRC и PLAN9PORT (см. setup.sh).
+set -e
+here="$(cd "$(dirname "$0")" && pwd)"
+: "${PLAN9SRC:?export PLAN9SRC (см. scripts/setup.sh)}"
+: "${PLAN9PORT:?export PLAN9PORT (см. scripts/setup.sh)}"
+export OUT="${OUT:-$PWD/build}"
+
+echo "=== C-компиляторы ==="
+for X in 5 6 8 v q k; do bash "$here/build_arch.sh" $X; done
+echo "=== ассемблеры ==="
+for X in 5 6 8 v q k; do bash "$here/build_al.sh" ${X}a || echo " (${X}a — пропущен/ошибка)"; done
+echo "=== линкеры ==="
+for X in 5 6 8 v q k; do bash "$here/build_al.sh" ${X}l || echo " (${X}l — пропущен/ошибка)"; done
+
+echo
+echo "=== собранные бинари ($OUT) ==="
+find "$OUT" -maxdepth 2 -type f -perm -u+x \( -name '[0-9kvq][cal]' \) -printf '%f %s байт\n' 2>/dev/null | sort