diff options
-rw-r--r-- | src/ChangeLog | 8 | ||||
-rw-r--r-- | src/interp/Makefile.in | 2 | ||||
-rw-r--r-- | src/interp/Makefile.pamphlet | 2 | ||||
-rw-r--r-- | src/interp/daase.lisp | 3 | ||||
-rw-r--r-- | src/lisp/Makefile.in | 1 | ||||
-rw-r--r-- | src/lisp/core.lisp.in | 9 |
6 files changed, 22 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index c9fe22ae..7056f856 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,13 @@ 2008-08-15 Gabriel Dos Reis <gdr@cs.tamu.edu> + * lisp/core.lisp.in (|$StandardLinking|): New. Export. + * lisp/Makefile.in (edit): Update. + * interp/daase.lisp: Don't load initial databases when + --system-algebra. + * interp/Makefile.pamphlet (${SAVESYS}): Build with --system-algebra. + +2008-08-15 Gabriel Dos Reis <gdr@cs.tamu.edu> + * interp/vmlisp.lisp (BPINAME): Define for ECL too. * interp/util.lisp (*BIN-TYPE*): Remove. Use $faslType throughout. * interp/daase.lisp (get-current-directory): Tidy conditional diff --git a/src/interp/Makefile.in b/src/interp/Makefile.in index e7775f17..72fe016a 100644 --- a/src/interp/Makefile.in +++ b/src/interp/Makefile.in @@ -200,7 +200,7 @@ ${SAVESYS}: database.date \ $(axiom_targetdir)/algebra/exposed.$(FASLEXT) \ $(axiom_target_datadir)/msgs/s2-us.msgs \ $(ASAUTO) $(TRANOBJS) $(OBJS) makeint.$(LNKEXT) - $(BOOTSYS) -- --system="$(AXIOM)/" \ + $(BOOTSYS) -- --system="$(AXIOM)/" --system-algebra \ --sysalg="$(axiom_src_datadir)/algebra/" \ --make --output=$@ --main="BOOT::|restart|" \ --load-directory=. $(OBJS) makeint.$(LNKEXT) diff --git a/src/interp/Makefile.pamphlet b/src/interp/Makefile.pamphlet index 7fde6536..e7d373d0 100644 --- a/src/interp/Makefile.pamphlet +++ b/src/interp/Makefile.pamphlet @@ -353,7 +353,7 @@ ${SAVESYS}: database.date \ $(axiom_targetdir)/algebra/exposed.$(FASLEXT) \ $(axiom_target_datadir)/msgs/s2-us.msgs \ $(ASAUTO) $(TRANOBJS) $(OBJS) makeint.$(LNKEXT) - $(BOOTSYS) -- --system="$(AXIOM)/" \ + $(BOOTSYS) -- --system="$(AXIOM)/" --system-algebra \ --sysalg="$(axiom_src_datadir)/algebra/" \ --make --output=$@ --main="BOOT::|restart|" \ --load-directory=. $(OBJS) makeint.$(LNKEXT) diff --git a/src/interp/daase.lisp b/src/interp/daase.lisp index 66efc4e4..d65a1812 100644 --- a/src/interp/daase.lisp +++ b/src/interp/daase.lisp @@ -348,7 +348,8 @@ (browseopen) (setq *category-stream-stamp* '(0 . 0)) (categoryopen) ;note: this depends on constructorform in browse.daase -#-:CCL (initial-getdatabase) + (unless (|getOptionValue| (|Option| "system-algebra") (|%systemOptions|)) + (initial-getdatabase)) (close *interp-stream*) (close *operation-stream*) (close *category-stream*) diff --git a/src/lisp/Makefile.in b/src/lisp/Makefile.in index 4ca6535e..5c5233fd 100644 --- a/src/lisp/Makefile.in +++ b/src/lisp/Makefile.in @@ -143,6 +143,7 @@ edit = sed \ -e 's|@LIBEXT[@]|$(LIBEXT)|g' \ -e 's|@oa_c_runtime_extra[@]|$(oa_c_runtime_extra)|g' \ -e 's|@oa_base_lisp_linkset[@]|$(base_lisp_objects)|g' \ + -e 's|@oa_standard_linking[@]|$(oa_standard_linking)|g' \ -e 's|@void_type[@]|$(void_type)|g' \ -e 's|@char_type[@]|$(char_type)|g' \ -e 's|@int_type[@]|$(int_type)|g' \ diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in index 1339de0f..27f0dd41 100644 --- a/src/lisp/core.lisp.in +++ b/src/lisp/core.lisp.in @@ -79,6 +79,7 @@ "$systemInstallationDirectory" "$NativeTypeTable" "$LispOptimizeOptions" + "$StandardLinking" "getOptionValue" "getCommandLineArguments" @@ -135,6 +136,14 @@ ;; -*- Hosting Lisp System -*- ;; +;; True means that the base Lisp system uses conventional C-style +;; program linking model, whereby programs are constructed by linking +;; separately compiled units. By constrast, many Lisp systems build +;; executable programs by loading FASLs into core and dumping the resulting +;; image on disk. +(defconstant |$StandardLinking| + (eq '@oa_standard_linking@ 'yes)) + ;; Almost every supported Lisp use dynamic link for FFI. ;; ECL's support is partial. GCL-2.6.x hasn't discovered it yet. (defconstant |$useDynamicLink| |