aboutsummaryrefslogtreecommitdiff
path: root/config/open-axiom.m4
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2012-08-19 21:32:25 +0000
committerdos-reis <gdr@axiomatics.org>2012-08-19 21:32:25 +0000
commit9995c4454f37aa63690a691b0be2b569d9744839 (patch)
tree2679dafbdd115978f863e980709d8b5c88e33976 /config/open-axiom.m4
parentd712344b13ea67bc11b4f679abde3e41d8024095 (diff)
downloadopen-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/open-axiom.m4')
-rw-r--r--config/open-axiom.m419
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