diff --git a/tests/build/build-opts.txt b/tests/build/build-opts.txt index 43b9c131..e99aa2bf 100644 --- a/tests/build/build-opts.txt +++ b/tests/build/build-opts.txt @@ -4,6 +4,7 @@ CPPFLAGS=-DSEXP_USE_SIMPLIFY=0 CPPFLAGS=-DSEXP_USE_TYPE_DEFS=0 SEXP_USE_BOEHM=1;CPPFLAGS=-I/opt/local/include;LDFLAGS=-L/opt/local/lib CPPFLAGS=-DSEXP_USE_DEBUG_GC=1 +CPPFLAGS=-DSEXP_USE_CONSERVATIVE_GC=1 CPPFLAGS=-DSEXP_USE_GLOBAL_HEAP=1 CPPFLAGS=-DSEXP_USE_GLOBAL_SYMBOLS=1 CPPFLAGS=-DSEXP_USE_FLONUMS=0 @@ -19,4 +20,13 @@ CPPFLAGS=-DSEXP_USE_STRING_STREAMS=0 CPPFLAGS=-DSEXP_USE_AUTOCLOSE_PORTS=0 CPPFLAGS=-DSEXP_USE_2010_EPOCH=0 CPPFLAGS=-DSEXP_USE_CHECK_STACK=0 +CPPFLAGS=-DSEXP_USE_EXTENDED_FCALL=0 +CPPFLAGS=-DSEXP_USE_WEAK_REFERENCES=0 +CPPFLAGS=-DSEXP_USE_OBJECT_BRACE_LITERALS=0 +CPPFLAGS=-DSEXP_USE_TAIL_JUMPS=0 +CPPFLAGS=-DSEXP_USE_RESERVE_OPCODE=0 +CPPFLAGS=-DSEXP_USE_PROFILE_VM=1 +CPPFLAGS=-DSEXP_USE_UTF8_STRINGS=0 +CPPFLAGS=-DSEXP_USE_STATIC_LIBS=1 +CPPFLAGS=-DSEXP_USE_MUTABLE_STRINGS=0 CPPFLAGS=-DSEXP_USE_NO_FEATURES=1 diff --git a/tests/build/build-tests.sh b/tests/build/build-tests.sh index cbab48f8..1071b8ca 100755 --- a/tests/build/build-tests.sh +++ b/tests/build/build-tests.sh @@ -1,13 +1,13 @@ #!/bin/sh -# test basic build options +# Test basic build options. -# for bootstrapping reasons this is a shell script, instead of a -# scheme script using (chibi process) +# For bootstrapping reasons this is a shell script, instead of a +# scheme script using (chibi process). -# we just check each build against r5rs-tests.scm - -# some of the libraries will fail to build (notably -# if modules or user-defined types are disabled). +# We just check each build against r5rs-tests.scm - some of the +# libraries will fail to build (notably if modules or user-defined +# types are disabled). BUILDDIR=tests/build FAILURES=0 @@ -15,10 +15,22 @@ MAKE=${MAKE:-make} i=0 for opts in $(cat ${BUILDDIR}/build-opts.txt); do + # If compiling with static libs, we need to bootstrap to build + # clibs.c. + if echo ${opts} | grep -q 'SEXP_USE_STATIC_LIBS=1'; then + staticopts=$(echo ${opts} | sed 's/-DSEXP_USE_STATIC_LIBS=1;*//') + staticopts=$(echo ${staticopts} | tr ';' ' ') + $MAKE cleaner 2>&1 >/dev/null + rm -f clibs.c + $MAKE $staticopts chibi-scheme 2>&1 >${BUILDDIR}/build${i}-bootstrap.out + $MAKE $staticopts clibs.c 2>&1 >${BUILDDIR}/build${i}-clibs.out + fi + # Try to build then run tests. opts=$(echo ${opts} | tr ';' ' ') $MAKE cleaner 2>&1 >/dev/null if $MAKE $opts chibi-scheme 2>&1 >${BUILDDIR}/build${i}-make.out; then - if $MAKE test 2>&1 | tee ${BUILDDIR}/build${i}-test.out | grep -q -E 'FAIL|ERROR'; then + if $MAKE test 2>&1 | tee ${BUILDDIR}/build${i}-test.out \ + | grep -q -E 'FAIL|ERROR'; then echo "[FAIL] ${i}: tests failed with $opts" FAILURES=$((FAILURES + 1)) else