aboutsummaryrefslogtreecommitdiff
path: root/config/open-axiom.m4
diff options
context:
space:
mode:
Diffstat (limited to 'config/open-axiom.m4')
-rw-r--r--config/open-axiom.m421
1 files changed, 12 insertions, 9 deletions
diff --git a/config/open-axiom.m4 b/config/open-axiom.m4
index 00a222a2..ca3f7853 100644
--- a/config/open-axiom.m4
+++ b/config/open-axiom.m4
@@ -51,13 +51,6 @@ if test x"$oa_include_gcl" != xyes; then
;;
esac
;;
- # ECL does not provide useful information for detecting CPU precision
- *ecl*)
- case $target in
- *darwin*)
- AC_MSG_ERROR([We do not know how to extend this Lisp system with native libraries. Please consider SBCL or better])
- esac
- ;;
esac
fi
])
@@ -443,8 +436,18 @@ dnl set the global variable openaxiom_host_lisp_precision.
AC_DEFUN([OPENAXIOM_HOST_LISP_CPU_PRECISION], [
if test x"$oa_include_gcl" != xyes; then
AC_MSG_CHECKING([CPU precision as seen by $AXIOM_LISP])
- case `echo '*features*' | $AXIOM_LISP` in
- *X86-64*|*X86_64*|*WORD-SIZE=64*|*64-BIT-HOST*)
+ # Almost all Lisp systems we support put the relevant information
+ # on the *FEATURES* list. Except ECL.
+ case $axiom_lisp_flavor in
+ ecl)
+ features_expr='(progn (require :cmp) (eval (find-symbol "*COMPILER-FEATURES*" :c)))'
+ ;;
+ *)
+ features_expr='*features*'
+ ;;
+ esac
+ case `echo $features_expr | $AXIOM_LISP` in
+ *X86-64*|*X86_64*|*WORD-SIZE=64*|*64-BIT*)
# PORTME: the pattern above covers only the supported free Lisps, i.e.
# GCL, SBCL, CLisp, ECL and Clozure CL.
openaxiom_host_lisp_precision=64