(Arne Babenhauserheide)
2015-09-24: wisp now starts from wisp.scm wisp now starts from wisp.scm
diff --git a/Makefile.am b/Makefile.am --- a/Makefile.am +++ b/Makefile.am @@ -17,7 +17,7 @@ ChangeLog : .INTERMEDIATE: input.in.intermediate input.in.intermediate: ${wisp_SOURCES} wisp.scm - @abs_top_srcdir@/bootstrap-reader.sh @abs_top_srcdir@ @guile@ wisp.scm 2>&1 | sed "s/^;;;.*//" 2>&1 | grep . 1>&2 ; test ! $$? -eq 0 # it worked if grep does not find anything + @abs_top_srcdir@/bootstrap-reader.sh @abs_top_srcdir@ @abs_top_builddir@ @guile@ wisp.scm 2>&1 | sed "s/^;;;.*//" 2>&1 | grep . 1>&2 ; test ! $$? -eq 0 # it worked if grep does not find anything wisp.scm: wisp-guile.w wisp.py @abs_top_srcdir@/bootstrap.sh @abs_top_srcdir@ @guile@ @python3@ 2>&1 | sed "s/^;;;.*//" 2>&1 | grep . 1>&2 ; test ! $$? -eq 0 # it worked if grep does not find anything @@ -29,7 +29,7 @@ syntaxtests.sh : wisp.scm tests/runtests chmod +x @abs_top_builddir@/$@ .PHONY: syntaxtestsreader.sh -syntaxtestsreader.sh : wisp.scm tests/runtests-scheme-reader.sh +syntaxtestsreader.sh : ${wisp} wisp.scm tests/runtests-scheme-reader.sh echo '#!/bin/bash' > @abs_top_builddir@/$@ echo @abs_top_srcdir@/tests/runtests-scheme-reader.sh @abs_top_srcdir@ @abs_top_builddir@ >> @abs_top_builddir@/$@ chmod +x @abs_top_builddir@/$@ diff --git a/NEWS b/NEWS --- a/NEWS +++ b/NEWS @@ -1,5 +1,7 @@ wisp 0.9.0 (2015-09-24): - actually distribute wisp.scm +- wisp now starts from wisp.scm. To bootstrap a release from Python, + remove wisp.scm and run `make wisp.scm` wisp 0.8.7 (2015-09-24): - new example say.w, companion to diff --git a/bootstrap-reader.sh b/bootstrap-reader.sh --- a/bootstrap-reader.sh +++ b/bootstrap-reader.sh @@ -7,32 +7,44 @@ else fi if [[ x"$2" == x"" ]]; then + builddir=. +else + builddir="$2" +fi + + +if [[ x"$3" == x"" ]]; then guile='guile' else - guile="$2" + guile="$3" fi -if [[ x"$3" == x"" ]]; then + +if test -f wisp.scm; then wisp=wisp.scm +elif test -f "${builddir}/wisp.scm"; then + wisp="${builddir}/wisp.scm" else - wisp="$3" + wisp="${srcdir}/wisp.scm" fi - -mkdir -p language/wisp +mkdir -p ${builddir}/language/wisp echo ";;;" preparing the reader: wisp at the REPL 1>&2 echo ";;;" parsing wisp-scheme.w with the parser for the REPL 1>&2 -${guile} ${wisp} ${srcdir}/wisp-scheme.w 2>/dev/null > wisp-scheme.scm \ +${guile} ${wisp} ${srcdir}/wisp-scheme.w 2>/dev/null > ${builddir}/wisp-scheme.scm \ && echo ";;;" ...precompiling the parser... 1>&2 \ - && ${guile} -s wisp-scheme.scm 2>/dev/null \ + && ${guile} -s ${builddir}/wisp-scheme.scm 2>/dev/null \ && echo ";;;" ...succeeded 1>&2 \ + || echo creating wisp-scheme.scm failed echo ";;;" parsing the spec file... 1>&2 -${guile} ${wisp} ${srcdir}/wisp-reader.w 2>/dev/null > language/wisp/spec.scm \ +${guile} ${wisp} ${srcdir}/wisp-reader.w 2>/dev/null > ${builddir}/language/wisp/spec.scm \ && echo ";;;" ...precompiling the spec file... 1>&2 \ - && ${guile} -L . -s language/wisp/spec.scm \ + && ${guile} -L . -s ${builddir}/language/wisp/spec.scm \ && echo ";;;" ...succeeded 1>&2 \ - && echo ";;;" to use wisp at the REPL, run '`'${guile} -L . --language=wisp'`' 1>&2 + && echo ";;;" to use wisp at the REPL, run '`'${guile} -L . --language=wisp'`' 1>&2 \ + || echo creating language/wisp/spec.scm failed + diff --git a/configure.ac b/configure.ac --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl run `autoreconf -i` to generate a configure script. dnl Then run ./configure to generate a Makefile. dnl Finally run make to generate the project. -AC_INIT([wisp], [0.8.7], +AC_INIT([wisp], [0.9.0], [arne_bab@web.de]) # Check for programs I need for my build AC_CANONICAL_TARGET diff --git a/tests/runtests-scheme-preprocessor.sh b/tests/runtests-scheme-preprocessor.sh --- a/tests/runtests-scheme-preprocessor.sh +++ b/tests/runtests-scheme-preprocessor.sh @@ -19,7 +19,7 @@ cd ${srcdir}/tests for i in *.w; do # skip strangecomments if test x"${i}" = x"strangecomments.w"; then continue; fi - d=$(guile ${builddir}/wisp.scm "$i" > ${builddir}/testtempfoo.scm; diff -wuB ${builddir}/testtempfoo.scm "$(basename "$i" .w)".scm; rm ${builddir}/testtempfoo.scm) + d=$(guile ${srcdir}/wisp.scm "$i" > ${builddir}/testtempfoo.scm; diff -wuB ${builddir}/testtempfoo.scm "$(basename "$i" .w)".scm; rm ${builddir}/testtempfoo.scm) if test x"$d" = x""; then continue else diff --git a/tests/runtests-scheme-reader.sh b/tests/runtests-scheme-reader.sh --- a/tests/runtests-scheme-reader.sh +++ b/tests/runtests-scheme-reader.sh @@ -17,10 +17,10 @@ fi failed=0 cd ${builddir} for i in ${srcdir}/tests/*.w; do - if guile -L . --language=wisp ${srcdir}/testrunner.w "${i}" "${srcdir}/tests/$(basename "${i}" .w).scm" | grep -q "have equivalent content"; then + if guile -L ${builddir} --language=wisp ${srcdir}/testrunner.w "${i}" "${srcdir}/tests/$(basename "${i}" .w).scm" | grep -q "have equivalent content"; then continue fi - echo test "$i" failed. Diff: $(guile -L . --language=wisp ${srcdir}/testrunner.w "${i}" "${srcdir}/tests/$(basename "${i}" .w).scm") + echo test "$i" failed. Diff: $(guile -L ${builddir} --language=wisp ${srcdir}/testrunner.w "${i}" "${srcdir}/tests/$(basename "${i}" .w).scm") failed=$((failed + 1)) done cd - >/dev/null # undo dir change