aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ChangeLog6
-rw-r--r--src/etc/Makefile.in3
-rw-r--r--src/interp/sys-driver.boot10
3 files changed, 16 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index a6f67eaf..3e175c66 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2008-08-14 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/sys-driver.boot (buildDatabasesHandler): New.
+ Install it as handler for --build-databases.
+ * etc/Makefile.in ($(openaxiom_databases)): Adjust.
+
2008-08-13 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/Makefile.pamphlet (OBJS): Don't include union.$(FASLEXT)
diff --git a/src/etc/Makefile.in b/src/etc/Makefile.in
index 11cddbbe..876618a3 100644
--- a/src/etc/Makefile.in
+++ b/src/etc/Makefile.in
@@ -59,8 +59,7 @@ stamp: $(openaxiom_databases) $(axiom_target_bindir)/asq$(EXEEXT) \
$(openaxiom_databases): ../algebra/*.NRLIB/code.$(FASLEXT)
@ echo rebuilding databases...
cp $(axiom_src_docdir)/topics.data ../algebra
- (cd ../algebra ; \
- echo ')lisp (make-databases nil)' | $(INTERPSYS) )
+ (cd ../algebra && $(INTERPSYS) --build-databases)
mkdir -p $(axiom_targetdir)/algebra
cp -p ../algebra/*.daase $(axiom_targetdir)/algebra
cp -p ../algebra/libdb.text $(axiom_targetdir)/algebra
diff --git a/src/interp/sys-driver.boot b/src/interp/sys-driver.boot
index 4a97d76e..593244f3 100644
--- a/src/interp/sys-driver.boot
+++ b/src/interp/sys-driver.boot
@@ -175,7 +175,8 @@ restart() ==
RESTART0()
readSpadProfileIfThere()
spad()
-
+
+--%
initializeGlobalState() ==
REROOT()
@@ -224,3 +225,10 @@ compileSpadLibrary(progname,options,file) ==
associateRequestWithFileType(Option '"compile", '"spad",
function compileSpadLibrary)
+
+buildDatabasesHandler(prog,options,args) ==
+ initializeGlobalState()
+ MAKE_-DATABASES args
+ coreQuit(errorCount() > 0 => 1; 0)
+
+installDriver(Option '"build-databases",function buildDatabasesHandler)