diff options
author | dos-reis <gdr@axiomatics.org> | 2010-08-14 09:04:29 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-08-14 09:04:29 +0000 |
commit | ea22245339a124d049a29bfd53ed9d07feba45da (patch) | |
tree | 118ee90a62ddd5d9b8479f605379a07eddbf9c5b | |
parent | 21dae51d675169c95cbea20bde6b3fa010899931 (diff) | |
download | open-axiom-ea22245339a124d049a29bfd53ed9d07feba45da.tar.gz |
* config/open-axiom.m4 (OPENAXIOM_REJECT_ROTTED_LISP): New.
(OPENAXIOM_PROG_LISP): Likewise.
* configure.ac.pamphlet: Use them. Simplify.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | config/open-axiom.m4 | 83 | ||||
-rwxr-xr-x | configure | 307 | ||||
-rw-r--r-- | configure.ac | 72 | ||||
-rw-r--r-- | configure.ac.pamphlet | 101 |
5 files changed, 268 insertions, 301 deletions
@@ -1,3 +1,9 @@ +2010-08-14 Gabriel Dos Reis <gdr@cs.tamu.edu> + + * config/open-axiom.m4 (OPENAXIOM_REJECT_ROTTED_LISP): New. + (OPENAXIOM_PROG_LISP): Likewise. + * configure.ac.pamphlet: Use them. Simplify. + 2010-08-13 Gabriel Dos Reis <gdr@cs.tamu.edu> * config/open-axiom.m4 (OPENAXIOM_STANDARD_INTEGER_TYPES): New macro. diff --git a/config/open-axiom.m4 b/config/open-axiom.m4 index ab875502..8d345e07 100644 --- a/config/open-axiom.m4 +++ b/config/open-axiom.m4 @@ -1,6 +1,9 @@ AC_DEFUN([OPENAXIOM_MAKEFILE], [AC_CONFIG_FILES([$1:config/var-def.mk:$1.in:config/setup-dep.mk])]) +dnl -------------------------------------- +dnl -- OPENAXIOM_STANDARD_INTEGER_TYPES -- +dnl -------------------------------------- dnl Check for availability of standard sized integer types. AC_DEFUN([OPENAXIOM_STANDARD_INTEGER_TYPES], [ AC_TYPE_INT8_T @@ -14,3 +17,83 @@ AC_TYPE_UINT64_T AC_TYPE_INTPTR_T AC_TYPE_UINTPTR_T ]) + + +dnl ---------------------------------- +dnl -- OPENAXIOM_REJECT_ROTTED_LISP -- +dnl ---------------------------------- +dnl Check for Lisp systems we know are just too buggy for use. +AC_DEFUN([OPENAXIOM_REJECT_ROTTED_LISP],[ +case $1 in + *gcl*) + AC_MSG_CHECKING([$1 version]) + v=`$1 -batch -eval "(format t \"~S\" (lisp-implementation-version))"` + AC_MSG_RESULT([$v]) + case $v in + *2.6.7*|*2.6.8*) ;; # OK + *) + AC_MSG_WARN([$v is not supported by this version of OpenAxiom. $1 will be ignored.]) + AXIOM_LISP= + ;; + esac + ;; + # SBCL-1.0.29 has a nasty regression that prevents OpenAxiom build + *sbcl*) + AC_MSG_CHECKING([$1 version]) + v=`$1 --version` + AC_MSG_RESULT([$v]) + case $v in + *1.0.29) + AC_MSG_ERROR([This version of SBCL has a bug that breaks OpenAxiom build. Consider SBCL-1.0.30 or higher.]) + ;; + esac + ;; +esac +]) + +dnl ------------------------- +dnl -- OPENAXIOM_PROG_LISP -- +dnl ------------------------- +dnl Find the host Lisp compiler to use +AC_DEFUN([OPENAXIOM_PROG_LISP],[ +## host Lisp system flavor +axiom_lisp_flavor=unknown +AC_SUBST(axiom_lisp_flavor) + +## Was a host Lisp system specified? +axiom_lisp= +AC_ARG_WITH([lisp], [ --with-lisp=L use L as Lisp platform], + [axiom_lisp=$withval]) + +## For all values of L, except gcl, the assumption is that the Lisp +## image L is available in the build environment. For gcl, +## we make an exception: if no GCL image is available, or if +## the option --enable-gcl is specified then OpenAxiom builds its +## own version from the source tree. +## If --enable-gcl is specified, we need to check for coonsistency +axiom_include_gcl= +if test -z $axiom_lisp; then + AC_ARG_ENABLE([gcl], [ --enable-gcl build GCL from OpenAxiom source], + [case $enableval in + yes|no) axiom_include_gcl=$enableval ;; + *) AC_MSG_ERROR([erroneous value for --enable-gcl]) ;; + esac]) +fi + +## We need to build our own GCL if none is avalaible. +if test -z $axiom_lisp; then + AC_CHECK_PROGS([AXIOM_LISP], [sbcl gcl ecl clisp ccl ccl64]) + ## A lisp may not be available AND the GCL source may also + ## be missing. Instruct user to either build one or get + ## the dependencies from our website. + if test -z $AXIOM_LISP && test ! -d ${srcdir}/gcl; then + AC_MSG_ERROR([OpenAxiom requires a Lisp system. Either separately build one (GCL-2.6.7, GCL-2.6.8, SBCL, ECL, CLisp, Clozure CL), or get the dependency tarball from OpenAxiom download website.]) + fi + axiom_lisp=$AXIOM_LISP +else + ## Honor use of Lisp image specified on command line + AXIOM_LISP=$axiom_lisp + AC_SUBST(AXIOM_LISP) + : +fi +]) @@ -821,10 +821,8 @@ axiom_eval_flags axiom_quiet_flags axiom_cflags axiom_gcl_rsym_hack -oa_standard_linking -axiom_lisp_flavor axiom_include_gcl -AXIOM_LISP +oa_standard_linking NOWEAVE NOTANGLE MAKEINDEX @@ -880,6 +878,8 @@ CPPFLAGS LDFLAGS CFLAGS CC +AXIOM_LISP +axiom_lisp_flavor open_axiom_installdir target_os target_vendor @@ -933,14 +933,14 @@ SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking +with_lisp +enable_gcl with_pic enable_shared enable_static enable_fast_install with_gnu_ld enable_libtool_lock -with_lisp -enable_gcl enable_int_file_retention enable_threads enable_checking @@ -1591,12 +1591,12 @@ Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] + --enable-gcl build GCL from OpenAxiom source --enable-shared[=PKGS] build shared libraries [default=yes] --enable-static[=PKGS] build static libraries [default=yes] --enable-fast-install[=PKGS] optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) - --enable-gcl build GCL from OpenAxiom source --enable-int-file-retention keep intermediary files --enable-threads turn on threads support --enable-checking turn runtime checking on @@ -1605,10 +1605,10 @@ Optional Features: Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) + --with-lisp=L use L as Lisp platform --with-pic try to use only PIC/non-PIC objects [default=use both] --with-gnu-ld assume the C compiler uses GNU ld [default=no] - --with-lisp=L use L as Lisp platform --with-x use the X Window System Some influential environment variables: @@ -2249,6 +2249,138 @@ $as_echo "$as_me: WARNING: Please notify open-axiom-devel@open-axiom.org if you fi ## Where tools for the build platform are sequestered axiom_build_sharedir=$axiom_builddir/share + + +## host Lisp system flavor +axiom_lisp_flavor=unknown + + +## Was a host Lisp system specified? +axiom_lisp= + +# Check whether --with-lisp was given. +if test "${with_lisp+set}" = set; then + withval=$with_lisp; axiom_lisp=$withval +fi + + +## For all values of L, except gcl, the assumption is that the Lisp +## image L is available in the build environment. For gcl, +## we make an exception: if no GCL image is available, or if +## the option --enable-gcl is specified then OpenAxiom builds its +## own version from the source tree. +## If --enable-gcl is specified, we need to check for coonsistency +axiom_include_gcl= +if test -z $axiom_lisp; then + # Check whether --enable-gcl was given. +if test "${enable_gcl+set}" = set; then + enableval=$enable_gcl; case $enableval in + yes|no) axiom_include_gcl=$enableval ;; + *) { { $as_echo "$as_me:$LINENO: error: erroneous value for --enable-gcl" >&5 +$as_echo "$as_me: error: erroneous value for --enable-gcl" >&2;} + { (exit 1); exit 1; }; } ;; + esac +fi + +fi + +## We need to build our own GCL if none is avalaible. +if test -z $axiom_lisp; then + for ac_prog in sbcl gcl ecl clisp ccl ccl64 +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 +$as_echo_n "checking for $ac_word... " >&6; } +if test "${ac_cv_prog_AXIOM_LISP+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$AXIOM_LISP"; then + ac_cv_prog_AXIOM_LISP="$AXIOM_LISP" # Let the user override the test. +else +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then + ac_cv_prog_AXIOM_LISP="$ac_prog" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + +fi +fi +AXIOM_LISP=$ac_cv_prog_AXIOM_LISP +if test -n "$AXIOM_LISP"; then + { $as_echo "$as_me:$LINENO: result: $AXIOM_LISP" >&5 +$as_echo "$AXIOM_LISP" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi + + + test -n "$AXIOM_LISP" && break +done + + ## A lisp may not be available AND the GCL source may also + ## be missing. Instruct user to either build one or get + ## the dependencies from our website. + if test -z $AXIOM_LISP && test ! -d ${srcdir}/gcl; then + { { $as_echo "$as_me:$LINENO: error: OpenAxiom requires a Lisp system. Either separately build one (GCL-2.6.7, GCL-2.6.8, SBCL, ECL, CLisp, Clozure CL), or get the dependency tarball from OpenAxiom download website." >&5 +$as_echo "$as_me: error: OpenAxiom requires a Lisp system. Either separately build one (GCL-2.6.7, GCL-2.6.8, SBCL, ECL, CLisp, Clozure CL), or get the dependency tarball from OpenAxiom download website." >&2;} + { (exit 1); exit 1; }; } + fi + axiom_lisp=$AXIOM_LISP +else + ## Honor use of Lisp image specified on command line + AXIOM_LISP=$axiom_lisp + + : +fi + +## Some Lisp systems are just too buggy for use. + +case $AXIOM_LISP in + *gcl*) + { $as_echo "$as_me:$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:$LINENO: result: $v" >&5 +$as_echo "$v" >&6; } + case $v in + *2.6.7*|*2.6.8*) ;; # OK + *) + { $as_echo "$as_me:$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= + ;; + esac + ;; + # SBCL-1.0.29 has a nasty regression that prevents OpenAxiom build + *sbcl*) + { $as_echo "$as_me:$LINENO: checking $AXIOM_LISP version" >&5 +$as_echo_n "checking $AXIOM_LISP version... " >&6; } + v=`$AXIOM_LISP --version` + { $as_echo "$as_me:$LINENO: result: $v" >&5 +$as_echo "$v" >&6; } + case $v in + *1.0.29) + { { $as_echo "$as_me:$LINENO: error: This version of SBCL has a bug that breaks OpenAxiom build. Consider SBCL-1.0.30 or higher." >&5 +$as_echo "$as_me: error: This version of SBCL has a bug that breaks OpenAxiom build. Consider SBCL-1.0.30 or higher." >&2;} + { (exit 1); exit 1; }; } + ;; + esac + ;; +esac + + + ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -5085,13 +5217,13 @@ if test "${lt_cv_nm_interface+set}" = set; then else lt_cv_nm_interface="BSD nm" echo "int some_variable = 0;" > conftest.$ac_ext - (eval echo "\"\$as_me:5088: $ac_compile\"" >&5) + (eval echo "\"\$as_me:5220: $ac_compile\"" >&5) (eval "$ac_compile" 2>conftest.err) cat conftest.err >&5 - (eval echo "\"\$as_me:5091: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval echo "\"\$as_me:5223: $NM \\\"conftest.$ac_objext\\\"\"" >&5) (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) cat conftest.err >&5 - (eval echo "\"\$as_me:5094: output\"" >&5) + (eval echo "\"\$as_me:5226: output\"" >&5) cat conftest.out >&5 if $GREP 'External.*some_variable' conftest.out > /dev/null; then lt_cv_nm_interface="MS dumpbin" @@ -6293,7 +6425,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 6296 "configure"' > conftest.$ac_ext + echo '#line 6428 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -8564,11 +8696,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8567: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8699: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8571: \$? = $ac_status" >&5 + echo "$as_me:8703: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -8903,11 +9035,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:8906: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9038: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:8910: \$? = $ac_status" >&5 + echo "$as_me:9042: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -9008,11 +9140,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9011: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9143: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9015: \$? = $ac_status" >&5 + echo "$as_me:9147: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -9063,11 +9195,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:9066: $lt_compile\"" >&5) + (eval echo "\"\$as_me:9198: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:9070: \$? = $ac_status" >&5 + echo "$as_me:9202: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -11863,7 +11995,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11866 "configure" +#line 11998 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -11959,7 +12091,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext <<_LT_EOF -#line 11962 "configure" +#line 12094 "configure" #include "confdefs.h" #if HAVE_DLFCN_H @@ -13979,11 +14111,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:13982: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14114: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:13986: \$? = $ac_status" >&5 + echo "$as_me:14118: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -14078,11 +14210,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14081: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14213: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14085: \$? = $ac_status" >&5 + echo "$as_me:14217: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -14130,11 +14262,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:14133: $lt_compile\"" >&5) + (eval echo "\"\$as_me:14265: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:14137: \$? = $ac_status" >&5 + echo "$as_me:14269: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -15897,128 +16029,9 @@ $as_echo "$as_me: error: Please get the tarball of dependencies and reconfigure" axiom_all_prerequisites="$axiom_all_prerequisites all-noweb" fi -## ------------------------ -## -- Which Lisp to use? -- -## ------------------------ -## -## We will default to GCL later, if no lisp implementation is specified. -axiom_lisp= -axiom_lisp_flavor=unknown -# Most Lisp systems don't use conventional methods for building programs. +## Most Lisp systems don't use conventional methods for building programs. oa_standard_linking=no -# Check whether --with-lisp was given. -if test "${with_lisp+set}" = set; then - withval=$with_lisp; axiom_lisp=$withval -fi - -## If --enable-gcl is specified, we need to check for coonsistency -axiom_include_gcl= -if test -z $axiom_lisp; then - # Check whether --enable-gcl was given. -if test "${enable_gcl+set}" = set; then - enableval=$enable_gcl; case $enableval in - yes|no) axiom_include_gcl=$enableval ;; - *) { { $as_echo "$as_me:$LINENO: error: erroneous value for --enable-gcl" >&5 -$as_echo "$as_me: error: erroneous value for --enable-gcl" >&2;} - { (exit 1); exit 1; }; } ;; - esac -fi - -fi -## We need to build our own GCL if none is avalaible. -if test -z $axiom_lisp; then - for ac_prog in sbcl gcl ecl clisp ccl ccl64 -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:$LINENO: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if test "${ac_cv_prog_AXIOM_LISP+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$AXIOM_LISP"; then - ac_cv_prog_AXIOM_LISP="$AXIOM_LISP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_AXIOM_LISP="$ac_prog" - $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done -done -IFS=$as_save_IFS - -fi -fi -AXIOM_LISP=$ac_cv_prog_AXIOM_LISP -if test -n "$AXIOM_LISP"; then - { $as_echo "$as_me:$LINENO: result: $AXIOM_LISP" >&5 -$as_echo "$AXIOM_LISP" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$AXIOM_LISP" && break -done - - ## A lisp may not be available AND the GCL source may also - ## be missing. Instruct user to either build one or get - ## the dependencies from our website. - if test -z $AXIOM_LISP && test ! -d ${srcdir}/gcl; then - { { $as_echo "$as_me:$LINENO: error: OpenAxiom requires a Lisp system. Either separately build one (GCL-2.6.7, GCL-2.6.8, SBCL, CLisp), or get the dependency tarball from OpenAxiom download website." >&5 -$as_echo "$as_me: error: OpenAxiom requires a Lisp system. Either separately build one (GCL-2.6.7, GCL-2.6.8, SBCL, CLisp), or get the dependency tarball from OpenAxiom download website." >&2;} - { (exit 1); exit 1; }; } - fi - axiom_lisp=$AXIOM_LISP -else - ## Honor use of Lisp image specified on command line - AXIOM_LISP=$axiom_lisp - - : -fi - -## Some Lisp systems are just too buggy to use. -case $AXIOM_LISP in - *gcl*) - { $as_echo "$as_me:$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:$LINENO: result: $v" >&5 -$as_echo "$v" >&6; } - case $v in - *2.6.7*|*2.6.8*) ;; # OK - *) - { $as_echo "$as_me:$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= - ;; - esac - ;; - # SBCL-1.0.29 has a nasty regression that prevents OpenAxiom build - *sbcl*) - { $as_echo "$as_me:$LINENO: checking $AXIOM_LISP version" >&5 -$as_echo_n "checking $AXIOM_LISP version... " >&6; } - v=`$AXIOM_LISP --version` - { $as_echo "$as_me:$LINENO: result: $v" >&5 -$as_echo "$v" >&6; } - case $v in - *1.0.29) - { { $as_echo "$as_me:$LINENO: error: This version of SBCL has a bug that breaks OpenAxiom build. Consider SBCL-1.0.30 or higher." >&5 -$as_echo "$as_me: error: This version of SBCL has a bug that breaks OpenAxiom build. Consider SBCL-1.0.30 or higher." >&2;} - { (exit 1); exit 1; }; } - ;; - esac - ;; -esac ## Coherence check for GCL inclusion. case $axiom_include_gcl,$axiom_lisp in diff --git a/configure.ac b/configure.ac index 8ae3d846..fdbfb062 100644 --- a/configure.ac +++ b/configure.ac @@ -20,6 +20,12 @@ if test $build != $target; then fi ## Where tools for the build platform are sequestered axiom_build_sharedir=$axiom_builddir/share + +OPENAXIOM_PROG_LISP +## Some Lisp systems are just too buggy for use. +OPENAXIOM_REJECT_ROTTED_LISP($AXIOM_LISP) + + AC_PROG_CC AC_PROG_CXX @@ -145,70 +151,10 @@ if test -z $NOTANGLE -o -z $NOWEAVE ; then axiom_all_prerequisites="$axiom_all_prerequisites all-noweb" fi -## ------------------------ -## -- Which Lisp to use? -- -## ------------------------ -## -## We will default to GCL later, if no lisp implementation is specified. -axiom_lisp= -axiom_lisp_flavor=unknown -# Most Lisp systems don't use conventional methods for building programs. +## Most Lisp systems don't use conventional methods for building programs. oa_standard_linking=no -AC_ARG_WITH([lisp], [ --with-lisp=L use L as Lisp platform], - [axiom_lisp=$withval]) -## If --enable-gcl is specified, we need to check for coonsistency -axiom_include_gcl= -if test -z $axiom_lisp; then - AC_ARG_ENABLE([gcl], [ --enable-gcl build GCL from OpenAxiom source], - [case $enableval in - yes|no) axiom_include_gcl=$enableval ;; - *) AC_MSG_ERROR([erroneous value for --enable-gcl]) ;; - esac]) -fi -## We need to build our own GCL if none is avalaible. -if test -z $axiom_lisp; then - AC_CHECK_PROGS([AXIOM_LISP], [sbcl gcl ecl clisp ccl ccl64]) - ## A lisp may not be available AND the GCL source may also - ## be missing. Instruct user to either build one or get - ## the dependencies from our website. - if test -z $AXIOM_LISP && test ! -d ${srcdir}/gcl; then - AC_MSG_ERROR([OpenAxiom requires a Lisp system. Either separately build one (GCL-2.6.7, GCL-2.6.8, SBCL, CLisp), or get the dependency tarball from OpenAxiom download website.]) - fi - axiom_lisp=$AXIOM_LISP -else - ## Honor use of Lisp image specified on command line - AXIOM_LISP=$axiom_lisp - AC_SUBST(AXIOM_LISP) - : -fi - -## Some Lisp systems are just too buggy to use. -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]) - case $v in - *2.6.7*|*2.6.8*) ;; # OK - *) - AC_MSG_WARN([$v is not supported by this version of OpenAxiom. $AXIOM_LISP will be ignored.]) - AXIOM_LISP= - ;; - esac - ;; - # SBCL-1.0.29 has a nasty regression that prevents OpenAxiom build - *sbcl*) - AC_MSG_CHECKING([$AXIOM_LISP version]) - v=`$AXIOM_LISP --version` - AC_MSG_RESULT([$v]) - case $v in - *1.0.29) - AC_MSG_ERROR([This version of SBCL has a bug that breaks OpenAxiom build. Consider SBCL-1.0.30 or higher.]) - ;; - esac - ;; -esac - +AC_SUBST(oa_standard_linking) + ## Coherence check for GCL inclusion. case $axiom_include_gcl,$axiom_lisp in ,|no,|yes*) diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet index 8a87422e..03eabd2c 100644 --- a/configure.ac.pamphlet +++ b/configure.ac.pamphlet @@ -808,103 +808,16 @@ fi \paragraph{The Lisp platform.} -\Tool{OpenAxiom} uses Lisp as its main platform. If no Lisp implementation -is available in the build environment (or if \Tool{OpenAxiom} is told not -to look for one) then \Tool{OpenAxiom} must build its own version from the -copy of \Tool{GCL} sources it keeps in the \File{gcl/} directory. -<<find lisp>>= -## ------------------------ -## -- Which Lisp to use? -- -## ------------------------ -## -## We will default to GCL later, if no lisp implementation is specified. -axiom_lisp= -axiom_lisp_flavor=unknown -# Most Lisp systems don't use conventional methods for building programs. -oa_standard_linking=no -AC_ARG_WITH([lisp], [ --with-lisp=L use L as Lisp platform], - [axiom_lisp=$withval]) -@ - -The [[configure]] option \verb!--with-lisp=L! specifies which -Lisp implementation flavor to use for building OpenAxiom. For all values -of [[L]], except \Tool{GCL}, the assumption is that the Lisp -image [[L]] is available in the build environment. For \Tool{GCL}, -we make an exception: if no GCL image is available, or if -the option \verb!--enable-gcl! is specified then \Tool{OpenAxiom} -builds its own version from the source tree. -<<find lisp>>= -## If --enable-gcl is specified, we need to check for coonsistency -axiom_include_gcl= -if test -z $axiom_lisp; then - AC_ARG_ENABLE([gcl], [ --enable-gcl build GCL from OpenAxiom source], - [case $enableval in - yes|no) axiom_include_gcl=$enableval ;; - *) AC_MSG_ERROR([erroneous value for --enable-gcl]) ;; - esac]) -fi -@ - -Do we need to build our own version of \Tool{GCL}? The answer is yes, if -\begin{itemize} -\item the option \verb!--with-lisp! is not specified, and - no Lisp image is available in the build environment; or -\item we found a \Tool{GCL} image, but it is too old for OpenAxiom. -\end{itemize} -Consequently, we need to check for \Tool{GCL} and its version: -<<find lisp>>= -## We need to build our own GCL if none is avalaible. -if test -z $axiom_lisp; then - AC_CHECK_PROGS([AXIOM_LISP], [sbcl gcl ecl clisp ccl ccl64]) - ## A lisp may not be available AND the GCL source may also - ## be missing. Instruct user to either build one or get - ## the dependencies from our website. - if test -z $AXIOM_LISP && test ! -d ${srcdir}/gcl; then - AC_MSG_ERROR([OpenAxiom requires a Lisp system. Either separately build one (GCL-2.6.7, GCL-2.6.8, SBCL, CLisp), or get the dependency tarball from OpenAxiom download website.]) - fi - axiom_lisp=$AXIOM_LISP -else - ## Honor use of Lisp image specified on command line - AXIOM_LISP=$axiom_lisp - AC_SUBST(AXIOM_LISP) - : -fi - -## Some Lisp systems are just too buggy to use. -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]) - case $v in - *2.6.7*|*2.6.8*) ;; # OK - *) - AC_MSG_WARN([$v is not supported by this version of OpenAxiom. $AXIOM_LISP will be ignored.]) - AXIOM_LISP= - ;; - esac - ;; - # SBCL-1.0.29 has a nasty regression that prevents OpenAxiom build - *sbcl*) - AC_MSG_CHECKING([$AXIOM_LISP version]) - v=`$AXIOM_LISP --version` - AC_MSG_RESULT([$v]) - case $v in - *1.0.29) - AC_MSG_ERROR([This version of SBCL has a bug that breaks OpenAxiom build. Consider SBCL-1.0.30 or higher.]) - ;; - esac - ;; -esac - -@ - We may be presented with incoherent options if \begin{itemize} \item \verb!--disable-gcl! is used without specifying a Lisp image, or \item \verb!--with-lisp! is used but we are also told to build \Tool{GCL}. \end{itemize} <<find lisp>>= +## Most Lisp systems don't use conventional methods for building programs. +oa_standard_linking=no +AC_SUBST(oa_standard_linking) + ## Coherence check for GCL inclusion. case $axiom_include_gcl,$axiom_lisp in ,|no,|yes*) @@ -1367,6 +1280,12 @@ AC_SUBST(oa_shrlib_flags) <<Autoconf init>> <<sanity check>> <<host build target platfoms>> + +OPENAXIOM_PROG_LISP +## Some Lisp systems are just too buggy for use. +OPENAXIOM_REJECT_ROTTED_LISP($AXIOM_LISP) + + <<find C compiler>> <<initialize shared libraries tool>> |