diff options
| author | 2025-11-24 13:00:38 +0100 | |
|---|---|---|
| committer | 2025-11-24 13:00:38 +0100 | |
| commit | e8fff45ac3bd4cc02e4889d9a28a0ebcd5c6d1b9 (patch) | |
| tree | 38466188f4fe37f37df6bf1a6dd1ce2525d771ff | |
| parent | 5ba62d79923a48c1b1f6a8fc236650f5a8281844 (diff) | |
bootstrapping 🎉
| -rw-r--r-- | .gitignore | 3 | ||||
| -rwxr-xr-x | bootstrap.sh | 20 | ||||
| -rw-r--r-- | todo.txt | 3 |
3 files changed, 24 insertions, 2 deletions
@@ -1,4 +1,7 @@ antcc +antcc0 +antcc1 +antcc2 build/ test/build/ test/log.txt diff --git a/bootstrap.sh b/bootstrap.sh new file mode 100755 index 0000000..56f0477 --- /dev/null +++ b/bootstrap.sh @@ -0,0 +1,20 @@ +#!/bin/env sh + +set -euo pipefail +cc=gcc +cflags="-std=c11" +src=$(grep -o '\([_A-Za-z0-9/]\)\+\.c' < Makefile) +X() { + echo "> $@" | sed -s 's/\([^ ]\+\.c \?\)\{10\}$/.../' + $@ +} +echo "== Stage 0 (compiling with $cc) ==" +X $cc $cflags -o antcc0 $src +echo +echo "== Stage 1 (compiling with stage 0 output) ==" +X ./antcc0 $cflags -o antcc1 $src +X md5sum antcc1 +echo +echo "== Stage 2 (compiling with stage 1 output) ==" +X ./antcc1 $cflags -o antcc2 $src +X md5sum antcc2 @@ -1,6 +1,5 @@ Things to finish before moving onto compiler optimizations, C extensions, other nice features -- self host -- working?? test thoroughly -- fix preprocessor regressions though - e.g. <math.h> +- fix preprocessor regressions - e.g. <math.h> at some point add another backend like arm64 to make sure the non target specific stuff is generic enough.. |