diff options
author | dos-reis <gdr@axiomatics.org> | 2013-07-01 03:22:27 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2013-07-01 03:22:27 +0000 |
commit | 6c7342e9fe62ef8588307be33b2ad9543e4a071c (patch) | |
tree | 354764c046ab680ae0580fdb3baa967552fc1ad4 | |
parent | 09de7e4ede72b8eaa1c42e8d08e338bfe9945f2c (diff) | |
download | open-axiom-6c7342e9fe62ef8588307be33b2ad9543e4a071c.tar.gz |
Bring closer to GCL-buildability.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | Makefile.in | 1 | ||||
-rw-r--r-- | config/open-axiom.m4 | 15 | ||||
-rwxr-xr-x | configure | 20 | ||||
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/Makefile.in | 1 | ||||
-rw-r--r-- | src/algebra/Makefile.in | 1 | ||||
-rw-r--r-- | src/io/Makefile.in | 1 | ||||
-rw-r--r-- | src/lisp/core.lisp.in | 8 | ||||
-rw-r--r-- | src/rt/Makefile.in | 1 | ||||
-rw-r--r-- | src/syntax/Makefile.in | 1 |
11 files changed, 45 insertions, 15 deletions
@@ -1,3 +1,9 @@ +2013-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * config/open-axiom.m4 (OPENAXIOM_REJECT_ROTTED_LISP): Just warn + for unsupported GCL version; do not reset arguments. + (OPENAXIOM_FFI_TYPE_TABLE): Be GCL-2.6.9 ready. + 2013-06-01 Gabriel Dos Reis <gdr@integrable-solutions.net> * config/open-axiom.m4 (OPENAXIOM_CHECK_IO): Check for tempnam. diff --git a/Makefile.in b/Makefile.in index 93eeeedb..30a9ba67 100644 --- a/Makefile.in +++ b/Makefile.in @@ -430,6 +430,7 @@ oldincludedir = @oldincludedir@ open_axiom_installdir = @open_axiom_installdir@ openaxiom_host_has_regex = @openaxiom_host_has_regex@ pdfdir = @pdfdir@ +pointer_type = @pointer_type@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/config/open-axiom.m4 b/config/open-axiom.m4 index 57db43bd..ec51ac8e 100644 --- a/config/open-axiom.m4 +++ b/config/open-axiom.m4 @@ -31,13 +31,12 @@ if test x"$oa_include_gcl" != xyes; then case $AXIOM_LISP in *gcl*) AC_MSG_CHECKING([$AXIOM_LISP version]) - v=`$AXIOM_LISP -batch -eval "(format t \"~S\" (lisp-implementation-version))"` - AC_MSG_RESULT([$v]) + openaxiom_gcl_version=`$AXIOM_LISP -batch -eval "(format t \"~S\" (lisp-implementation-version))"` + AC_MSG_RESULT([$openaxiom_gcl_version]) case $v in - *2.6.7*|*2.6.8*) ;; # OK + *2.6.7*|*2.6.8*|*2.6.9*) ;; # OK *) - AC_MSG_WARN([$v is not supported by this version of OpenAxiom. $AXIOM_LISP will be ignored.]) - AXIOM_LISP= + AC_MSG_WARN([$v is not supported by this version of OpenAxiom.]) ;; esac ;; @@ -406,6 +405,7 @@ AC_SUBST(int_type) AC_SUBST(float_type) AC_SUBST(double_type) AC_SUBST(string_type) +AC_SUBST(pointer_type) case $axiom_lisp_flavor in gcl) @@ -415,7 +415,10 @@ case $axiom_lisp_flavor in float_type='float' double_type='double' string_type='string' - pointer_type='fixnum' # well, this is from poking into GCL source code + case $openaxiom_host_lisp_precision,$openaxiom_gcl_version in + 64,*2.6.7*|64,*2.6.8*) pointer_type='(signed-integer 64)' ;; + *) pointer_type='fixnum' ;; + esac ;; sbcl) void_type='void' @@ -637,6 +637,7 @@ am__EXEEXT_TRUE LTLIBOBJS LIBOBJS GCLOPTS +pointer_type string_type double_type float_type @@ -3874,15 +3875,14 @@ if test x"$oa_include_gcl" != xyes; then *gcl*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking $AXIOM_LISP version" >&5 $as_echo_n "checking $AXIOM_LISP version... " >&6; } - v=`$AXIOM_LISP -batch -eval "(format t \"~S\" (lisp-implementation-version))"` - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $v" >&5 -$as_echo "$v" >&6; } + openaxiom_gcl_version=`$AXIOM_LISP -batch -eval "(format t \"~S\" (lisp-implementation-version))"` + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $openaxiom_gcl_version" >&5 +$as_echo "$openaxiom_gcl_version" >&6; } case $v in - *2.6.7*|*2.6.8*) ;; # OK + *2.6.7*|*2.6.8*|*2.6.9*) ;; # OK *) - { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $v is not supported by this version of OpenAxiom. $AXIOM_LISP will be ignored." >&5 -$as_echo "$as_me: WARNING: $v is not supported by this version of OpenAxiom. $AXIOM_LISP will be ignored." >&2;} - AXIOM_LISP= + { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $v is not supported by this version of OpenAxiom." >&5 +$as_echo "$as_me: WARNING: $v is not supported by this version of OpenAxiom." >&2;} ;; esac ;; @@ -19562,6 +19562,7 @@ fi + case $axiom_lisp_flavor in gcl) void_type='void' @@ -19570,7 +19571,10 @@ case $axiom_lisp_flavor in float_type='float' double_type='double' string_type='string' - pointer_type='fixnum' # well, this is from poking into GCL source code + case $openaxiom_host_lisp_precision,$openaxiom_gcl_version in + 64,*2.6.7*|64,*2.6.8*) pointer_type='(signed-integer 64)' ;; + *) pointer_type='fixnum' ;; + esac ;; sbcl) void_type='void' diff --git a/src/ChangeLog b/src/ChangeLog index c37a272a..f1c3cafa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2013-06-30 Gabriel Dos Reis <gdr@integrable-solutions.net> + + * lisp/core.lisp.in (maxIndex): Provide function definition for + the benefit of rotted GCL systems. + 2013-06-29 Gabriel Dos Reis <gdr@integrable-solutions.net> * include/sockio.h (accept_connection): Take no argument. diff --git a/src/Makefile.in b/src/Makefile.in index c49c1872..05afdc17 100644 --- a/src/Makefile.in +++ b/src/Makefile.in @@ -360,6 +360,7 @@ oldincludedir = @oldincludedir@ open_axiom_installdir = @open_axiom_installdir@ openaxiom_host_has_regex = @openaxiom_host_has_regex@ pdfdir = @pdfdir@ +pointer_type = @pointer_type@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/src/algebra/Makefile.in b/src/algebra/Makefile.in index 2d76a83f..2f390536 100644 --- a/src/algebra/Makefile.in +++ b/src/algebra/Makefile.in @@ -545,6 +545,7 @@ oldincludedir = @oldincludedir@ open_axiom_installdir = @open_axiom_installdir@ openaxiom_host_has_regex = @openaxiom_host_has_regex@ pdfdir = @pdfdir@ +pointer_type = @pointer_type@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/src/io/Makefile.in b/src/io/Makefile.in index 2320b804..c031a793 100644 --- a/src/io/Makefile.in +++ b/src/io/Makefile.in @@ -357,6 +357,7 @@ oldincludedir = @oldincludedir@ open_axiom_installdir = @open_axiom_installdir@ openaxiom_host_has_regex = @openaxiom_host_has_regex@ pdfdir = @pdfdir@ +pointer_type = @pointer_type@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in index 8468c558..28bcb227 100644 --- a/src/lisp/core.lisp.in +++ b/src/lisp/core.lisp.in @@ -1464,8 +1464,14 @@ ;; -*- Native Datatype correspondance -*- ;; +;; This should be an implementation-independent macro definition, +;; but GCL has problems with it, for some obscure reasons. +#-:gcl (defmacro |maxIndex| (x) - `(1- (length ,x))) + `(1- (length ,x)))) +#+:gcl +(defun |maxIndex| (x) + (1- (length x)))) ;; Datatype for buffers mostly used for transmitting data between diff --git a/src/rt/Makefile.in b/src/rt/Makefile.in index b72586a1..5b5e535f 100644 --- a/src/rt/Makefile.in +++ b/src/rt/Makefile.in @@ -357,6 +357,7 @@ oldincludedir = @oldincludedir@ open_axiom_installdir = @open_axiom_installdir@ openaxiom_host_has_regex = @openaxiom_host_has_regex@ pdfdir = @pdfdir@ +pointer_type = @pointer_type@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ diff --git a/src/syntax/Makefile.in b/src/syntax/Makefile.in index f492a7f7..98e45314 100644 --- a/src/syntax/Makefile.in +++ b/src/syntax/Makefile.in @@ -357,6 +357,7 @@ oldincludedir = @oldincludedir@ open_axiom_installdir = @open_axiom_installdir@ openaxiom_host_has_regex = @openaxiom_host_has_regex@ pdfdir = @pdfdir@ +pointer_type = @pointer_type@ prefix = @prefix@ program_transform_name = @program_transform_name@ psdir = @psdir@ |