aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--config/open-axiom.m445
-rwxr-xr-xconfigure570
-rw-r--r--configure.ac44
-rw-r--r--configure.ac.pamphlet70
5 files changed, 339 insertions, 396 deletions
diff --git a/ChangeLog b/ChangeLog
index 5e744c14..4930c7a9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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
+])
diff --git a/configure b/configure
index 50487704..0ae63cc3 100755
--- a/configure
+++ b/configure
@@ -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)