diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | config/open-axiom.m4 | 45 | ||||
-rwxr-xr-x | configure | 570 | ||||
-rw-r--r-- | configure.ac | 44 | ||||
-rw-r--r-- | configure.ac.pamphlet | 70 |
5 files changed, 339 insertions, 396 deletions
@@ -1,5 +1,11 @@ 2010-08-15 Gabriel Dos Reis <gdr@cs.tamu.edu> + * config/open-axiom.m4 (OPENAXIOM_BUILD_TOOLS): New. Abstract + over build tool requirements. + * configure.ac.pamphlet: Use it. + +2010-08-15 Gabriel Dos Reis <gdr@cs.tamu.edu> + * config/open-axiom.m4 (OPENAXIOM_DYNAMIC_MODULE_SUPPORT): New. * configure.ac.pamphlet: Use it. diff --git a/config/open-axiom.m4 b/config/open-axiom.m4 index 34338aaa..65d03ab3 100644 --- a/config/open-axiom.m4 +++ b/config/open-axiom.m4 @@ -477,3 +477,48 @@ case $host in ;; esac ]) + + +dnl --------------------------- +dnl -- OPENAXIOM_BUILD_TOOLS -- +dnl --------------------------- +dnl Check for utilities we need for building the system. +AC_DEFUN([OPENAXIOM_BUILD_TOOLS],[ +AC_CHECK_PROG([TOUCH], [touch], + [touch], [AC_MSG_ERROR(['touch' program is missing.])]) +AC_PROG_INSTALL +AC_CHECK_PROGS([MKTEMP], [mktemp]) +AC_PROG_AWK + +## Find GNU Make +case $build in + *linux*) + # GNU/Linux systems come equipped with GNU Make, called `make' + AC_CHECK_PROGS([MAKE], [make], + [AC_MSG_ERROR([Make utility missing.])]) + ;; + *) + # Other systems tend to spell it `gmake' and such + AC_CHECK_PROGS([MAKE], [gmake make], + [AC_MSG_ERROR([Make utility missing.])]) + if ! $MAKE --version | grep 'GNU' 2>/dev/null; then + AC_MSG_ERROR([OpenAxiom build system needs GNU Make.]) + fi + ;; +esac + +## Make sure noweb executable is available +AC_CHECK_PROGS([NOTANGLE], [notangle]) +AC_CHECK_PROGS([NOWEAVE], [noweave]) +## In case noweb is missing we need to build our own. +if test -z $NOTANGLE -o -z $NOWEAVE ; then + ## Yes, but do we have the source files to build from? + if test ! -d ${srcdir}/noweb; then + AC_MSG_NOTICE([OpenAxiom requires noweb utilties]) + AC_MSG_ERROR([Please get the tarball of dependencies and reconfigure]) + fi + NOTANGLE='$(axiom_build_bindir)/notangle' + NOWEAVE='$(axiom_build_bindir)/noweave' + axiom_all_prerequisites="$axiom_all_prerequisites all-noweb" +fi +]) @@ -819,21 +819,21 @@ axiom_fasl_type oa_use_dynamic_lib axiom_eval_flags axiom_quiet_flags -NOWEAVE -NOTANGLE MAKEINDEX LATEX PDFLATEX HOST_AWK +oa_editor +axiom_src_subdirs +NOWEAVE +NOTANGLE +MAKE AWK MKTEMP -TOUCH INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM -MAKE -oa_editor -axiom_src_subdirs +TOUCH libext shared_ext LIBTOOL_DEPS @@ -17014,39 +17014,160 @@ case $host in esac -axiom_src_subdirs="lib hyper lisp boot interp share algebra input etc doc" +# Extract the first word of "touch", so it can be a program name with args. +set dummy touch; 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_TOUCH+set}" = set; then + $as_echo_n "(cached) " >&6 +else + if test -n "$TOUCH"; then + ac_cv_prog_TOUCH="$TOUCH" # 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_TOUCH="touch" + $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 + break 2 + fi +done +done +IFS=$as_save_IFS + + test -z "$ac_cv_prog_TOUCH" && ac_cv_prog_TOUCH="{ { $as_echo "$as_me:$LINENO: error: 'touch' program is missing." >&5 +$as_echo "$as_me: error: 'touch' program is missing." >&2;} + { (exit 1); exit 1; }; }" +fi +fi +TOUCH=$ac_cv_prog_TOUCH +if test -n "$TOUCH"; then + { $as_echo "$as_me:$LINENO: result: $TOUCH" >&5 +$as_echo "$TOUCH" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -## On Windows system, we prefer the default installation -## location to be 'C:/Program Files/OpenAxiom', following Windows -## convention. We cannot use AC_PREFIX_DEFAULT directly as it seems -## to operate unconditionally. Therefore, we resort to this dirty -## trick stepping over Autoconf's internals. -case $host in - *mingw*) - ac_default_prefix="C:/Program Files/OpenAxiom" - for ac_prog in notepad.exe + +# Find a good install program. We prefer a C program (faster), +# so one script is as good as another. But avoid the broken or +# incompatible versions: +# SysV /etc/install, /usr/sbin/install +# SunOS /usr/etc/install +# IRIX /sbin/install +# AIX /bin/install +# AmigaOS /C/install, which installs bootblocks on floppy discs +# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag +# AFS /usr/afsws/bin/install, which mishandles nonexistent args +# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" +# OS/2's system install, which has a completely different semantic +# ./install, which can be erroneously created by make from ./install.sh. +# Reject install programs that cannot install multiple files. +{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 +$as_echo_n "checking for a BSD-compatible install... " >&6; } +if test -z "$INSTALL"; then +if test "${ac_cv_path_install+set}" = set; then + $as_echo_n "(cached) " >&6 +else + as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + test -z "$as_dir" && as_dir=. + # Account for people who put trailing slashes in PATH elements. +case $as_dir/ in + ./ | .// | /cC/* | \ + /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ + ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ + /usr/ucb/* ) ;; + *) + # OSF1 and SCO ODT 3.0 have their own names for install. + # Don't use installbsd from OSF since it installs stuff as root + # by default. + for ac_prog in ginstall scoinst install; do + for ac_exec_ext in '' $ac_executable_extensions; do + if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then + if test $ac_prog = install && + grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # AIX install. It has an incompatible calling convention. + : + elif test $ac_prog = install && + grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then + # program-specific install script used by HP pwplus--don't use. + : + else + rm -rf conftest.one conftest.two conftest.dir + echo one > conftest.one + echo two > conftest.two + mkdir conftest.dir + if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && + test -s conftest.one && test -s conftest.two && + test -s conftest.dir/conftest.one && + test -s conftest.dir/conftest.two + then + ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" + break 3 + fi + fi + fi + done + done + ;; +esac + +done +IFS=$as_save_IFS + +rm -rf conftest.one conftest.two conftest.dir + +fi + if test "${ac_cv_path_install+set}" = set; then + INSTALL=$ac_cv_path_install + else + # As a last resort, use the slow shell script. Don't cache a + # value for INSTALL within a source directory, because that will + # break other packages using the cache if that directory is + # removed, or if the value is a relative name. + INSTALL=$ac_install_sh + fi +fi +{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 +$as_echo "$INSTALL" >&6; } + +# Use test -z because SunOS4 sh mishandles braces in ${var-val}. +# It thinks the first close brace ends the variable substitution. +test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' + +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' + +test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + +for ac_prog in mktemp 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_path_oa_editor+set}" = set; then +if test "${ac_cv_prog_MKTEMP+set}" = set; then $as_echo_n "(cached) " >&6 else - case $oa_editor in - [\\/]* | ?:[\\/]*) - ac_cv_path_oa_editor="$oa_editor" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + if test -n "$MKTEMP"; then + ac_cv_prog_MKTEMP="$MKTEMP" # 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_path_oa_editor="$as_dir/$ac_word$ac_exec_ext" + ac_cv_prog_MKTEMP="$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -17054,46 +17175,41 @@ done done IFS=$as_save_IFS - ;; -esac fi -oa_editor=$ac_cv_path_oa_editor -if test -n "$oa_editor"; then - { $as_echo "$as_me:$LINENO: result: $oa_editor" >&5 -$as_echo "$oa_editor" >&6; } +fi +MKTEMP=$ac_cv_prog_MKTEMP +if test -n "$MKTEMP"; then + { $as_echo "$as_me:$LINENO: result: $MKTEMP" >&5 +$as_echo "$MKTEMP" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$oa_editor" && break + test -n "$MKTEMP" && break done - ;; - *) - for ac_prog in vi +for ac_prog in gawk mawk nawk awk 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_path_oa_editor+set}" = set; then +if test "${ac_cv_prog_AWK+set}" = set; then $as_echo_n "(cached) " >&6 else - case $oa_editor in - [\\/]* | ?:[\\/]*) - ac_cv_path_oa_editor="$oa_editor" # Let the user override the test with a path. - ;; - *) - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + if test -n "$AWK"; then + ac_cv_prog_AWK="$AWK" # 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_path_oa_editor="$as_dir/$ac_word$ac_exec_ext" + ac_cv_prog_AWK="$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -17101,33 +17217,26 @@ done done IFS=$as_save_IFS - ;; -esac fi -oa_editor=$ac_cv_path_oa_editor -if test -n "$oa_editor"; then - { $as_echo "$as_me:$LINENO: result: $oa_editor" >&5 -$as_echo "$oa_editor" >&6; } +fi +AWK=$ac_cv_prog_AWK +if test -n "$AWK"; then + { $as_echo "$as_me:$LINENO: result: $AWK" >&5 +$as_echo "$AWK" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$oa_editor" && break + test -n "$AWK" && break done - ;; -esac - - -## Accumulate list of utils needed for the build platform -## It is vital that noweb is present in the build environement. -axiom_all_prerequisites= +## Find GNU Make case $build in *linux*) - # GNU/Linux systems come equipped with GNU Make, called `make' + # GNU/Linux systems come equipped with GNU Make, called `make' for ac_prog in make do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -17173,7 +17282,7 @@ test -n "$MAKE" || MAKE="{ { $as_echo "$as_me:$LINENO: error: Make utility missi $as_echo "$as_me: error: Make utility missing." >&2;} { (exit 1); exit 1; }; }" - ;; + ;; *) # Other systems tend to spell it `gmake' and such for ac_prog in gmake make @@ -17221,118 +17330,68 @@ test -n "$MAKE" || MAKE="{ { $as_echo "$as_me:$LINENO: error: Make utility missi $as_echo "$as_me: error: Make utility missing." >&2;} { (exit 1); exit 1; }; }" - if ! $MAKE --version | grep 'GNU' 2>/dev/null; then - { { $as_echo "$as_me:$LINENO: error: OpenAxiom build system needs GNU Make." >&5 + if ! $MAKE --version | grep 'GNU' 2>/dev/null; then + { { $as_echo "$as_me:$LINENO: error: OpenAxiom build system needs GNU Make." >&5 $as_echo "$as_me: error: OpenAxiom build system needs GNU Make." >&2;} { (exit 1); exit 1; }; } - fi - ;; + fi + ;; esac - -# Find a good install program. We prefer a C program (faster), -# so one script is as good as another. But avoid the broken or -# incompatible versions: -# SysV /etc/install, /usr/sbin/install -# SunOS /usr/etc/install -# IRIX /sbin/install -# AIX /bin/install -# AmigaOS /C/install, which installs bootblocks on floppy discs -# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag -# AFS /usr/afsws/bin/install, which mishandles nonexistent args -# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" -# OS/2's system install, which has a completely different semantic -# ./install, which can be erroneously created by make from ./install.sh. -# Reject install programs that cannot install multiple files. -{ $as_echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 -$as_echo_n "checking for a BSD-compatible install... " >&6; } -if test -z "$INSTALL"; then -if test "${ac_cv_path_install+set}" = set; then +## Make sure noweb executable is available +for ac_prog in notangle +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_NOTANGLE+set}" = set; then $as_echo_n "(cached) " >&6 else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + if test -n "$NOTANGLE"; then + ac_cv_prog_NOTANGLE="$NOTANGLE" # 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=. - # Account for people who put trailing slashes in PATH elements. -case $as_dir/ in - ./ | .// | /cC/* | \ - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ - ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \ - /usr/ucb/* ) ;; - *) - # OSF1 and SCO ODT 3.0 have their own names for install. - # Don't use installbsd from OSF since it installs stuff as root - # by default. - for ac_prog in ginstall scoinst install; do - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then - if test $ac_prog = install && - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # AIX install. It has an incompatible calling convention. - : - elif test $ac_prog = install && - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then - # program-specific install script used by HP pwplus--don't use. - : - else - rm -rf conftest.one conftest.two conftest.dir - echo one > conftest.one - echo two > conftest.two - mkdir conftest.dir - if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && - test -s conftest.one && test -s conftest.two && - test -s conftest.dir/conftest.one && - test -s conftest.dir/conftest.two - then - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" - break 3 - fi - fi - fi - done - done - ;; -esac - + 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_NOTANGLE="$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 -rm -rf conftest.one conftest.two conftest.dir - fi - if test "${ac_cv_path_install+set}" = set; then - INSTALL=$ac_cv_path_install - else - # As a last resort, use the slow shell script. Don't cache a - # value for INSTALL within a source directory, because that will - # break other packages using the cache if that directory is - # removed, or if the value is a relative name. - INSTALL=$ac_install_sh - fi fi -{ $as_echo "$as_me:$LINENO: result: $INSTALL" >&5 -$as_echo "$INSTALL" >&6; } - -# Use test -z because SunOS4 sh mishandles braces in ${var-val}. -# It thinks the first close brace ends the variable substitution. -test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' +NOTANGLE=$ac_cv_prog_NOTANGLE +if test -n "$NOTANGLE"; then + { $as_echo "$as_me:$LINENO: result: $NOTANGLE" >&5 +$as_echo "$NOTANGLE" >&6; } +else + { $as_echo "$as_me:$LINENO: result: no" >&5 +$as_echo "no" >&6; } +fi -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' -test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' + test -n "$NOTANGLE" && break +done -# AC_PROG_LN_S -# Extract the first word of "touch", so it can be a program name with args. -set dummy touch; ac_word=$2 +for ac_prog in noweave +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_TOUCH+set}" = set; then +if test "${ac_cv_prog_NOWEAVE+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$TOUCH"; then - ac_cv_prog_TOUCH="$TOUCH" # Let the user override the test. + if test -n "$NOWEAVE"; then + ac_cv_prog_NOWEAVE="$NOWEAVE" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH @@ -17341,7 +17400,7 @@ do 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_TOUCH="touch" + ac_cv_prog_NOWEAVE="$ac_prog" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -17349,41 +17408,70 @@ done done IFS=$as_save_IFS - test -z "$ac_cv_prog_TOUCH" && ac_cv_prog_TOUCH="{ { $as_echo "$as_me:$LINENO: error: 'touch' program is missing." >&5 -$as_echo "$as_me: error: 'touch' program is missing." >&2;} - { (exit 1); exit 1; }; }" fi fi -TOUCH=$ac_cv_prog_TOUCH -if test -n "$TOUCH"; then - { $as_echo "$as_me:$LINENO: result: $TOUCH" >&5 -$as_echo "$TOUCH" >&6; } +NOWEAVE=$ac_cv_prog_NOWEAVE +if test -n "$NOWEAVE"; then + { $as_echo "$as_me:$LINENO: result: $NOWEAVE" >&5 +$as_echo "$NOWEAVE" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi -for ac_prog in mktemp + test -n "$NOWEAVE" && break +done + +## In case noweb is missing we need to build our own. +if test -z $NOTANGLE -o -z $NOWEAVE ; then + ## Yes, but do we have the source files to build from? + if test ! -d ${srcdir}/noweb; then + { $as_echo "$as_me:$LINENO: OpenAxiom requires noweb utilties" >&5 +$as_echo "$as_me: OpenAxiom requires noweb utilties" >&6;} + { { $as_echo "$as_me:$LINENO: error: Please get the tarball of dependencies and reconfigure" >&5 +$as_echo "$as_me: error: Please get the tarball of dependencies and reconfigure" >&2;} + { (exit 1); exit 1; }; } + fi + NOTANGLE='$(axiom_build_bindir)/notangle' + NOWEAVE='$(axiom_build_bindir)/noweave' + axiom_all_prerequisites="$axiom_all_prerequisites all-noweb" +fi + + +axiom_src_subdirs="lib hyper lisp boot interp share algebra input etc doc" + + +## On Windows system, we prefer the default installation +## location to be 'C:/Program Files/OpenAxiom', following Windows +## convention. We cannot use AC_PREFIX_DEFAULT directly as it seems +## to operate unconditionally. Therefore, we resort to this dirty +## trick stepping over Autoconf's internals. +case $host in + *mingw*) + ac_default_prefix="C:/Program Files/OpenAxiom" + for ac_prog in notepad.exe 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_MKTEMP+set}" = set; then +if test "${ac_cv_path_oa_editor+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$MKTEMP"; then - ac_cv_prog_MKTEMP="$MKTEMP" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $oa_editor in + [\\/]* | ?:[\\/]*) + ac_cv_path_oa_editor="$oa_editor" # Let the user override the test with a path. + ;; + *) + 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_MKTEMP="$ac_prog" + ac_cv_path_oa_editor="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -17391,42 +17479,46 @@ done done IFS=$as_save_IFS + ;; +esac fi -fi -MKTEMP=$ac_cv_prog_MKTEMP -if test -n "$MKTEMP"; then - { $as_echo "$as_me:$LINENO: result: $MKTEMP" >&5 -$as_echo "$MKTEMP" >&6; } +oa_editor=$ac_cv_path_oa_editor +if test -n "$oa_editor"; then + { $as_echo "$as_me:$LINENO: result: $oa_editor" >&5 +$as_echo "$oa_editor" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$MKTEMP" && break + test -n "$oa_editor" && break done - -for ac_prog in gawk mawk nawk awk + ;; + *) + for ac_prog in vi 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_AWK+set}" = set; then +if test "${ac_cv_path_oa_editor+set}" = set; then $as_echo_n "(cached) " >&6 else - if test -n "$AWK"; then - ac_cv_prog_AWK="$AWK" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR + case $oa_editor in + [\\/]* | ?:[\\/]*) + ac_cv_path_oa_editor="$oa_editor" # Let the user override the test with a path. + ;; + *) + 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_AWK="$ac_prog" + ac_cv_path_oa_editor="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi @@ -17434,21 +17526,30 @@ done done IFS=$as_save_IFS + ;; +esac fi -fi -AWK=$ac_cv_prog_AWK -if test -n "$AWK"; then - { $as_echo "$as_me:$LINENO: result: $AWK" >&5 -$as_echo "$AWK" >&6; } +oa_editor=$ac_cv_path_oa_editor +if test -n "$oa_editor"; then + { $as_echo "$as_me:$LINENO: result: $oa_editor" >&5 +$as_echo "$oa_editor" >&6; } else { $as_echo "$as_me:$LINENO: result: no" >&5 $as_echo "no" >&6; } fi - test -n "$AWK" && break + test -n "$oa_editor" && break done + ;; +esac + + +## Accumulate list of utils needed for the build platform +## It is vital that noweb is present in the build environement. +axiom_all_prerequisites= + for ac_prog in awk nawk gawk mawk do # Extract the first word of "$ac_prog", so it can be a program name with args. @@ -17665,109 +17766,6 @@ fi done -## --------------------------------------- -## Make sure noweb executable is available -## --------------------------------------- -for ac_prog in notangle -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_NOTANGLE+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$NOTANGLE"; then - ac_cv_prog_NOTANGLE="$NOTANGLE" # 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_NOTANGLE="$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 -NOTANGLE=$ac_cv_prog_NOTANGLE -if test -n "$NOTANGLE"; then - { $as_echo "$as_me:$LINENO: result: $NOTANGLE" >&5 -$as_echo "$NOTANGLE" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$NOTANGLE" && break -done - -for ac_prog in noweave -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_NOWEAVE+set}" = set; then - $as_echo_n "(cached) " >&6 -else - if test -n "$NOWEAVE"; then - ac_cv_prog_NOWEAVE="$NOWEAVE" # 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_NOWEAVE="$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 -NOWEAVE=$ac_cv_prog_NOWEAVE -if test -n "$NOWEAVE"; then - { $as_echo "$as_me:$LINENO: result: $NOWEAVE" >&5 -$as_echo "$NOWEAVE" >&6; } -else - { $as_echo "$as_me:$LINENO: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$NOWEAVE" && break -done - - -## In case noweb is missing we need to build our own. -if test -z $NOTANGLE -o -z $NOWEAVE ; then - ## Yes, but do we have the source files to build from? - if test ! -d ${srcdir}/noweb; then - { $as_echo "$as_me:$LINENO: OpenAxiom requires noweb utilties" >&5 -$as_echo "$as_me: OpenAxiom requires noweb utilties" >&6;} - { { $as_echo "$as_me:$LINENO: error: Please get the tarball of dependencies and reconfigure" >&5 -$as_echo "$as_me: error: Please get the tarball of dependencies and reconfigure" >&2;} - { (exit 1); exit 1; }; } - fi - NOTANGLE='$(axiom_build_bindir)/notangle' - NOWEAVE='$(axiom_build_bindir)/noweave' - axiom_all_prerequisites="$axiom_all_prerequisites all-noweb" -fi - diff --git a/configure.ac b/configure.ac index 4e8c7af8..bc773a9e 100644 --- a/configure.ac +++ b/configure.ac @@ -26,6 +26,8 @@ OPENAXIOM_GCL_HACKS OPENAXIOM_HOST_DATA_PROPERTIES OPENAXIOM_DYNAMIC_MODULE_SUPPORT +OPENAXIOM_BUILD_TOOLS + axiom_src_subdirs="lib hyper lisp boot interp share algebra input etc doc" AC_SUBST(axiom_src_subdirs) @@ -49,30 +51,6 @@ AC_SUBST(oa_editor) ## It is vital that noweb is present in the build environement. axiom_all_prerequisites= -case $build in - *linux*) - # GNU/Linux systems come equipped with GNU Make, called `make' - AC_CHECK_PROGS([MAKE], [make], - [AC_MSG_ERROR([Make utility missing.])]) - ;; - *) - # Other systems tend to spell it `gmake' and such - AC_CHECK_PROGS([MAKE], [gmake make], - [AC_MSG_ERROR([Make utility missing.])]) - if ! $MAKE --version | grep 'GNU' 2>/dev/null; then - AC_MSG_ERROR([OpenAxiom build system needs GNU Make.]) - fi - ;; -esac - - -AC_PROG_INSTALL -# AC_PROG_LN_S -AC_CHECK_PROG([TOUCH], [touch], - [touch], [AC_MSG_ERROR(['touch' program is missing.])]) -AC_CHECK_PROGS([MKTEMP], [mktemp]) - -AC_PROG_AWK AC_PATH_PROGS([HOST_AWK],[awk nawk gawk mawk]) @@ -86,24 +64,6 @@ fi AC_CHECK_PROGS([MAKEINDEX], [makeindex]) -## --------------------------------------- -## Make sure noweb executable is available -## --------------------------------------- -AC_CHECK_PROGS([NOTANGLE], [notangle]) -AC_CHECK_PROGS([NOWEAVE], [noweave]) - -## In case noweb is missing we need to build our own. -if test -z $NOTANGLE -o -z $NOWEAVE ; then - ## Yes, but do we have the source files to build from? - if test ! -d ${srcdir}/noweb; then - AC_MSG_NOTICE([OpenAxiom requires noweb utilties]) - AC_MSG_ERROR([Please get the tarball of dependencies and reconfigure]) - fi - NOTANGLE='$(axiom_build_bindir)/notangle' - NOWEAVE='$(axiom_build_bindir)/noweave' - axiom_all_prerequisites="$axiom_all_prerequisites all-noweb" -fi - OPENAXIOM_LISP_FLAGS OPENAXIOM_FILE_EXTENSIONS($axiom_lisp) diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet index 6b89cff8..66719573 100644 --- a/configure.ac.pamphlet +++ b/configure.ac.pamphlet @@ -629,10 +629,6 @@ platforms. ## It is vital that noweb is present in the build environement. axiom_all_prerequisites= -<<find make>> - -<<file utils>> - <<awk and tar program>> <<binary utils>> @@ -675,55 +671,10 @@ AC_SUBST(axiom_all_prerequisites) The next paragraphs detail each of the cluster of build utilities [[configure]] looks for. -\paragraph{The \Tool{Make} program.} - -Of course, no build can proceed with \File{Tool} inexisting from -the build-environment. We insist on GNU \Tool{Make} program as there -are way too many variations, way too many incompatible implementations -and extensions. Please, note that this requirement just reflects -\Tool{OpenAxiom}'s dependencies on external toos: \Tool{OpenAxiom} relies on -\Tool{GCL}, which in turn uses \Tool{GCC}. Building \Tool{GCC} requires -\Tool{GNU Make}, and \Tool{GCL} itself requires \Tool{GNU Make}. -<<find make>>= -case $build in - *linux*) - # GNU/Linux systems come equipped with GNU Make, called `make' - AC_CHECK_PROGS([MAKE], [make], - [AC_MSG_ERROR([Make utility missing.])]) - ;; - *) - # Other systems tend to spell it `gmake' and such - AC_CHECK_PROGS([MAKE], [gmake make], - [AC_MSG_ERROR([Make utility missing.])]) - if ! $MAKE --version | grep 'GNU' 2>/dev/null; then - AC_MSG_ERROR([OpenAxiom build system needs GNU Make.]) - fi - ;; -esac - -@ - \paragraph{File utils} Then, check for a usable [[install]] program. Also, find out way to hard- or soft-link files. -After a recent migration to -\Tool{Autoconf-2.60}, it turns out that all possibilities of -soft-linking are tried (to ``play safe''), and if any variation -fails then, [[LN_S]] is defined to [[cp -p]], which works -only for files as sources. But, the only way we currently -use [[LN_S]] is when the first argument is a directory. So, the -``portability help'' we get from \Tool{Autoconf} is no help. -Consequently, the test for -[[ln -s]] is commented out for the moment. -<<file utils>>= -AC_PROG_INSTALL -# AC_PROG_LN_S -AC_CHECK_PROG([TOUCH], [touch], - [touch], [AC_MSG_ERROR(['touch' program is missing.])]) -AC_CHECK_PROGS([MKTEMP], [mktemp]) -@ - \paragraph{The [[awk]] program} The old build machinery needs \Tool{awk} on the build machine for extracting algebra definitions. The same tool is needed on the @@ -732,7 +683,6 @@ the moment we do not make a distinction between the build machine and the host machine (though that may change in the future). <<awk and tar program>>= -AC_PROG_AWK AC_PATH_PROGS([HOST_AWK],[awk nawk gawk mawk]) @ @@ -766,24 +716,6 @@ if test -z "$PDFLATEX"; then fi AC_CHECK_PROGS([MAKEINDEX], [makeindex]) - -## --------------------------------------- -## Make sure noweb executable is available -## --------------------------------------- -AC_CHECK_PROGS([NOTANGLE], [notangle]) -AC_CHECK_PROGS([NOWEAVE], [noweave]) - -## In case noweb is missing we need to build our own. -if test -z $NOTANGLE -o -z $NOWEAVE ; then - ## Yes, but do we have the source files to build from? - if test ! -d ${srcdir}/noweb; then - AC_MSG_NOTICE([OpenAxiom requires noweb utilties]) - AC_MSG_ERROR([Please get the tarball of dependencies and reconfigure]) - fi - NOTANGLE='$(axiom_build_bindir)/notangle' - NOWEAVE='$(axiom_build_bindir)/noweave' - axiom_all_prerequisites="$axiom_all_prerequisites all-noweb" -fi @ \section{Configuration options} @@ -973,6 +905,8 @@ OPENAXIOM_GCL_HACKS OPENAXIOM_HOST_DATA_PROPERTIES OPENAXIOM_DYNAMIC_MODULE_SUPPORT +OPENAXIOM_BUILD_TOOLS + axiom_src_subdirs="lib hyper lisp boot interp share algebra input etc doc" AC_SUBST(axiom_src_subdirs) |