summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2016-02-23 14:07:37 (EST)
committer P. J. McDermott <pj@pehjota.net>2016-02-23 14:07:37 (EST)
commit02339d09ee9df166388be2a17bf643e29ffc7576 (patch)
treee6b39840f348e2c2872f47f5df83f5d807184978
parent695252738cb9d28feef590588a53f2de183e6def (diff)
downloadeggshell-02339d09ee9df166388be2a17bf643e29ffc7576.zip
eggshell-02339d09ee9df166388be2a17bf643e29ffc7576.tar.gz
eggshell-02339d09ee9df166388be2a17bf643e29ffc7576.tar.bz2
Pre-eshld three-stage bootstrap script: Now you see it...
eshtrans was first able to pass a three-stage bootstrap at commit f6e7120 and failed to bootstrap with this script beginning at commit c8148e0 (when the runtime library became required).
-rw-r--r--eshtrans/bootstrap.sh18
1 files changed, 18 insertions, 0 deletions
diff --git a/eshtrans/bootstrap.sh b/eshtrans/bootstrap.sh
new file mode 100644
index 0000000..00b8072
--- /dev/null
+++ b/eshtrans/bootstrap.sh
@@ -0,0 +1,18 @@
+printf 'Stage 1\n'
+printf 'main "${@}"\n' | cat $(find * -type f -a -name '*.esh') - >stage1.sh
+
+printf 'Stage 2\n'
+>stage2.sh
+for f in $(find * -type f -a -name '*.esh'); do
+ echo compiling "$f"
+ time -p sh stage1.sh "$f" >>stage2.sh
+done
+printf 'main "${@}"\n' >>stage2.sh
+
+printf 'Stage 3\n'
+>stage3.sh
+for f in $(find * -type f -a -name '*.esh'); do
+ echo compiling "$f"
+ time -p sh stage2.sh "$f" >>stage3.sh
+done
+printf 'main "${@}"\n' >>stage3.sh