Switch fat-c/boot using environment variable BOOT.
authorJan Nieuwenhuizen <janneke@gnu.org>
Thu, 20 Oct 2016 20:03:17 +0000 (22:03 +0200)
committerJan Nieuwenhuizen <janneke@gnu.org>
Thu, 20 Oct 2016 20:03:17 +0000 (22:03 +0200)
* GNUmakefile: check for BOOT, set CFLAGS.
* mes.c: Remove hardcoded BOOT define.
* scripts/include.mes: include loop-0 when BOOT is set.

GNUmakefile
mes.c
scripts/include.mes

index ce2cc5b1ddda8509aeef44e5e800dda824d97d95..e08f68414662eb216e00cf01989e9a6f3ea59f92 100644 (file)
@@ -10,6 +10,11 @@ CFLAGS:=-std=c99 -O3 -finline-functions
 #CFLAGS:=-pg -std=c99 -O0
 #CFLAGS:=-std=c99 -O0 -g
 
+export BOOT
+ifneq ($(BOOT),)
+CFLAGS+=-DBOOT=1
+endif
+
 include .config.make
 -include .local.make
 include make/install.make
@@ -47,7 +52,7 @@ mes.h: mes.c GNUmakefile
                        echo "scm $$builtin = {FUNCTION$$args, .name=\"$$scm_name\", .function$$args=&$$name};";\
                        echo "a = add_environment (a, \"$$scm_name\", &$$builtin);" 1>&2;\
        done; echo '#endif'; echo '#endif' 1>&2) > $@ 2>environment.i
-       grep -oE '^scm ([a-z_]+) = {(SCM|SYMBOL),' mes.c | cut -d' ' -f 2 |\
+       grep -oE '^scm ([a-z_0-9]+) = {(SCM|SYMBOL),' mes.c | cut -d' ' -f 2 |\
                while read f; do\
                        echo "symbols = cons (&$$f, symbols);";\
                done > symbols.i
@@ -74,7 +79,7 @@ mes-check: all
 
 guile-check:
        for i in $(TESTS); do\
-               guile -s <(cat $(MES-0) $$(scripts/include.mes $$i | grep -Ev 'let.mes|quasiquote.mes|base-0|srfi-0') $$i);\
+               guile -s <(cat $(MES-0) $$(scripts/include.mes $$i | grep -Ev 'let.mes|quasiquote.mes|base-0|loop-0|srfi-0') $$i);\
        done
        for i in $(TESTS); do\
                guile -s <(cat $(MES-0) module/mes/test.mes $$i);\
diff --git a/mes.c b/mes.c
index 48af78efad24c35089ac8170152b0153488ac2ef..ca0bb435c63dae04196471d7f033323a8769ea11 100644 (file)
--- a/mes.c
+++ b/mes.c
@@ -28,7 +28,6 @@
 #include <stdlib.h>
 #include <stdbool.h>
 
-#define BOOT 0
 #define DEBUG 0
 #define BUILTIN_QUASIQUOTE 1 // 6x speedup for mescc
 #define MES_FULL 1
index c13e2e355eae2122c126d83f4b888310650005f3..3638d04b074e5ad6bbabbb796d5e25767f02ac76 100755 (executable)
@@ -9,6 +9,10 @@ for prefix in $(dirname $(dirname $0))/share/mes . $(dirname $(dirname $0)); do
         break;
     fi
 done
+
+if [ -n "$BOOT" ]; then
+    echo $prefix/module/mes/loop-0.mes
+fi
 cat $1 \
   | grep -Eo '(mes-use-module \([^()]+ [^()]+))' \
   | grep -Eo ' \([^)]+\)' \