(Arne Babenhauserheide)
2014-01-08: Integrated bootstrapping with autotools. v0.5.3 Integrated bootstrapping with autotools.
diff --git a/AUTHORS b/AUTHORS
new file mode 100644
--- /dev/null
+++ b/AUTHORS
@@ -0,0 +1,17 @@
+Main Author: Arne Babenhauserheide
+
+Specific Contributions:
+
+- Mark Weaver and Arne Babenhauserheide: Efficient string-replace-substring
+- Mark Weaver and NalaGinrut and Arne Babenhauserheide: wisp-reader.w
+
+Authors Info:
+
+Arne Babenhauserheide:
+ Arne Babenhauserheide known as ArneBab: http://savannah.gnu.org/users/arnebab
+
+NalaGinrut:
+ "Mu Lei" known as "NalaGinrut" <NalaGinrut@gmail.com>: http://savannah.gnu.org/users/nalaginrut
+
+Mark Weaver:
+ Mark H. Weaver: http://savannah.gnu.org/users/mhw
\ No newline at end of file
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,14 @@
+wisp = wisp.scm language/wisp/spec.scm
+wisp_SOURCES = wisp-guile.w wisp-reader.w
+EXTRA_DIST = $(wisp_SOURCES) $(wisp_DATA) bootstrap.sh wisp.py examples tests
+CLEANFILES = ${wisp}
+DISTCLEANFILES = ${CLEANFILES} @builddir@/1 @builddir@/2
+
+all : ${wisp} $(changelog)
+
+# emacs org-mode beamer build instructions
+${wisp} : input.in.intermediate
+
+.INTERMEDIATE: input.in.intermediate
+input.in.intermediate: ${wisp_SOURCES}
+ @srcdir@/bootstrap.sh @srcdir@
diff --git a/NEWS b/NEWS
new file mode 100644
--- /dev/null
+++ b/NEWS
@@ -0,0 +1,17 @@
+wisp 0.5.3 (2014-01-08): Started to use autotools to get make distcheck.
+
+wisp 0.5.2 (2014-01-07): Support general paren-prefixes for macros.
+
+wisp-mode 0.1.5 (2014-01-04): Resolved a name-clash for the emacs wisp-mode together with Steve Purcell und Kris Jenkins: the javascript wisp-mode was renamed to wispjs-mode and wisp.el is called wisp-mode 0.1.5. It provides syntax highlighting for Emacs and minimal indentation support via tab. You can install it with `M-x package-install wisp-mode`
+
+wisp 0.5 (2013-09-13): Wisp now has a REPL! Thanks go to GNU Guile and especially Mark Weaver, who guided me through the process (along with nalaginrut who answered my first clueless questions…).
+ To test the REPL, get the current code snapshot, unpack it, run ./bootstrap.sh, start guile with $ guile -L . (requires guile 2.x) and enter ,language wisp.
+ Example usage:
+
+ display "Hello World!\n"
+
+ then hit enter thrice.
+ VoilĂ , you have wisp at the REPL!
+ Caveeat: the wisp-parser is still experimental and contains known bugs. Use it for testing, but please do not rely on it for important stuff, yet.
+
+wisp 0.4 (2013-09-10): wisp-guile.w can now parse itself! Bootstrapping: The magical feeling of seeing a language (dialect) grow up to live by itself: python3 wisp.py wisp-guile.w > 1 && guile 1 wisp-guile.w > 2 && guile 2 wisp-guile.w > 3 && diff 2 3. Starting today, wisp is implemented in wisp.
\ No newline at end of file
diff --git a/bootstrap.sh b/bootstrap.sh
--- a/bootstrap.sh
+++ b/bootstrap.sh
@@ -1,13 +1,18 @@
#!/bin/sh
# Bootstrap wisp-guile with wisp.py
+if [[ x"$1" == x"" ]]; then
+ srcdir=.
+else
+ srcdir="$1"
+fi
-diff=$(python3 wisp.py wisp-guile.w > 1 && guile 1 wisp-guile.w > 2 && guile 2 wisp-guile.w > wisp.scm && diff 2 wisp.scm && echo success)
+diff=$(python3 ${srcdir}/wisp.py ${srcdir}/wisp-guile.w > 1 && guile 1 ${srcdir}/wisp-guile.w > 2 && guile 2 ${srcdir}/wisp-guile.w > wisp.scm && diff 2 wisp.scm && echo success)
if [[ x"${diff}" == x"success" ]]; then
echo "successfully bootstrapped wisp.scm"
echo preparing the reader: wisp at the REPL
mkdir -p language/wisp
- guile wisp.scm wisp-reader.w 2>/dev/null > language/wisp/spec.scm \
+ guile wisp.scm ${srcdir}/wisp-reader.w 2>/dev/null > language/wisp/spec.scm \
&& echo ...succeeded \
&& echo 'to use wisp at the REPL, run `guile -L` . and then in guile `,L wisp`'
else
diff --git a/configure.ac b/configure.ac
new file mode 100644
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,23 @@
+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.5.3],
+ [arne_bab@web.de])
+# Check for programs I need for my build
+AC_CANONICAL_TARGET
+AC_ARG_VAR([guile], [How to call GNU Guile.])
+AC_CHECK_TARGET_TOOL([guile], [guile], [no])
+AS_IF([test "x$guile" = "xno"],
+ [AC_MSG_ERROR([cannot find GNU Guile.])])
+AC_CHECK_TARGET_TOOL([python3], [python3], [no])
+AS_IF([test "x$python3" = "xno"],
+ [AC_MSG_ERROR([cannot find Python 3 which is required for bootstrapping.])])
+# Run automake
+# Use GNU style. Note that ChangeLog is created on every commit
+# by a commit hook in .hg/hgrc
+# [hooks]
+# post-commit = hg log --style changelog > ChangeLog
+AM_INIT_AUTOMAKE([gnu])
+AM_MAINTAINER_MODE([enable])
+AC_CONFIG_FILES([Makefile])
+AC_OUTPUT
\ No newline at end of file