From 987fcf6e7e42c0cf2fca3fa79a92d9cb8fa93a53 Mon Sep 17 00:00:00 2001 From: dos-reis Date: Wed, 23 May 2012 19:50:13 +0000 Subject: * interp/sys-driver.boot (initializeDatabases): Load initidb if specified. * interp/database.boot (populateDFFromFile): Remove. (printAllInitdbInfo): Write as as Lisp file. * algebra/Makefile.in (COMPILE_SPAD): initdb is now a FASL. (BOOTSTRAP): Likewise. (strap-2/%.$(FASLEXT)): Likewise. (initdb.$(FASLEXT)): New. --- src/interp/database.boot | 17 +++++++---------- src/interp/sys-driver.boot | 4 ++-- 2 files changed, 9 insertions(+), 12 deletions(-) (limited to 'src/interp') diff --git a/src/interp/database.boot b/src/interp/database.boot index 5fbf69d1..a8527d29 100644 --- a/src/interp/database.boot +++ b/src/interp/database.boot @@ -787,13 +787,6 @@ makeInitialDB [form,kind,abbrev,srcfile] == dbSourceFile(db) := srcfile setAutoLoadProperty form.op -populateDBFromFile path == - try - dbfile := inputTextFile path - while (entry := readExpr dbfile) ~= %nothing repeat - makeInitialDB entry - finally closeStream dbfile - printInitdbInfo(path,dbfile) == main(path,dbfile) where main(path,dbfile) == for x in parseSpadFile path repeat @@ -803,10 +796,10 @@ printInitdbInfo(path,dbfile) == main(path,dbfile) where if lhs isnt [.,:.] then lhs := [lhs] db := constructorDB lhs.op db = nil => nil - form := [id for x in lhs.args] + args := [id for x in lhs.args] where id() == (x is [":",x',:.] => x'; x) - form := [lhs.op,:form] - prettyPrint([form,dbConstructorKind db,dbAbbreviation db,path],dbfile) + data := [[lhs.op,:args],dbConstructorKind db,dbAbbreviation db,path] + prettyPrint(['makeInitialDB,quote data],dbfile) writeNewline dbfile printAllInitdbInfo(srcdir,dbfile) == @@ -814,6 +807,10 @@ printAllInitdbInfo(srcdir,dbfile) == or coreError strconc('"no .spad file in directory ",srcdir) try out := outputTextFile dbfile + prettyPrint(['IMPORT_-MODULE,'"database"],out) + writeNewline out + prettyPrint(['IN_-PACKAGE,'"BOOT"],out) + writeNewline out for path in paths repeat printInitdbInfo(NAMESTRING path,out) finally closeStream out diff --git a/src/interp/sys-driver.boot b/src/interp/sys-driver.boot index f708ca88..97ae53a6 100644 --- a/src/interp/sys-driver.boot +++ b/src/interp/sys-driver.boot @@ -178,11 +178,11 @@ restart() == initializeDatabases firstTime? == getOptionValue "build-initdb" => nil - --initdb := getOptionValue "initial-db" => populateDBFromFile initdb + --initdb := getOptionValue "initial-db" => LOAD initdb --FIXME: Ideally we should execute the previous line. The next line is --FIXME: a short-term stopgap until build dependencies are in place. if initdb := getOptionValue "initial-db" then - populateDBFromFile initdb + LOAD initdb not firstTime? => openDatabases() fillDatabasesInCore() mkLowerCaseConTable() -- cgit v1.2.3