From a2f39f13bed2d39accb83cbb7f9e3336b2c92c1c Mon Sep 17 00:00:00 2001 From: dos-reis <gdr@axiomatics.org> Date: Fri, 15 Aug 2008 09:20:22 +0000 Subject: * 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. --- src/ChangeLog | 8 ++++++++ src/interp/Makefile.in | 2 +- src/interp/Makefile.pamphlet | 2 +- src/interp/daase.lisp | 3 ++- src/lisp/Makefile.in | 1 + src/lisp/core.lisp.in | 9 +++++++++ 6 files changed, 22 insertions(+), 3 deletions(-) (limited to 'src') diff --git a/src/ChangeLog b/src/ChangeLog index c9fe22ae..7056f856 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,11 @@ +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. 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| -- cgit v1.2.3