diff options
author | dos-reis <gdr@axiomatics.org> | 2012-08-19 21:32:25 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2012-08-19 21:32:25 +0000 |
commit | 9995c4454f37aa63690a691b0be2b569d9744839 (patch) | |
tree | 2679dafbdd115978f863e980709d8b5c88e33976 /config | |
parent | d712344b13ea67bc11b4f679abde3e41d8024095 (diff) | |
download | open-axiom-9995c4454f37aa63690a691b0be2b569d9744839.tar.gz |
* configure.ac: Define Automake conditional OA_DELAYED_FFI.
* config/open-axiom.m4 (OPENAXIOM_CHECK_DELAYED_FFI): New.
(OPENAXIOM_HOST_COMPILERS): Call it.
src/
* lisp/core.lisp.in (primitiveLoad): New. Export.
($delayedFFI): Likewise.
* lisp/Makefile.in (oa_delay_ffi): New.
(edit): Update.
* interp/sys-utility.boot: import sys-constants instead of sys-os.
* interp/sys-driver.boot (%sysInit): Do not loadSystemRuntimeCore.
(loadDelayedFFI): New.
(executeSpadScript): Call it.
(compileSpadLibrary): Likewise.
(buildInitdbHandler): Likewise.
(systemMain): Likewise.
* interp/util.lisp (BUILD-INTERPSYS): Likewise.
* interp/Makefile.in (oa_target_moddir): New.
(OA_FFI_MOD): Likewise.
(OA_FFI_OBJ): Define conditionally.
(OBJS): Use it.
($(oa_target_delayed)): New rule.
(oa_target_delayed): New.
(oa_target_ffi): Define conditionally.
(${SAVESYS}): Require it.
(${AXIOMSYS}): Likewise.
(sys-utility.$(FASLEXT)): Now require sys-constants.$(FASLEXT).
Diffstat (limited to 'config')
-rw-r--r-- | config/open-axiom.m4 | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/config/open-axiom.m4 b/config/open-axiom.m4 index 26614d14..1860f8b1 100644 --- a/config/open-axiom.m4 +++ b/config/open-axiom.m4 @@ -176,6 +176,24 @@ AC_DEFINE_UNQUOTED([OPENAXIOM_BASE_RTS], [The kind of base runtime system for this build.]) ]) +dnl --------------------------------- +dnl -- OPENAXIOM_CHECK_DELAYED_FFI -- +dnl --------------------------------- +dnl Check whether loading modules for dynamic FFI support +dnl should be delayed to runtime. This is needed for Lisp +dnl systems that have trouble with DLLs. +AC_DEFUN([OPENAXIOM_CHECK_DELAYED_FFI], [ +case ${axiom_lisp_flavor},$host in + sbcl,* | clozure,* | clisp,*) + oa_delay_ffi=yes + ;; + *) + oa_delay_ffi=no + ;; +esac +AC_SUBST([oa_delay_ffi]) +]) + dnl -------------------------------------------- dnl -- OPENAXIOM_CPPFLAGS_FOR_VENDOR_LOCK_INS -- dnl -------------------------------------------- @@ -207,6 +225,7 @@ OPENAXIOM_PROG_LISP OPENAXIOM_LISP_FLAVOR OPENAXIOM_REJECT_ROTTED_LISP OPENAXIOM_HOST_LISP_CPU_PRECISION +OPENAXIOM_CHECK_DELAYED_FFI ## Are we using compilers from GNU? oa_gnu_compiler=no AC_PROG_CC |