diff options
Diffstat (limited to 'config/open-axiom.m4')
-rw-r--r-- | config/open-axiom.m4 | 21 |
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 |