diff --git a/Makefile.in b/Makefile.in index 96ffc705..76b5b9a9 100644 --- a/Makefile.in +++ b/Makefile.in @@ -56,7 +56,7 @@ DISTFILES = COPYING ChangeLog ChangeLog.1 ChangeLog.0 INSTALL \ Makefile.in NEWS README TODO \ acconfig.h acfunctions acgeneral.m4 acheaders acidentifiers \ acmakevars acoldnames.m4 acprograms acspecific.m4 autoconf.info* \ - autoconf.sh autoconf.texi install.texi \ + autoconf.m4 autoconf.sh autoconf.texi install.texi \ autoheader.sh autoreconf.sh autoscan.pl autoupdate.sh \ shindent.sh ifnames.sh \ config.guess config.sub configure configure.in \ @@ -170,10 +170,10 @@ uninstall: if test -f standards.info || test -f $(srcdir)/standards.info; \ then cd $(infodir); rm -f standards.info*; fi -configure: configure.in acgeneral.m4 acspecific.m4 acoldnames.m4 +configure: configure.in autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 cd $(srcdir); \ rm -f $@ $@.tmp; \ - $(M4) acgeneral.m4 acspecific.m4 acoldnames.m4 configure.in > $@.tmp && \ + $(M4) autoconf.m4 configure.in > $@.tmp && \ mv $@.tmp $@ && \ chmod +x $@ Makefile: Makefile.in config.status diff --git a/NEWS b/NEWS index 9f2734f8..e33d812c 100644 --- a/NEWS +++ b/NEWS @@ -11,6 +11,8 @@ Major changes in release 2.0: * Uses optional shell scripts $exec_prefix/lib/config.site and $prefix/lib/config.site to perform site or system specific initializations. * configure saves compiler output to ./config.log for debugging. +* New file autoconf.m4 loads the rest of the Autoconf macros. +* acsite.m4 is the new name for the system-wide aclocal.m4. * Has the beginnings of a DejaGnu test suite. ** New macros: @@ -40,6 +42,7 @@ Major changes in release 2.0: * AC_VERBOSE pays attention to --quiet/--silent, not --verbose. * AC_CHECK_FUNCS and AC_CHECK_HEADERS take optional shell commands to execute on success. +* AC_REMOTE_TAPE removed; it was too specific to tar and cpio. ** New utilities: * autoscan to generate a preliminary configure.in for a package by diff --git a/acfunctions b/acfunctions index ef4d7e97..a53e3643 100644 --- a/acfunctions +++ b/acfunctions @@ -1,58 +1,58 @@ # Ones that have their own macros. -major AC_MAJOR_HEADER -minor AC_MAJOR_HEADER -makedev AC_MAJOR_HEADER -bcopy AC_STDC_HEADERS -bcmp AC_STDC_HEADERS -bzero AC_STDC_HEADERS -ioctl AC_GCC_TRADITIONAL -memchr AC_STDC_HEADERS -memcpy AC_STDC_HEADERS -memcmp AC_STDC_HEADERS -memmove AC_STDC_HEADERS -memset AC_STDC_HEADERS -index AC_STDC_HEADERS -rindex AC_STDC_HEADERS -getgroups AC_GETGROUPS_T -signal AC_RETSIGTYPE -alloca AC_ALLOCA -getloadavg AC_GETLOADAVG -mmap AC_MMAP -setvbuf AC_SETVBUF_REVERSED -strcoll AC_STRCOLL -utime AC_UTIME_NULL -vfork AC_VFORK -vprintf AC_VPRINTF -vfprintf AC_VPRINTF -vsprintf AC_VPRINTF -wait3 AC_WAIT3 +major AC_HEADER_MAJOR +minor AC_HEADER_MAJOR +makedev AC_HEADER_MAJOR +bcopy AC_HEADER_STDC +bcmp AC_HEADER_STDC +bzero AC_HEADER_STDC +ioctl AC_PROG_GCC_TRADITIONAL +memchr AC_HEADER_STDC +memcpy AC_HEADER_STDC +memcmp AC_HEADER_STDC +memmove AC_HEADER_STDC +memset AC_HEADER_STDC +index AC_HEADER_STDC +rindex AC_HEADER_STDC +getgroups AC_TYPE_GETGROUPS +signal AC_TYPE_SIGNAL +alloca AC_FUNC_ALLOCA +getloadavg AC_FUNC_GETLOADAVG +mmap AC_FUNC_MMAP +setvbuf AC_FUNC_SETVBUF_REVERSED +strcoll AC_FUNC_STRCOLL +utime AC_FUNC_UTIME_NULL +vfork AC_FUNC_VFORK +vprintf AC_FUNC_VPRINTF +vfprintf AC_FUNC_VPRINTF +vsprintf AC_FUNC_VPRINTF +wait3 AC_FUNC_WAIT3 # Others. -fnmatch AC_HAVE_FUNCS -ftime AC_HAVE_FUNCS -gethostname AC_HAVE_FUNCS -gettimeofday AC_HAVE_FUNCS -getusershell AC_HAVE_FUNCS -getcwd AC_HAVE_FUNCS -getwd AC_HAVE_FUNCS -mkdir AC_HAVE_FUNCS -mkfifo AC_HAVE_FUNCS -mktime AC_HAVE_FUNCS -putenv AC_HAVE_FUNCS -re_comp AC_HAVE_FUNCS -regcmp AC_HAVE_FUNCS -regcomp AC_HAVE_FUNCS -rmdir AC_HAVE_FUNCS -select AC_HAVE_FUNCS -socket AC_HAVE_FUNCS -stime AC_HAVE_FUNCS -strcspn AC_HAVE_FUNCS -strdup AC_HAVE_FUNCS -strerror AC_HAVE_FUNCS -strftime AC_HAVE_FUNCS -strspn AC_HAVE_FUNCS -strstr AC_HAVE_FUNCS -strtod AC_HAVE_FUNCS -strtol AC_HAVE_FUNCS -strtoul AC_HAVE_FUNCS -uname AC_HAVE_FUNCS +fnmatch AC_CHECK_FUNCS +ftime AC_CHECK_FUNCS +gethostname AC_CHECK_FUNCS +gettimeofday AC_CHECK_FUNCS +getusershell AC_CHECK_FUNCS +getcwd AC_CHECK_FUNCS +getwd AC_CHECK_FUNCS +mkdir AC_CHECK_FUNCS +mkfifo AC_CHECK_FUNCS +mktime AC_CHECK_FUNCS +putenv AC_CHECK_FUNCS +re_comp AC_CHECK_FUNCS +regcmp AC_CHECK_FUNCS +regcomp AC_CHECK_FUNCS +rmdir AC_CHECK_FUNCS +select AC_CHECK_FUNCS +socket AC_CHECK_FUNCS +stime AC_CHECK_FUNCS +strcspn AC_CHECK_FUNCS +strdup AC_CHECK_FUNCS +strerror AC_CHECK_FUNCS +strftime AC_CHECK_FUNCS +strspn AC_CHECK_FUNCS +strstr AC_CHECK_FUNCS +strtod AC_CHECK_FUNCS +strtol AC_CHECK_FUNCS +strtoul AC_CHECK_FUNCS +uname AC_CHECK_FUNCS diff --git a/acgeneral.m4 b/acgeneral.m4 index c7ae93a5..dfede760 100644 --- a/acgeneral.m4 +++ b/acgeneral.m4 @@ -79,7 +79,7 @@ AC_DEFUN(AC_INIT_NOTICE, # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ])dnl dnl -AC_DEFUN(AC_INIT_PARSEARGS, +AC_DEFUN(AC_INIT_PARSE_ARGS, [AC_BEFORE([$0], [AC_ARG_ENABLE])dnl AC_BEFORE([$0], [AC_ARG_WITH])dnl # Save the original args to write them into config.status later. @@ -134,8 +134,8 @@ silent= srcdir= target=NONE verbose= -x_includes= -x_libraries= +x_includes=NONE +x_libraries=NONE # Initialize some other variables. subdirs= @@ -370,7 +370,7 @@ dnl AC_DEFUN(AC_INIT, [AC_REQUIRE([AC_BINSH])dnl AC_INIT_NOTICE -AC_INIT_PARSEARGS +AC_INIT_PARSE_ARGS AC_INIT_PREPARE($1)])dnl dnl dnl AC_INIT_PREPARE(UNIQUE-FILE-IN-SOURCE-DIR) @@ -389,19 +389,21 @@ trap 'rm -fr confdefs* $ac_clean_files' 0 # 1 file creation # 2 errors and warnings # 3 unused; some systems may open it to /dev/tty -# 4 checking for... messages and results -# 5 compiler messages +define(AC_FD_MSG, 4)dnl +[#] AC_FD_MSG checking for... messages and results +define(AC_FD_CC, 5)dnl +[#] AC_FD_CC compiler messages saved in config.log if test "$silent" = yes; then - exec 4>/dev/null + exec AC_FD_MSG>/dev/null else - exec 4>&1 + exec AC_FD_MSG>&1 fi -exec 5>./config.log +exec AC_FD_CC>./config.log echo "\ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -" 1>&5 +" 1>&AC_FD_CC # Save the original args if we used an alternate arg parser. ac_configure_temp="${configure_args-[$]@}" @@ -749,19 +751,22 @@ dnl dnl dnl Look for site or system specific initialization scripts. AC_DEFUN(AC_SITE_LOAD, -[ac_site_dirs=/usr/local -if test "x$prefix" != xNONE; then - ac_site_dirs=$prefix +[# Prefer explicitly selected file to automatically selected ones. +if test ! -r "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE=$prefix/lib/config.site + else + CONFIG_SITE=/usr/local/lib/config.site + fi + # System dependent files override system independent ones. + if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then + CONFIG_SITE="$CONFIG_SITE $exec_prefix/lib/config.site" + fi fi -# System dependent files override system independent ones in case of conflict. -if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then - ac_site_dirs="$ac_site_dirs $exec_prefix" -fi -for ac_site_dir in $ac_site_dirs; do - ac_site_file=$ac_site_dir/lib/config.site +for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then echo "loading site script $ac_site_file" - . $ac_site_file + . "$ac_site_file" fi done ])dnl @@ -790,6 +795,7 @@ cat > $cache_file <<\CEOF # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. CEOF @@ -811,7 +817,7 @@ dnl We used to use the below line, but it fails if the 1st arg is a dnl shell variable, so we need the eval. dnl if test "${$1+set}" = set; then if eval "test \"`echo '${'$1'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&4 + echo $ac_n "(cached) $ac_c" 1>&AC_FD_MSG else $2 fi @@ -946,19 +952,19 @@ dnl dnl AC_MSG_CHECKING(FEATURE-DESCRIPTION) AC_DEFUN(AC_MSG_CHECKING, [AC_REQUIRE([AC_PROG_ECHO_N])dnl -echo $ac_n "checking $1""... $ac_c" 1>&4])dnl +echo $ac_n "checking $1""... $ac_c" 1>&AC_FD_MSG])dnl dnl AC_DEFUN(AC_CHECKING, -[echo "checking $1" 1>&4])dnl +[echo "checking $1" 1>&AC_FD_MSG])dnl dnl dnl AC_MSG_RESULT(RESULT-DESCRIPTION) AC_DEFUN(AC_MSG_RESULT, [AC_REQUIRE([AC_PROG_ECHO_N])dnl -echo "$ac_t""$1" 1>&4])dnl +echo "$ac_t""$1" 1>&AC_FD_MSG])dnl dnl AC_DEFUN(AC_VERBOSE, [AC_OBSOLETE([$0], [; instead use AC_MSG_RESULT])dnl -echo " $1" 1>&4])dnl +echo " $1" 1>&AC_FD_MSG])dnl dnl dnl AC_MSG_WARN(PROBLEM-DESCRIPTION) AC_DEFUN(AC_MSG_WARN, @@ -977,7 +983,7 @@ AC_DEFUN(AC_LANG_C, ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='${CPP}' -ac_compile='${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS 1>&5 2>&5' +ac_compile='${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC' ])dnl dnl AC_DEFUN(AC_LANG_CPLUSPLUS, @@ -985,7 +991,7 @@ AC_DEFUN(AC_LANG_CPLUSPLUS, ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='${CXXCPP}' -ac_compile='${CXX-gcc} $CXXFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS 1>&5 2>&5' +ac_compile='${CXX-gcc} $CXXFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC' ])dnl dnl dnl Push the current language on a stack. @@ -1379,6 +1385,7 @@ dnl dnl ### The big finish dnl dnl +dnl Produce config.status, config.h, and links, and configure subdirs. dnl AC_OUTPUT([FILE...] [, EXTRA-CMDS]) AC_DEFUN(AC_OUTPUT, [AC_CACHE_SAVE @@ -1459,10 +1466,25 @@ ifdef([AC_LIST_HEADERS], [trap 'rm -f $1; exit 1' 1 2 15]) ac_given_srcdir=$srcdir + EOF cat >> ${CONFIG_STATUS} <<\EOF - -CONFIG_FILES=${CONFIG_FILES-"$1"} +AC_OUTPUT_FILES($1) +ifdef([AC_LIST_HEADERS], [AC_OUTPUT_HEADER(AC_LIST_HEADERS)])dnl +ifdef([AC_LIST_LINKS], [AC_OUTPUT_LINKS(AC_LIST_LINKS, AC_LIST_FILES)])dnl +$2 +exit 0 +EOF +chmod +x ${CONFIG_STATUS} +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} ${CONFIG_STATUS} +dnl config.status should never do recursion. +ifdef([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl +])dnl +dnl +dnl This is a subroutine of AC_OUTPUT. It is called inside a quoted +dnl here document whose contents are going into config.status. +AC_DEFUN(AC_OUTPUT_FILES, +[CONFIG_FILES=${CONFIG_FILES-"$1"} for ac_file in .. ${CONFIG_FILES}; do if test "x$ac_file" != x..; then # Support "outfile[:infile]", defaulting infile="outfile.in". case "$ac_file" in @@ -1471,6 +1493,8 @@ for ac_file in .. ${CONFIG_FILES}; do if test "x$ac_file" != x..; then *) ac_file_in="${ac_file}.in" ;; esac + # Adjust relative srcdir, etc. for subdirectories. + # Remove last slash and all that follows it. Not all systems have dirname. changequote(, )dnl ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` @@ -1507,7 +1531,7 @@ changequote([, ])dnl ])dnl echo creating "$ac_file" rm -f "$ac_file" - comment_str="Generated automatically from `echo $ac_file_in|sed 's|.*/||'` by configure." + comment_str="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." case "$ac_file" in *.c | *.h | *.C | *.cc | *.cpp | *.hpp | *.m ) ac_comsub="1i\\ @@ -1544,15 +1568,6 @@ EOF cat >> ${CONFIG_STATUS} <<\EOF " $ac_given_srcdir/$ac_file_in > $ac_file fi; done -ifdef([AC_LIST_HEADERS], [AC_OUTPUT_HEADER(AC_LIST_HEADERS)])dnl -ifdef([AC_LIST_LINKS], [AC_OUTPUT_LINKS(AC_LIST_LINKS, AC_LIST_FILES)])dnl -$2 -exit 0 -EOF -chmod +x ${CONFIG_STATUS} -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} ${CONFIG_STATUS} -dnl config.status should never do recursion. -ifdef([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl ])dnl dnl dnl Create the header files listed in $1. @@ -1560,7 +1575,6 @@ dnl This is a subroutine of AC_OUTPUT. It is called inside a quoted dnl here document whose contents are going into config.status. AC_DEFUN(AC_OUTPUT_HEADER, [changequote(<<, >>)dnl - # These sed commands are put into ac_sed_defs when defining a macro. # They are broken into pieces to make the sed script easier to manage. # They are passed to sed as "A NAME B NAME C VALUE D", where NAME @@ -1766,19 +1780,20 @@ changequote([, ])dnl ac_sub_configure= fi - # Make the cache file name correct relative to the subdirectory. -changequote(, )dnl - # A "../" for each directory in /${ac_config_dir}. - ac_dots=`echo /${ac_config_dir}|sed 's%/[^/]*%../%g'` -changequote([, ])dnl - case "$cache_file" in - /*) ac_sub_cache_file=$cache_file ;; - *) # Relative path. - ac_sub_cache_file="$ac_dots$cache_file" ;; - esac - # The recursion is here. if test -n "${ac_sub_configure}"; then + + # Make the cache file name correct relative to the subdirectory. +changequote(, )dnl + # A "../" for each directory in /${ac_config_dir}. + ac_dots=`echo /${ac_config_dir}|sed 's%/[^/]*%../%g'` +changequote([, ])dnl + case "$cache_file" in + /*) ac_sub_cache_file=$cache_file ;; + *) # Relative path. + ac_sub_cache_file="$ac_dots$cache_file" ;; + esac + echo "[running ${CONFIG_SHELL-/bin/sh} ${ac_sub_configure} ${ac_sub_configure_args} --cache-file=$ac_sub_cache_file] --srcdir=${ac_sub_srcdir}" if ${CONFIG_SHELL-/bin/sh} ${ac_sub_configure} ${ac_sub_configure_args} --cache-file=$ac_sub_cache_file --srcdir=${ac_sub_srcdir} then : diff --git a/acheaders b/acheaders index 398f8646..5b556804 100644 --- a/acheaders +++ b/acheaders @@ -1,27 +1,26 @@ # Ones that have their own macros. -dirent.h AC_DIR_HEADER -sys/ndir.h AC_DIR_HEADER -sys/dir.h AC_DIR_HEADER -ndir.h AC_DIR_HEADER -sys/mkdev.h AC_MAJOR_HEADER -string.h AC_STDC_HEADERS -strings.h AC_STDC_HEADERS -stdlib.h AC_STDC_HEADERS -stddef.h AC_STDC_HEADERS -stdarg.h AC_STDC_HEADERS -float.h AC_STDC_HEADERS -sys/mtio.h AC_REMOTE_TAPE -X11/Xlib.h AC_FIND_X +dirent.h AC_HEADER_DIRENT +sys/ndir.h AC_HEADER_DIRENT +sys/dir.h AC_HEADER_DIRENT +ndir.h AC_HEADER_DIRENT +sys/mkdev.h AC_HEADER_MAJOR +string.h AC_HEADER_STDC +strings.h AC_HEADER_STDC +stdlib.h AC_HEADER_STDC +stddef.h AC_HEADER_STDC +stdarg.h AC_HEADER_STDC +float.h AC_HEADER_STDC +X11/Xlib.h AC_PATH_X # Others. -fcntl.h AC_HAVE_HEADERS -limits.h AC_HAVE_HEADERS -paths.h AC_HAVE_HEADERS -sgtty.h AC_HAVE_HEADERS -sys/file.h AC_HAVE_HEADERS -sys/ioctl.h AC_HAVE_HEADERS -sys/time.h AC_HAVE_HEADERS -sys/window.h AC_HAVE_HEADERS -syslog.h AC_HAVE_HEADERS -termio.h AC_HAVE_HEADERS -unistd.h AC_HAVE_HEADERS +fcntl.h AC_CHECK_HEADERS +limits.h AC_CHECK_HEADERS +paths.h AC_CHECK_HEADERS +sgtty.h AC_CHECK_HEADERS +sys/file.h AC_CHECK_HEADERS +sys/ioctl.h AC_CHECK_HEADERS +sys/time.h AC_CHECK_HEADERS +sys/window.h AC_CHECK_HEADERS +syslog.h AC_CHECK_HEADERS +termio.h AC_CHECK_HEADERS +unistd.h AC_CHECK_HEADERS diff --git a/acidentifiers b/acidentifiers index d200c618..a7979c01 100644 --- a/acidentifiers +++ b/acidentifiers @@ -1,22 +1,22 @@ -sys_siglist AC_SYS_SIGLIST_DECLARED -mode_t AC_MODE_T -off_t AC_OFF_T -pid_t AC_PID_T -size_t AC_SIZE_T -uid_t AC_UID_T -gid_t AC_UID_T -S_ISDIR AC_STAT_MACROS_BROKEN -S_ISREG AC_STAT_MACROS_BROKEN -S_ISCHR AC_STAT_MACROS_BROKEN -S_ISBLK AC_STAT_MACROS_BROKEN -S_ISFIFO AC_STAT_MACROS_BROKEN -S_ISLNK AC_STAT_MACROS_BROKEN -S_ISSOCK AC_STAT_MACROS_BROKEN -st_blksize AC_ST_BLKSIZE -st_blocks AC_ST_BLOCKS -st_rdev AC_ST_RDEV -timeval AC_TIME_WITH_SYS_TIME +sys_siglist AC_DECL_SYS_SIGLIST +mode_t AC_TYPE_MODE_T +off_t AC_TYPE_OFF_T +pid_t AC_TYPE_PID_T +size_t AC_TYPE_SIZE_T +uid_t AC_TYPE_UID_T +gid_t AC_TYPE_UID_T +S_ISDIR AC_HEADER_STAT +S_ISREG AC_HEADER_STAT +S_ISCHR AC_HEADER_STAT +S_ISBLK AC_HEADER_STAT +S_ISFIFO AC_HEADER_STAT +S_ISLNK AC_HEADER_STAT +S_ISSOCK AC_HEADER_STAT +st_blksize AC_STRUCT_ST_BLKSIZE +st_blocks AC_STRUCT_ST_BLOCKS +st_rdev AC_STRUCT_ST_RDEV +timeval AC_HEADER_TIME tm AC_STRUCT_TM -tm_zone AC_TIMEZONE -const AC_CONST -inline AC_INLINE +tm_zone AC_STRUCT_TIMEZONE +const AC_C_CONST +inline AC_C_INLINE diff --git a/acmakevars b/acmakevars index 7b33b876..721b79ba 100644 --- a/acmakevars +++ b/acmakevars @@ -1,4 +1,4 @@ -LN AC_LN_S +LN AC_PROG_LN_S AWK AC_PROG_AWK CC AC_PROG_CC CPP AC_PROG_CPP @@ -8,4 +8,4 @@ LEX AC_PROG_LEX RANLIB AC_PROG_RANLIB YACC AC_PROG_YACC BISON AC_PROG_YACC -MAKE AC_SET_MAKE +MAKE AC_PROG_MAKE_SET diff --git a/acprograms b/acprograms index d61f9dbe..be237e31 100644 --- a/acprograms +++ b/acprograms @@ -1,4 +1,4 @@ -ln AC_LN_S +ln AC_PROG_LN_S awk AC_PROG_AWK nawk AC_PROG_AWK gawk AC_PROG_AWK @@ -15,4 +15,4 @@ ranlib AC_PROG_RANLIB yacc AC_PROG_YACC byacc AC_PROG_YACC bison AC_PROG_YACC -make AC_SET_MAKE +make AC_PROG_MAKE_SET diff --git a/acspecific.m4 b/acspecific.m4 index 181ca445..c6f34760 100644 --- a/acspecific.m4 +++ b/acspecific.m4 @@ -52,7 +52,7 @@ AC_CACHE_VAL(ac_cv_prog_gcc, yes #endif EOF -if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then +if ${CC-cc} -E conftest.c 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -72,7 +72,7 @@ AC_CACHE_VAL(ac_cv_prog_gxx, yes #endif EOF -if ${CXX-gcc} -E conftest.C 2>&5 | egrep yes >/dev/null 2>&1; then +if ${CXX-gcc} -E conftest.C 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no @@ -117,15 +117,15 @@ echo 'foo(){}' > conftest.c # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. -if ${CC-cc} -c conftest.c -o conftest.o 1>&5 2>&5 && - test -f conftest.o && ${CC-cc} -c conftest.c -o conftest.o 1>&5 2>&5 +if ${CC-cc} -c conftest.c -o conftest.o 1>&AC_FD_CC 2>&AC_FD_CC && + test -f conftest.o && ${CC-cc} -c conftest.c -o conftest.o 1>&AC_FD_CC 2>&AC_FD_CC then if test "x$CC" != xcc; then # Test first that cc exists at all. - if cc -c conftest.c 1>&5 2>&5 + if cc -c conftest.c 1>&AC_FD_CC 2>&AC_FD_CC then - if cc -c conftest.c -o conftest2.o 1>&5 2>&5 && - test -f conftest2.o && cc -c conftest.c -o conftest2.o 1>&5 2>&5 + if cc -c conftest.c -o conftest2.o 1>&AC_FD_CC 2>&AC_FD_CC && + test -f conftest2.o && cc -c conftest.c -o conftest2.o 1>&AC_FD_CC 2>&AC_FD_CC then eval ac_cv_prog_cc_${ac_cc}_c_o=yes fi @@ -492,7 +492,7 @@ fi ])dnl dnl AC_DEFUN(AC_HEADER_STAT, -[AC_MSG_CHECKING(for broken stat file mode macros) +[AC_MSG_CHECKING(whether stat file-mode macros are broken) AC_CACHE_VAL(ac_cv_header_stat_broken, [AC_EGREP_CPP([You lose], [#include #include @@ -905,9 +905,9 @@ wenotbecray ], ac_cv_os_cray=yes, ac_cv_os_cray=no)])dnl AC_MSG_RESULT($ac_cv_os_cray) if test $ac_cv_os_cray = yes; then -AC_CHECK_FUNC([_getb67], AC_DEFINE(CRAY_STACKSEG_END, _getb67), -AC_CHECK_FUNC([GETB67], AC_DEFINE(CRAY_STACKSEG_END, GETB67), -AC_CHECK_FUNC([getb67], AC_DEFINE(CRAY_STACKSEG_END, getb67)))) +AC_CHECK_FUNC(_getb67, AC_DEFINE(CRAY_STACKSEG_END, _getb67), +AC_CHECK_FUNC(GETB67, AC_DEFINE(CRAY_STACKSEG_END, GETB67), +AC_CHECK_FUNC(getb67, AC_DEFINE(CRAY_STACKSEG_END, getb67)))) fi AC_MSG_CHECKING(stack direction for C alloca) @@ -1385,21 +1385,6 @@ ifelse([$2], , , [else ])dnl fi ])dnl -AC_DEFUN(AC_SYS_REMOTE_TAPE, -[AC_CHECK_HEADER(sys/mtio.h, AC_DEFINE(HAVE_SYS_MTIO_H)) - -if test "$ac_cv_header_sys_mtio_h" = yes; then -AC_MSG_CHECKING(for remote tape header files) -AC_CACHE_VAL(ac_cv_header_rmt, -[AC_TRY_CPP([#include -#include ], ac_cv_header_rmt=yes, ac_cv_header_rmt=no)])dnl - AC_MSG_RESULT($ac_cv_header_rmt) - if test $ac_cv_header_rmt = yes; then - PROGS="$PROGS rmt" - fi -fi -AC_SUBST(PROGS)dnl -])dnl dnl AC_DEFUN(AC_SYS_LONG_FILE_NAMES, [AC_MSG_CHECKING(for long file names) diff --git a/autoconf.in b/autoconf.in index 2316bbb7..5fb733c1 100644 --- a/autoconf.in +++ b/autoconf.in @@ -88,14 +88,7 @@ if test -z "$print_version"; then fi fi -MACROFILES="${AC_MACRODIR}/acgeneral.m4 ${AC_MACRODIR}/acspecific.m4 \ -${AC_MACRODIR}/acoldnames.m4" -test -r ${AC_MACRODIR}/aclocal.m4 && - MACROFILES="${MACROFILES} ${AC_MACRODIR}/aclocal.m4" -test -r aclocal.m4 && MACROFILES="${MACROFILES} aclocal.m4" -MACROFILES="${print_version} ${MACROFILES} ${infile}" - -$M4 $MACROFILES > $tmpout || { rm -f $tmpin $tmpout; exit 2; } +$M4 -I$AC_MACRODIR $print_version autoconf.m4 $infile > $tmpout || { rm -f $tmpin $tmpout; exit 2; } if test -n "$print_version"; then cat $tmpout diff --git a/autoconf.sh b/autoconf.sh index 2316bbb7..5fb733c1 100644 --- a/autoconf.sh +++ b/autoconf.sh @@ -88,14 +88,7 @@ if test -z "$print_version"; then fi fi -MACROFILES="${AC_MACRODIR}/acgeneral.m4 ${AC_MACRODIR}/acspecific.m4 \ -${AC_MACRODIR}/acoldnames.m4" -test -r ${AC_MACRODIR}/aclocal.m4 && - MACROFILES="${MACROFILES} ${AC_MACRODIR}/aclocal.m4" -test -r aclocal.m4 && MACROFILES="${MACROFILES} aclocal.m4" -MACROFILES="${print_version} ${MACROFILES} ${infile}" - -$M4 $MACROFILES > $tmpout || { rm -f $tmpin $tmpout; exit 2; } +$M4 -I$AC_MACRODIR $print_version autoconf.m4 $infile > $tmpout || { rm -f $tmpin $tmpout; exit 2; } if test -n "$print_version"; then cat $tmpout diff --git a/autoconf.texi b/autoconf.texi index 84fb23ed..9632d69d 100644 --- a/autoconf.texi +++ b/autoconf.texi @@ -275,8 +275,9 @@ General Public License. This is because they consist almost entirely of parts of Autoconf itself, rearranged somewhat, and Autoconf is distributed under the terms of the GPL. As applied to Autoconf, the GPL just means that you need to distribute @file{configure.in}, and -@file{aclocal.m4}, @file{acconfig.h}, and @file{@var{config}.h.top} and -@file{@var{config}.h.bot} if you use them, along with @file{configure}. +@file{acsite.m4}, @file{aclocal.m4}, @file{acconfig.h}, and +@file{@var{config}.h.top} and @file{@var{config}.h.bot} if you use them, +along with @file{configure}. Programs that use Autoconf scripts to configure themselves do not automatically come under the GPL. Distributing an Autoconf @@ -330,9 +331,8 @@ file @file{config.h.in} with the package. Here is a diagram showing how the files that can be used in configuration are produced. Programs that are executed are suffixed by @samp{*}. Optional files are enclosed in square brackets (@samp{[]}). -@code{autoconf} and @code{autoheader} also read the installed files -@file{acgeneral.m4} and @file{acspecific.m4}, and also an installed -@file{aclocal.m4} if it exists. +@code{autoconf} and @code{autoheader} also read the installed Autoconf +macro files (by reading @file{autoconf.m4}). @noindent Files used in preparing a software package for distribution: @@ -342,7 +342,8 @@ your source files --> [autoscan*] --> [configure.scan] --> configure.in configure.in --. .------> autoconf* -----> configure +---+ -[aclocal.m4] --' `---. +[aclocal.m4] --+ `---. +[acsite.m4] ---' | +--> [autoheader*] -> [config.h.in] [acconfig.h] ----. | +-----' @@ -447,18 +448,15 @@ to the standard output instead of to @file{configure}. If you give instead of @file{configure.in} and writes the configuration script on the standard output. -The Autoconf macros are defined in two or more files. Two of the files -are distributed with Autoconf: @code{autoconf} first reads -@file{acgeneral.m4} (@pxref{General Purpose Macros}), then -@file{acspecific.m4} (@pxref{Specific Tests}). After reading them, -@code{autoconf} looks for an optional file called @file{aclocal.m4}, -first in the directory that contains other installed Autoconf macro -files, and then in the current directory. If both files exist, it uses -both of them. Those files can contain your site's own locally written -Autoconf macro definitions (@pxref{Writing Macros}, for more -information). If a macro is defined in more than one of the files that -@code{autoconf} reads, the last definition it reads overrides the -earlier ones. +The Autoconf macros are defined in several files. Some of the files are +distributed with Autoconf; @code{autoconf} reads them first. Then it +looks for the optional file @file{acsite.m4} in the directory that +contains the distributed Autoconf macro files, and for the optional file +@file{aclocal.m4} in the current directory. Those files can contain +your site's own locally written Autoconf macro definitions +(@pxref{Writing Macros}, for more information). If a macro is defined +in more than one of the files that @code{autoconf} reads, the last +definition it reads overrides the earlier ones. You can override the directory where @code{autoconf} looks for the installed macro files by setting the @code{AC_MACRODIR} environment @@ -643,9 +641,11 @@ more readable and make it easier to use the current Autoconf documentation if you update them to use the new macro names. If given no arguments, @code{autoupdate} updates @file{configure.in}, -backing up the original version in the file @file{configure.in~}. If -you give @code{autoupdate} an argument, it reads that file instead of -@file{configure.in} and writes the updated file to the standard output. +backing up the original version with the suffix @file{~} (or the value +of the environment variable @code{SIMPLE_BACKUP_SUFFIX}, if that is +set). If you give @code{autoupdate} an argument, it reads that file +instead of @file{configure.in} and writes the updated file to the +standard output. @noindent @code{autoupdate} accepts the following options: @@ -677,7 +677,8 @@ program, which uses @code{bash} to give a Bourne shell script readable indentation. @code{shindent} indents each script named on the command line, backing -up the original version using the original file name with @samp{~} appended. +up the original version with the suffix @file{~} (or the value of the +environment variable @code{SIMPLE_BACKUP_SUFFIX}, if that is set). @code{shindent} places some restrictions on its input, due to the way it uses @code{bash} to do the indentation: @@ -1599,14 +1600,6 @@ If the system supports file names longer than 14 characters, define @code{HAVE_LONG_FILE_NAMES}. @end defmac -@defmac AC_SYS_REMOTE_TAPE -@maindex SYS_REMOTE_TAPE -@vindex HAVE_SYS_MTIO_H -If BSD tape drive ioctls are available, define @code{HAVE_SYS_MTIO_H}, -and if sockets are available add @code{rmt} to @code{make} variable -@code{PROGS}. -@end defmac - @defmac AC_SYS_RESTARTABLE_SYSCALLS @maindex SYS_RESTARTABLE_SYSCALLS @vindex HAVE_RESTARTABLE_SYSCALLS @@ -2771,9 +2764,10 @@ general to most specific. The names of their cache variables use the same convention (@pxref{Cache Variables}, for more information on them). The first word of the name after @samp{AC_} usually tells the category -of feature being tested. Here are the categories for specific test -macros, the kind of macro that you are more likely to write. You are -not required to use these names, but consistency helps readability. +of feature being tested. Here are the categories used in Autoconf for +specific test macros, the kind of macro that you are more likely to +write. They are also used for cache variables, in all-lowercase. Use +them where applicable; where they're not, invent your own categories. @table @code @item C @@ -2782,20 +2776,26 @@ C language builtin features. Declarations of C variables in header files. @item FUNC Functions in libraries. +@item GROUP +Unix group owners of files. @item HEADER Header files. +@item LIB +C libraries. @item OS Quirks of particular operating systems. @item PATH -The full path names to files. +The full path names to files, including programs. @item PROG -The names of programs. +The base names of programs. @item STRUCT Definitions of C structures in header files. @item SYS Operating system features. @item TYPE C builtin or declared types. +@item VAR +C variables in libraries. @end table After the category comes the name of the particular feature being @@ -2804,6 +2804,12 @@ of the feature. For example, @code{AC_FUNC_UTIME_NULL} checks the behavior of the @code{utime} function when called with a @code{NULL} pointer. +A macro that is an internal subroutine of another macro should have a +name that starts with the name of that other macro, followed by one or +more words saying what the internal macro does. For example, +@code{AC_PATH_X} has internal macros @code{AC_PATH_X_XMKMF} and +@code{AC_PATH_X_DIRECT}. + @node Quoting, Dependencies Between Macros, Macro Naming, Writing Macros @section Quoting @@ -3171,46 +3177,7 @@ Indicates that this shell variable is a cache value. @item @var{value-type} A convention for classifying cache values, to produce a rational naming -system. The values used in Autoconf are for the following classes of -features; use them where applicable, otherwise invent your own categories: - -@table @code -@item c -C language - -@item func -C functions - -@item group -Unix groups - -@item header -C header files - -@item lib -C libraries - -@item path -the absolute path names of programs - -@item prog -the base names of programs - -@item struct -C structures - -@item sys -operating system features - -@item type -C types - -@item var -C variables in libraries - -@item x -X Window System -@end table +system. The values used in Autoconf are listed in @ref{Macro Naming}. @item @var{specific-value} Which member of the class of cache values this test applies to. @@ -3505,7 +3472,9 @@ initialization files. You can create these files to provide default values for some configuration values, both on all of your systems and separately for each architecture. -@code{configure} reads the shell script +If the environment variable @code{CONFIG_SITE} is set and contains the +name of a readable file, @code{configure} reads that file as a shell +script. Otherwise, it reads the shell script @file{@var{exec_prefix}/lib/config.site} if it exists, then @file{@var{prefix}/lib/config.site} if it exists. Thus, settings in system dependent files override those in system independent ones in case @@ -3520,9 +3489,8 @@ are good places to set default values for other shell variables like @code{CC}, if you need to give them unusual values: anything you would normally do, repetitively, on the command line. If you use non-default values for @var{prefix} or @var{exec_prefix} (wherever you locate the -site file), you can't set them in the site file, since you have to -specify them on the command line in order for @code{configure} to find -the site file! +site file), you can set them in the site file if you specify it with the +@code{CONFIG_SITE} environment variable. It is possible to set some cache values in the site file. If you are cross-compiling, it is impossible to check features that @@ -3564,10 +3532,6 @@ for backward compatibility, the old names are considered obsolete. @vindex NOTICE @vindex INIT_NOTICE @code{AC_INIT_NOTICE} -@item AC_PARSEARGS -@vindex PARSEARGS -@vindex INIT_PARSEARGS -@code{AC_INIT_PARSEARGS} @item AC_PREPARE @vindex PREPARE @vindex INIT_PREPARE @@ -3786,8 +3750,7 @@ for backward compatibility, the old names are considered obsolete. @code{AC_C_CONST} @item AC_REMOTE_TAPE @vindex REMOTE_TAPE -@vindex SYS_REMOTE_TAPE -@code{AC_SYS_REMOTE_TAPE} +removed @item AC_LONG_FILE_NAMES @vindex LONG_FILE_NAMES @vindex SYS_LONG_FILE_NAMES @@ -3879,8 +3842,14 @@ AC_OS_MINIX AC_OS_ISC AC_TYPE_SIGNAL AC_HEADER_MAJOR -AC_SYS_REMOTE_TAPE -test -n "$have_mtio" && PROGS="$PROGS mt" + +AC_CHECKING(for remote tape and socket header files) +AC_HEADER_CHECK(sys/mtio.h, +[AC_DEFINE(HAVE_SYS_MTIO_H) +PROGS="$PROGS mt" +AC_TEST_CPP([#include +#include ], PROGS="$PROGS rmt")]) + AC_PROG_RSH AC_C_CONST AC_TYPE_UID_T diff --git a/autoheader.in b/autoheader.in index 972def1d..31c65a31 100644 --- a/autoheader.in +++ b/autoheader.in @@ -70,12 +70,6 @@ done TEMPLATES="${AC_MACRODIR}/acconfig.h" test -r acconfig.h && TEMPLATES="${TEMPLATES} acconfig.h" -MACROFILES="${AC_MACRODIR}/acgeneral.m4 ${AC_MACRODIR}/acspecific.m4 \ -${AC_MACRODIR}/acoldnames.m4" -test -r ${AC_MACRODIR}/aclocal.m4 \ - && MACROFILES="${MACROFILES} ${AC_MACRODIR}/aclocal.m4" -test -r aclocal.m4 && MACROFILES="${MACROFILES} aclocal.m4" -MACROFILES="${print_version} ${MACROFILES}" case $# in 0) if test -n "$print_version" @@ -110,13 +104,13 @@ changequote(/,/)dnl define(/libname/, dnl patsubst(patsubst($1, /lib\([^\.]*\)\.a/, /\1/), /-l/, //))dnl changequote([,])dnl - ifelse([$2], , [ + ifelse([$3], , [ @@@libs="$libs libname"@@@ ], [ # If it was found, we do: -$2 -# If it was not found, we do: $3 +# If it was not found, we do: +$4 ]) ])dnl dnl @@ -132,9 +126,9 @@ libs= # We extract assignments of SYMS, TYPES, FUNCS, HEADERS, and LIBS from the # modified autoconf processing of the input file. The sed hair is # necessary to win for multi-line macro invocations. -eval "`echo \"$frob\" \ - | $M4 $MACROFILES - $infile \ - | sed -n -e ' +eval "`echo \"$frob\" | + $M4 -I$AC_MACRODIR $print_version autoconf.m4 - $infile | + sed -n -e ' : again /^@@@.*@@@$/s/^@@@\(.*\)@@@$/\1/p /^@@@/{ diff --git a/autoheader.sh b/autoheader.sh index 972def1d..31c65a31 100644 --- a/autoheader.sh +++ b/autoheader.sh @@ -70,12 +70,6 @@ done TEMPLATES="${AC_MACRODIR}/acconfig.h" test -r acconfig.h && TEMPLATES="${TEMPLATES} acconfig.h" -MACROFILES="${AC_MACRODIR}/acgeneral.m4 ${AC_MACRODIR}/acspecific.m4 \ -${AC_MACRODIR}/acoldnames.m4" -test -r ${AC_MACRODIR}/aclocal.m4 \ - && MACROFILES="${MACROFILES} ${AC_MACRODIR}/aclocal.m4" -test -r aclocal.m4 && MACROFILES="${MACROFILES} aclocal.m4" -MACROFILES="${print_version} ${MACROFILES}" case $# in 0) if test -n "$print_version" @@ -110,13 +104,13 @@ changequote(/,/)dnl define(/libname/, dnl patsubst(patsubst($1, /lib\([^\.]*\)\.a/, /\1/), /-l/, //))dnl changequote([,])dnl - ifelse([$2], , [ + ifelse([$3], , [ @@@libs="$libs libname"@@@ ], [ # If it was found, we do: -$2 -# If it was not found, we do: $3 +# If it was not found, we do: +$4 ]) ])dnl dnl @@ -132,9 +126,9 @@ libs= # We extract assignments of SYMS, TYPES, FUNCS, HEADERS, and LIBS from the # modified autoconf processing of the input file. The sed hair is # necessary to win for multi-line macro invocations. -eval "`echo \"$frob\" \ - | $M4 $MACROFILES - $infile \ - | sed -n -e ' +eval "`echo \"$frob\" | + $M4 -I$AC_MACRODIR $print_version autoconf.m4 - $infile | + sed -n -e ' : again /^@@@.*@@@$/s/^@@@\(.*\)@@@$/\1/p /^@@@/{ diff --git a/autoscan.in b/autoscan.in index b037f64b..5968cebd 100644 --- a/autoscan.in +++ b/autoscan.in @@ -355,13 +355,13 @@ sub output_headers print CONF "dnl Checks for header files.\n"; foreach $word (sort keys %headers) { - if ($headers_macros{$word} eq 'AC_HAVE_HEADERS') { + if ($headers_macros{$word} eq 'AC_CHECK_HEADERS') { push(@have_headers, $word); } else { &print_unique($headers_macros{$word}); } } - print CONF "AC_HAVE_HEADERS(" . join(' ', sort(@have_headers)) . ")\n" + print CONF "AC_CHECK_HEADERS(" . join(' ', sort(@have_headers)) . ")\n" if defined(@have_headers); } @@ -381,12 +381,12 @@ sub output_functions print CONF "dnl Checks for functions.\n"; foreach $word (sort keys %functions) { - if ($functions_macros{$word} eq 'AC_HAVE_FUNCS') { + if ($functions_macros{$word} eq 'AC_CHECK_FUNCS') { push(@have_funcs, $word); } else { &print_unique($functions_macros{$word}); } } - print CONF "AC_HAVE_FUNCS(" . join(' ', sort(@have_funcs)) . ")\n" + print CONF "AC_CHECK_FUNCS(" . join(' ', sort(@have_funcs)) . ")\n" if defined(@have_funcs); } diff --git a/autoscan.pl b/autoscan.pl index b037f64b..5968cebd 100644 --- a/autoscan.pl +++ b/autoscan.pl @@ -355,13 +355,13 @@ sub output_headers print CONF "dnl Checks for header files.\n"; foreach $word (sort keys %headers) { - if ($headers_macros{$word} eq 'AC_HAVE_HEADERS') { + if ($headers_macros{$word} eq 'AC_CHECK_HEADERS') { push(@have_headers, $word); } else { &print_unique($headers_macros{$word}); } } - print CONF "AC_HAVE_HEADERS(" . join(' ', sort(@have_headers)) . ")\n" + print CONF "AC_CHECK_HEADERS(" . join(' ', sort(@have_headers)) . ")\n" if defined(@have_headers); } @@ -381,12 +381,12 @@ sub output_functions print CONF "dnl Checks for functions.\n"; foreach $word (sort keys %functions) { - if ($functions_macros{$word} eq 'AC_HAVE_FUNCS') { + if ($functions_macros{$word} eq 'AC_CHECK_FUNCS') { push(@have_funcs, $word); } else { &print_unique($functions_macros{$word}); } } - print CONF "AC_HAVE_FUNCS(" . join(' ', sort(@have_funcs)) . ")\n" + print CONF "AC_CHECK_FUNCS(" . join(' ', sort(@have_funcs)) . ")\n" if defined(@have_funcs); } diff --git a/bin/autoconf.in b/bin/autoconf.in index 2316bbb7..5fb733c1 100644 --- a/bin/autoconf.in +++ b/bin/autoconf.in @@ -88,14 +88,7 @@ if test -z "$print_version"; then fi fi -MACROFILES="${AC_MACRODIR}/acgeneral.m4 ${AC_MACRODIR}/acspecific.m4 \ -${AC_MACRODIR}/acoldnames.m4" -test -r ${AC_MACRODIR}/aclocal.m4 && - MACROFILES="${MACROFILES} ${AC_MACRODIR}/aclocal.m4" -test -r aclocal.m4 && MACROFILES="${MACROFILES} aclocal.m4" -MACROFILES="${print_version} ${MACROFILES} ${infile}" - -$M4 $MACROFILES > $tmpout || { rm -f $tmpin $tmpout; exit 2; } +$M4 -I$AC_MACRODIR $print_version autoconf.m4 $infile > $tmpout || { rm -f $tmpin $tmpout; exit 2; } if test -n "$print_version"; then cat $tmpout diff --git a/bin/autoheader.in b/bin/autoheader.in index 972def1d..31c65a31 100644 --- a/bin/autoheader.in +++ b/bin/autoheader.in @@ -70,12 +70,6 @@ done TEMPLATES="${AC_MACRODIR}/acconfig.h" test -r acconfig.h && TEMPLATES="${TEMPLATES} acconfig.h" -MACROFILES="${AC_MACRODIR}/acgeneral.m4 ${AC_MACRODIR}/acspecific.m4 \ -${AC_MACRODIR}/acoldnames.m4" -test -r ${AC_MACRODIR}/aclocal.m4 \ - && MACROFILES="${MACROFILES} ${AC_MACRODIR}/aclocal.m4" -test -r aclocal.m4 && MACROFILES="${MACROFILES} aclocal.m4" -MACROFILES="${print_version} ${MACROFILES}" case $# in 0) if test -n "$print_version" @@ -110,13 +104,13 @@ changequote(/,/)dnl define(/libname/, dnl patsubst(patsubst($1, /lib\([^\.]*\)\.a/, /\1/), /-l/, //))dnl changequote([,])dnl - ifelse([$2], , [ + ifelse([$3], , [ @@@libs="$libs libname"@@@ ], [ # If it was found, we do: -$2 -# If it was not found, we do: $3 +# If it was not found, we do: +$4 ]) ])dnl dnl @@ -132,9 +126,9 @@ libs= # We extract assignments of SYMS, TYPES, FUNCS, HEADERS, and LIBS from the # modified autoconf processing of the input file. The sed hair is # necessary to win for multi-line macro invocations. -eval "`echo \"$frob\" \ - | $M4 $MACROFILES - $infile \ - | sed -n -e ' +eval "`echo \"$frob\" | + $M4 -I$AC_MACRODIR $print_version autoconf.m4 - $infile | + sed -n -e ' : again /^@@@.*@@@$/s/^@@@\(.*\)@@@$/\1/p /^@@@/{ diff --git a/bin/autoscan.in b/bin/autoscan.in index b037f64b..5968cebd 100644 --- a/bin/autoscan.in +++ b/bin/autoscan.in @@ -355,13 +355,13 @@ sub output_headers print CONF "dnl Checks for header files.\n"; foreach $word (sort keys %headers) { - if ($headers_macros{$word} eq 'AC_HAVE_HEADERS') { + if ($headers_macros{$word} eq 'AC_CHECK_HEADERS') { push(@have_headers, $word); } else { &print_unique($headers_macros{$word}); } } - print CONF "AC_HAVE_HEADERS(" . join(' ', sort(@have_headers)) . ")\n" + print CONF "AC_CHECK_HEADERS(" . join(' ', sort(@have_headers)) . ")\n" if defined(@have_headers); } @@ -381,12 +381,12 @@ sub output_functions print CONF "dnl Checks for functions.\n"; foreach $word (sort keys %functions) { - if ($functions_macros{$word} eq 'AC_HAVE_FUNCS') { + if ($functions_macros{$word} eq 'AC_CHECK_FUNCS') { push(@have_funcs, $word); } else { &print_unique($functions_macros{$word}); } } - print CONF "AC_HAVE_FUNCS(" . join(' ', sort(@have_funcs)) . ")\n" + print CONF "AC_CHECK_FUNCS(" . join(' ', sort(@have_funcs)) . ")\n" if defined(@have_funcs); } diff --git a/doc/Makefile.in b/doc/Makefile.in index 96ffc705..76b5b9a9 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -56,7 +56,7 @@ DISTFILES = COPYING ChangeLog ChangeLog.1 ChangeLog.0 INSTALL \ Makefile.in NEWS README TODO \ acconfig.h acfunctions acgeneral.m4 acheaders acidentifiers \ acmakevars acoldnames.m4 acprograms acspecific.m4 autoconf.info* \ - autoconf.sh autoconf.texi install.texi \ + autoconf.m4 autoconf.sh autoconf.texi install.texi \ autoheader.sh autoreconf.sh autoscan.pl autoupdate.sh \ shindent.sh ifnames.sh \ config.guess config.sub configure configure.in \ @@ -170,10 +170,10 @@ uninstall: if test -f standards.info || test -f $(srcdir)/standards.info; \ then cd $(infodir); rm -f standards.info*; fi -configure: configure.in acgeneral.m4 acspecific.m4 acoldnames.m4 +configure: configure.in autoconf.m4 acgeneral.m4 acspecific.m4 acoldnames.m4 cd $(srcdir); \ rm -f $@ $@.tmp; \ - $(M4) acgeneral.m4 acspecific.m4 acoldnames.m4 configure.in > $@.tmp && \ + $(M4) autoconf.m4 configure.in > $@.tmp && \ mv $@.tmp $@ && \ chmod +x $@ Makefile: Makefile.in config.status diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 84fb23ed..9632d69d 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -275,8 +275,9 @@ General Public License. This is because they consist almost entirely of parts of Autoconf itself, rearranged somewhat, and Autoconf is distributed under the terms of the GPL. As applied to Autoconf, the GPL just means that you need to distribute @file{configure.in}, and -@file{aclocal.m4}, @file{acconfig.h}, and @file{@var{config}.h.top} and -@file{@var{config}.h.bot} if you use them, along with @file{configure}. +@file{acsite.m4}, @file{aclocal.m4}, @file{acconfig.h}, and +@file{@var{config}.h.top} and @file{@var{config}.h.bot} if you use them, +along with @file{configure}. Programs that use Autoconf scripts to configure themselves do not automatically come under the GPL. Distributing an Autoconf @@ -330,9 +331,8 @@ file @file{config.h.in} with the package. Here is a diagram showing how the files that can be used in configuration are produced. Programs that are executed are suffixed by @samp{*}. Optional files are enclosed in square brackets (@samp{[]}). -@code{autoconf} and @code{autoheader} also read the installed files -@file{acgeneral.m4} and @file{acspecific.m4}, and also an installed -@file{aclocal.m4} if it exists. +@code{autoconf} and @code{autoheader} also read the installed Autoconf +macro files (by reading @file{autoconf.m4}). @noindent Files used in preparing a software package for distribution: @@ -342,7 +342,8 @@ your source files --> [autoscan*] --> [configure.scan] --> configure.in configure.in --. .------> autoconf* -----> configure +---+ -[aclocal.m4] --' `---. +[aclocal.m4] --+ `---. +[acsite.m4] ---' | +--> [autoheader*] -> [config.h.in] [acconfig.h] ----. | +-----' @@ -447,18 +448,15 @@ to the standard output instead of to @file{configure}. If you give instead of @file{configure.in} and writes the configuration script on the standard output. -The Autoconf macros are defined in two or more files. Two of the files -are distributed with Autoconf: @code{autoconf} first reads -@file{acgeneral.m4} (@pxref{General Purpose Macros}), then -@file{acspecific.m4} (@pxref{Specific Tests}). After reading them, -@code{autoconf} looks for an optional file called @file{aclocal.m4}, -first in the directory that contains other installed Autoconf macro -files, and then in the current directory. If both files exist, it uses -both of them. Those files can contain your site's own locally written -Autoconf macro definitions (@pxref{Writing Macros}, for more -information). If a macro is defined in more than one of the files that -@code{autoconf} reads, the last definition it reads overrides the -earlier ones. +The Autoconf macros are defined in several files. Some of the files are +distributed with Autoconf; @code{autoconf} reads them first. Then it +looks for the optional file @file{acsite.m4} in the directory that +contains the distributed Autoconf macro files, and for the optional file +@file{aclocal.m4} in the current directory. Those files can contain +your site's own locally written Autoconf macro definitions +(@pxref{Writing Macros}, for more information). If a macro is defined +in more than one of the files that @code{autoconf} reads, the last +definition it reads overrides the earlier ones. You can override the directory where @code{autoconf} looks for the installed macro files by setting the @code{AC_MACRODIR} environment @@ -643,9 +641,11 @@ more readable and make it easier to use the current Autoconf documentation if you update them to use the new macro names. If given no arguments, @code{autoupdate} updates @file{configure.in}, -backing up the original version in the file @file{configure.in~}. If -you give @code{autoupdate} an argument, it reads that file instead of -@file{configure.in} and writes the updated file to the standard output. +backing up the original version with the suffix @file{~} (or the value +of the environment variable @code{SIMPLE_BACKUP_SUFFIX}, if that is +set). If you give @code{autoupdate} an argument, it reads that file +instead of @file{configure.in} and writes the updated file to the +standard output. @noindent @code{autoupdate} accepts the following options: @@ -677,7 +677,8 @@ program, which uses @code{bash} to give a Bourne shell script readable indentation. @code{shindent} indents each script named on the command line, backing -up the original version using the original file name with @samp{~} appended. +up the original version with the suffix @file{~} (or the value of the +environment variable @code{SIMPLE_BACKUP_SUFFIX}, if that is set). @code{shindent} places some restrictions on its input, due to the way it uses @code{bash} to do the indentation: @@ -1599,14 +1600,6 @@ If the system supports file names longer than 14 characters, define @code{HAVE_LONG_FILE_NAMES}. @end defmac -@defmac AC_SYS_REMOTE_TAPE -@maindex SYS_REMOTE_TAPE -@vindex HAVE_SYS_MTIO_H -If BSD tape drive ioctls are available, define @code{HAVE_SYS_MTIO_H}, -and if sockets are available add @code{rmt} to @code{make} variable -@code{PROGS}. -@end defmac - @defmac AC_SYS_RESTARTABLE_SYSCALLS @maindex SYS_RESTARTABLE_SYSCALLS @vindex HAVE_RESTARTABLE_SYSCALLS @@ -2771,9 +2764,10 @@ general to most specific. The names of their cache variables use the same convention (@pxref{Cache Variables}, for more information on them). The first word of the name after @samp{AC_} usually tells the category -of feature being tested. Here are the categories for specific test -macros, the kind of macro that you are more likely to write. You are -not required to use these names, but consistency helps readability. +of feature being tested. Here are the categories used in Autoconf for +specific test macros, the kind of macro that you are more likely to +write. They are also used for cache variables, in all-lowercase. Use +them where applicable; where they're not, invent your own categories. @table @code @item C @@ -2782,20 +2776,26 @@ C language builtin features. Declarations of C variables in header files. @item FUNC Functions in libraries. +@item GROUP +Unix group owners of files. @item HEADER Header files. +@item LIB +C libraries. @item OS Quirks of particular operating systems. @item PATH -The full path names to files. +The full path names to files, including programs. @item PROG -The names of programs. +The base names of programs. @item STRUCT Definitions of C structures in header files. @item SYS Operating system features. @item TYPE C builtin or declared types. +@item VAR +C variables in libraries. @end table After the category comes the name of the particular feature being @@ -2804,6 +2804,12 @@ of the feature. For example, @code{AC_FUNC_UTIME_NULL} checks the behavior of the @code{utime} function when called with a @code{NULL} pointer. +A macro that is an internal subroutine of another macro should have a +name that starts with the name of that other macro, followed by one or +more words saying what the internal macro does. For example, +@code{AC_PATH_X} has internal macros @code{AC_PATH_X_XMKMF} and +@code{AC_PATH_X_DIRECT}. + @node Quoting, Dependencies Between Macros, Macro Naming, Writing Macros @section Quoting @@ -3171,46 +3177,7 @@ Indicates that this shell variable is a cache value. @item @var{value-type} A convention for classifying cache values, to produce a rational naming -system. The values used in Autoconf are for the following classes of -features; use them where applicable, otherwise invent your own categories: - -@table @code -@item c -C language - -@item func -C functions - -@item group -Unix groups - -@item header -C header files - -@item lib -C libraries - -@item path -the absolute path names of programs - -@item prog -the base names of programs - -@item struct -C structures - -@item sys -operating system features - -@item type -C types - -@item var -C variables in libraries - -@item x -X Window System -@end table +system. The values used in Autoconf are listed in @ref{Macro Naming}. @item @var{specific-value} Which member of the class of cache values this test applies to. @@ -3505,7 +3472,9 @@ initialization files. You can create these files to provide default values for some configuration values, both on all of your systems and separately for each architecture. -@code{configure} reads the shell script +If the environment variable @code{CONFIG_SITE} is set and contains the +name of a readable file, @code{configure} reads that file as a shell +script. Otherwise, it reads the shell script @file{@var{exec_prefix}/lib/config.site} if it exists, then @file{@var{prefix}/lib/config.site} if it exists. Thus, settings in system dependent files override those in system independent ones in case @@ -3520,9 +3489,8 @@ are good places to set default values for other shell variables like @code{CC}, if you need to give them unusual values: anything you would normally do, repetitively, on the command line. If you use non-default values for @var{prefix} or @var{exec_prefix} (wherever you locate the -site file), you can't set them in the site file, since you have to -specify them on the command line in order for @code{configure} to find -the site file! +site file), you can set them in the site file if you specify it with the +@code{CONFIG_SITE} environment variable. It is possible to set some cache values in the site file. If you are cross-compiling, it is impossible to check features that @@ -3564,10 +3532,6 @@ for backward compatibility, the old names are considered obsolete. @vindex NOTICE @vindex INIT_NOTICE @code{AC_INIT_NOTICE} -@item AC_PARSEARGS -@vindex PARSEARGS -@vindex INIT_PARSEARGS -@code{AC_INIT_PARSEARGS} @item AC_PREPARE @vindex PREPARE @vindex INIT_PREPARE @@ -3786,8 +3750,7 @@ for backward compatibility, the old names are considered obsolete. @code{AC_C_CONST} @item AC_REMOTE_TAPE @vindex REMOTE_TAPE -@vindex SYS_REMOTE_TAPE -@code{AC_SYS_REMOTE_TAPE} +removed @item AC_LONG_FILE_NAMES @vindex LONG_FILE_NAMES @vindex SYS_LONG_FILE_NAMES @@ -3879,8 +3842,14 @@ AC_OS_MINIX AC_OS_ISC AC_TYPE_SIGNAL AC_HEADER_MAJOR -AC_SYS_REMOTE_TAPE -test -n "$have_mtio" && PROGS="$PROGS mt" + +AC_CHECKING(for remote tape and socket header files) +AC_HEADER_CHECK(sys/mtio.h, +[AC_DEFINE(HAVE_SYS_MTIO_H) +PROGS="$PROGS mt" +AC_TEST_CPP([#include +#include ], PROGS="$PROGS rmt")]) + AC_PROG_RSH AC_C_CONST AC_TYPE_UID_T diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4 index c7ae93a5..dfede760 100644 --- a/lib/autoconf/general.m4 +++ b/lib/autoconf/general.m4 @@ -79,7 +79,7 @@ AC_DEFUN(AC_INIT_NOTICE, # Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. ])dnl dnl -AC_DEFUN(AC_INIT_PARSEARGS, +AC_DEFUN(AC_INIT_PARSE_ARGS, [AC_BEFORE([$0], [AC_ARG_ENABLE])dnl AC_BEFORE([$0], [AC_ARG_WITH])dnl # Save the original args to write them into config.status later. @@ -134,8 +134,8 @@ silent= srcdir= target=NONE verbose= -x_includes= -x_libraries= +x_includes=NONE +x_libraries=NONE # Initialize some other variables. subdirs= @@ -370,7 +370,7 @@ dnl AC_DEFUN(AC_INIT, [AC_REQUIRE([AC_BINSH])dnl AC_INIT_NOTICE -AC_INIT_PARSEARGS +AC_INIT_PARSE_ARGS AC_INIT_PREPARE($1)])dnl dnl dnl AC_INIT_PREPARE(UNIQUE-FILE-IN-SOURCE-DIR) @@ -389,19 +389,21 @@ trap 'rm -fr confdefs* $ac_clean_files' 0 # 1 file creation # 2 errors and warnings # 3 unused; some systems may open it to /dev/tty -# 4 checking for... messages and results -# 5 compiler messages +define(AC_FD_MSG, 4)dnl +[#] AC_FD_MSG checking for... messages and results +define(AC_FD_CC, 5)dnl +[#] AC_FD_CC compiler messages saved in config.log if test "$silent" = yes; then - exec 4>/dev/null + exec AC_FD_MSG>/dev/null else - exec 4>&1 + exec AC_FD_MSG>&1 fi -exec 5>./config.log +exec AC_FD_CC>./config.log echo "\ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -" 1>&5 +" 1>&AC_FD_CC # Save the original args if we used an alternate arg parser. ac_configure_temp="${configure_args-[$]@}" @@ -749,19 +751,22 @@ dnl dnl dnl Look for site or system specific initialization scripts. AC_DEFUN(AC_SITE_LOAD, -[ac_site_dirs=/usr/local -if test "x$prefix" != xNONE; then - ac_site_dirs=$prefix +[# Prefer explicitly selected file to automatically selected ones. +if test ! -r "$CONFIG_SITE"; then + if test "x$prefix" != xNONE; then + CONFIG_SITE=$prefix/lib/config.site + else + CONFIG_SITE=/usr/local/lib/config.site + fi + # System dependent files override system independent ones. + if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then + CONFIG_SITE="$CONFIG_SITE $exec_prefix/lib/config.site" + fi fi -# System dependent files override system independent ones in case of conflict. -if test "x$exec_prefix" != xNONE && test "x$exec_prefix" != "x$prefix"; then - ac_site_dirs="$ac_site_dirs $exec_prefix" -fi -for ac_site_dir in $ac_site_dirs; do - ac_site_file=$ac_site_dir/lib/config.site +for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then echo "loading site script $ac_site_file" - . $ac_site_file + . "$ac_site_file" fi done ])dnl @@ -790,6 +795,7 @@ cat > $cache_file <<\CEOF # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. +# Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. CEOF @@ -811,7 +817,7 @@ dnl We used to use the below line, but it fails if the 1st arg is a dnl shell variable, so we need the eval. dnl if test "${$1+set}" = set; then if eval "test \"`echo '${'$1'+set}'`\" = set"; then - echo $ac_n "(cached) $ac_c" 1>&4 + echo $ac_n "(cached) $ac_c" 1>&AC_FD_MSG else $2 fi @@ -946,19 +952,19 @@ dnl dnl AC_MSG_CHECKING(FEATURE-DESCRIPTION) AC_DEFUN(AC_MSG_CHECKING, [AC_REQUIRE([AC_PROG_ECHO_N])dnl -echo $ac_n "checking $1""... $ac_c" 1>&4])dnl +echo $ac_n "checking $1""... $ac_c" 1>&AC_FD_MSG])dnl dnl AC_DEFUN(AC_CHECKING, -[echo "checking $1" 1>&4])dnl +[echo "checking $1" 1>&AC_FD_MSG])dnl dnl dnl AC_MSG_RESULT(RESULT-DESCRIPTION) AC_DEFUN(AC_MSG_RESULT, [AC_REQUIRE([AC_PROG_ECHO_N])dnl -echo "$ac_t""$1" 1>&4])dnl +echo "$ac_t""$1" 1>&AC_FD_MSG])dnl dnl AC_DEFUN(AC_VERBOSE, [AC_OBSOLETE([$0], [; instead use AC_MSG_RESULT])dnl -echo " $1" 1>&4])dnl +echo " $1" 1>&AC_FD_MSG])dnl dnl dnl AC_MSG_WARN(PROBLEM-DESCRIPTION) AC_DEFUN(AC_MSG_WARN, @@ -977,7 +983,7 @@ AC_DEFUN(AC_LANG_C, ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='${CPP}' -ac_compile='${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS 1>&5 2>&5' +ac_compile='${CC-cc} $CFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC' ])dnl dnl AC_DEFUN(AC_LANG_CPLUSPLUS, @@ -985,7 +991,7 @@ AC_DEFUN(AC_LANG_CPLUSPLUS, ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='${CXXCPP}' -ac_compile='${CXX-gcc} $CXXFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS 1>&5 2>&5' +ac_compile='${CXX-gcc} $CXXFLAGS $LDFLAGS conftest.${ac_ext} -o conftest $LIBS 1>&AC_FD_CC 2>&AC_FD_CC' ])dnl dnl dnl Push the current language on a stack. @@ -1379,6 +1385,7 @@ dnl dnl ### The big finish dnl dnl +dnl Produce config.status, config.h, and links, and configure subdirs. dnl AC_OUTPUT([FILE...] [, EXTRA-CMDS]) AC_DEFUN(AC_OUTPUT, [AC_CACHE_SAVE @@ -1459,10 +1466,25 @@ ifdef([AC_LIST_HEADERS], [trap 'rm -f $1; exit 1' 1 2 15]) ac_given_srcdir=$srcdir + EOF cat >> ${CONFIG_STATUS} <<\EOF - -CONFIG_FILES=${CONFIG_FILES-"$1"} +AC_OUTPUT_FILES($1) +ifdef([AC_LIST_HEADERS], [AC_OUTPUT_HEADER(AC_LIST_HEADERS)])dnl +ifdef([AC_LIST_LINKS], [AC_OUTPUT_LINKS(AC_LIST_LINKS, AC_LIST_FILES)])dnl +$2 +exit 0 +EOF +chmod +x ${CONFIG_STATUS} +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} ${CONFIG_STATUS} +dnl config.status should never do recursion. +ifdef([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl +])dnl +dnl +dnl This is a subroutine of AC_OUTPUT. It is called inside a quoted +dnl here document whose contents are going into config.status. +AC_DEFUN(AC_OUTPUT_FILES, +[CONFIG_FILES=${CONFIG_FILES-"$1"} for ac_file in .. ${CONFIG_FILES}; do if test "x$ac_file" != x..; then # Support "outfile[:infile]", defaulting infile="outfile.in". case "$ac_file" in @@ -1471,6 +1493,8 @@ for ac_file in .. ${CONFIG_FILES}; do if test "x$ac_file" != x..; then *) ac_file_in="${ac_file}.in" ;; esac + # Adjust relative srcdir, etc. for subdirectories. + # Remove last slash and all that follows it. Not all systems have dirname. changequote(, )dnl ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` @@ -1507,7 +1531,7 @@ changequote([, ])dnl ])dnl echo creating "$ac_file" rm -f "$ac_file" - comment_str="Generated automatically from `echo $ac_file_in|sed 's|.*/||'` by configure." + comment_str="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." case "$ac_file" in *.c | *.h | *.C | *.cc | *.cpp | *.hpp | *.m ) ac_comsub="1i\\ @@ -1544,15 +1568,6 @@ EOF cat >> ${CONFIG_STATUS} <<\EOF " $ac_given_srcdir/$ac_file_in > $ac_file fi; done -ifdef([AC_LIST_HEADERS], [AC_OUTPUT_HEADER(AC_LIST_HEADERS)])dnl -ifdef([AC_LIST_LINKS], [AC_OUTPUT_LINKS(AC_LIST_LINKS, AC_LIST_FILES)])dnl -$2 -exit 0 -EOF -chmod +x ${CONFIG_STATUS} -test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} ${CONFIG_STATUS} -dnl config.status should never do recursion. -ifdef([AC_LIST_SUBDIRS], [AC_OUTPUT_SUBDIRS(AC_LIST_SUBDIRS)])dnl ])dnl dnl dnl Create the header files listed in $1. @@ -1560,7 +1575,6 @@ dnl This is a subroutine of AC_OUTPUT. It is called inside a quoted dnl here document whose contents are going into config.status. AC_DEFUN(AC_OUTPUT_HEADER, [changequote(<<, >>)dnl - # These sed commands are put into ac_sed_defs when defining a macro. # They are broken into pieces to make the sed script easier to manage. # They are passed to sed as "A NAME B NAME C VALUE D", where NAME @@ -1766,19 +1780,20 @@ changequote([, ])dnl ac_sub_configure= fi - # Make the cache file name correct relative to the subdirectory. -changequote(, )dnl - # A "../" for each directory in /${ac_config_dir}. - ac_dots=`echo /${ac_config_dir}|sed 's%/[^/]*%../%g'` -changequote([, ])dnl - case "$cache_file" in - /*) ac_sub_cache_file=$cache_file ;; - *) # Relative path. - ac_sub_cache_file="$ac_dots$cache_file" ;; - esac - # The recursion is here. if test -n "${ac_sub_configure}"; then + + # Make the cache file name correct relative to the subdirectory. +changequote(, )dnl + # A "../" for each directory in /${ac_config_dir}. + ac_dots=`echo /${ac_config_dir}|sed 's%/[^/]*%../%g'` +changequote([, ])dnl + case "$cache_file" in + /*) ac_sub_cache_file=$cache_file ;; + *) # Relative path. + ac_sub_cache_file="$ac_dots$cache_file" ;; + esac + echo "[running ${CONFIG_SHELL-/bin/sh} ${ac_sub_configure} ${ac_sub_configure_args} --cache-file=$ac_sub_cache_file] --srcdir=${ac_sub_srcdir}" if ${CONFIG_SHELL-/bin/sh} ${ac_sub_configure} ${ac_sub_configure_args} --cache-file=$ac_sub_cache_file --srcdir=${ac_sub_srcdir} then : diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 index 181ca445..c6f34760 100644 --- a/lib/autoconf/specific.m4 +++ b/lib/autoconf/specific.m4 @@ -52,7 +52,7 @@ AC_CACHE_VAL(ac_cv_prog_gcc, yes #endif EOF -if ${CC-cc} -E conftest.c 2>&5 | egrep yes >/dev/null 2>&1; then +if ${CC-cc} -E conftest.c 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no @@ -72,7 +72,7 @@ AC_CACHE_VAL(ac_cv_prog_gxx, yes #endif EOF -if ${CXX-gcc} -E conftest.C 2>&5 | egrep yes >/dev/null 2>&1; then +if ${CXX-gcc} -E conftest.C 2>&AC_FD_CC | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no @@ -117,15 +117,15 @@ echo 'foo(){}' > conftest.c # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. -if ${CC-cc} -c conftest.c -o conftest.o 1>&5 2>&5 && - test -f conftest.o && ${CC-cc} -c conftest.c -o conftest.o 1>&5 2>&5 +if ${CC-cc} -c conftest.c -o conftest.o 1>&AC_FD_CC 2>&AC_FD_CC && + test -f conftest.o && ${CC-cc} -c conftest.c -o conftest.o 1>&AC_FD_CC 2>&AC_FD_CC then if test "x$CC" != xcc; then # Test first that cc exists at all. - if cc -c conftest.c 1>&5 2>&5 + if cc -c conftest.c 1>&AC_FD_CC 2>&AC_FD_CC then - if cc -c conftest.c -o conftest2.o 1>&5 2>&5 && - test -f conftest2.o && cc -c conftest.c -o conftest2.o 1>&5 2>&5 + if cc -c conftest.c -o conftest2.o 1>&AC_FD_CC 2>&AC_FD_CC && + test -f conftest2.o && cc -c conftest.c -o conftest2.o 1>&AC_FD_CC 2>&AC_FD_CC then eval ac_cv_prog_cc_${ac_cc}_c_o=yes fi @@ -492,7 +492,7 @@ fi ])dnl dnl AC_DEFUN(AC_HEADER_STAT, -[AC_MSG_CHECKING(for broken stat file mode macros) +[AC_MSG_CHECKING(whether stat file-mode macros are broken) AC_CACHE_VAL(ac_cv_header_stat_broken, [AC_EGREP_CPP([You lose], [#include #include @@ -905,9 +905,9 @@ wenotbecray ], ac_cv_os_cray=yes, ac_cv_os_cray=no)])dnl AC_MSG_RESULT($ac_cv_os_cray) if test $ac_cv_os_cray = yes; then -AC_CHECK_FUNC([_getb67], AC_DEFINE(CRAY_STACKSEG_END, _getb67), -AC_CHECK_FUNC([GETB67], AC_DEFINE(CRAY_STACKSEG_END, GETB67), -AC_CHECK_FUNC([getb67], AC_DEFINE(CRAY_STACKSEG_END, getb67)))) +AC_CHECK_FUNC(_getb67, AC_DEFINE(CRAY_STACKSEG_END, _getb67), +AC_CHECK_FUNC(GETB67, AC_DEFINE(CRAY_STACKSEG_END, GETB67), +AC_CHECK_FUNC(getb67, AC_DEFINE(CRAY_STACKSEG_END, getb67)))) fi AC_MSG_CHECKING(stack direction for C alloca) @@ -1385,21 +1385,6 @@ ifelse([$2], , , [else ])dnl fi ])dnl -AC_DEFUN(AC_SYS_REMOTE_TAPE, -[AC_CHECK_HEADER(sys/mtio.h, AC_DEFINE(HAVE_SYS_MTIO_H)) - -if test "$ac_cv_header_sys_mtio_h" = yes; then -AC_MSG_CHECKING(for remote tape header files) -AC_CACHE_VAL(ac_cv_header_rmt, -[AC_TRY_CPP([#include -#include ], ac_cv_header_rmt=yes, ac_cv_header_rmt=no)])dnl - AC_MSG_RESULT($ac_cv_header_rmt) - if test $ac_cv_header_rmt = yes; then - PROGS="$PROGS rmt" - fi -fi -AC_SUBST(PROGS)dnl -])dnl dnl AC_DEFUN(AC_SYS_LONG_FILE_NAMES, [AC_MSG_CHECKING(for long file names) diff --git a/lib/autoscan/functions b/lib/autoscan/functions index ef4d7e97..a53e3643 100644 --- a/lib/autoscan/functions +++ b/lib/autoscan/functions @@ -1,58 +1,58 @@ # Ones that have their own macros. -major AC_MAJOR_HEADER -minor AC_MAJOR_HEADER -makedev AC_MAJOR_HEADER -bcopy AC_STDC_HEADERS -bcmp AC_STDC_HEADERS -bzero AC_STDC_HEADERS -ioctl AC_GCC_TRADITIONAL -memchr AC_STDC_HEADERS -memcpy AC_STDC_HEADERS -memcmp AC_STDC_HEADERS -memmove AC_STDC_HEADERS -memset AC_STDC_HEADERS -index AC_STDC_HEADERS -rindex AC_STDC_HEADERS -getgroups AC_GETGROUPS_T -signal AC_RETSIGTYPE -alloca AC_ALLOCA -getloadavg AC_GETLOADAVG -mmap AC_MMAP -setvbuf AC_SETVBUF_REVERSED -strcoll AC_STRCOLL -utime AC_UTIME_NULL -vfork AC_VFORK -vprintf AC_VPRINTF -vfprintf AC_VPRINTF -vsprintf AC_VPRINTF -wait3 AC_WAIT3 +major AC_HEADER_MAJOR +minor AC_HEADER_MAJOR +makedev AC_HEADER_MAJOR +bcopy AC_HEADER_STDC +bcmp AC_HEADER_STDC +bzero AC_HEADER_STDC +ioctl AC_PROG_GCC_TRADITIONAL +memchr AC_HEADER_STDC +memcpy AC_HEADER_STDC +memcmp AC_HEADER_STDC +memmove AC_HEADER_STDC +memset AC_HEADER_STDC +index AC_HEADER_STDC +rindex AC_HEADER_STDC +getgroups AC_TYPE_GETGROUPS +signal AC_TYPE_SIGNAL +alloca AC_FUNC_ALLOCA +getloadavg AC_FUNC_GETLOADAVG +mmap AC_FUNC_MMAP +setvbuf AC_FUNC_SETVBUF_REVERSED +strcoll AC_FUNC_STRCOLL +utime AC_FUNC_UTIME_NULL +vfork AC_FUNC_VFORK +vprintf AC_FUNC_VPRINTF +vfprintf AC_FUNC_VPRINTF +vsprintf AC_FUNC_VPRINTF +wait3 AC_FUNC_WAIT3 # Others. -fnmatch AC_HAVE_FUNCS -ftime AC_HAVE_FUNCS -gethostname AC_HAVE_FUNCS -gettimeofday AC_HAVE_FUNCS -getusershell AC_HAVE_FUNCS -getcwd AC_HAVE_FUNCS -getwd AC_HAVE_FUNCS -mkdir AC_HAVE_FUNCS -mkfifo AC_HAVE_FUNCS -mktime AC_HAVE_FUNCS -putenv AC_HAVE_FUNCS -re_comp AC_HAVE_FUNCS -regcmp AC_HAVE_FUNCS -regcomp AC_HAVE_FUNCS -rmdir AC_HAVE_FUNCS -select AC_HAVE_FUNCS -socket AC_HAVE_FUNCS -stime AC_HAVE_FUNCS -strcspn AC_HAVE_FUNCS -strdup AC_HAVE_FUNCS -strerror AC_HAVE_FUNCS -strftime AC_HAVE_FUNCS -strspn AC_HAVE_FUNCS -strstr AC_HAVE_FUNCS -strtod AC_HAVE_FUNCS -strtol AC_HAVE_FUNCS -strtoul AC_HAVE_FUNCS -uname AC_HAVE_FUNCS +fnmatch AC_CHECK_FUNCS +ftime AC_CHECK_FUNCS +gethostname AC_CHECK_FUNCS +gettimeofday AC_CHECK_FUNCS +getusershell AC_CHECK_FUNCS +getcwd AC_CHECK_FUNCS +getwd AC_CHECK_FUNCS +mkdir AC_CHECK_FUNCS +mkfifo AC_CHECK_FUNCS +mktime AC_CHECK_FUNCS +putenv AC_CHECK_FUNCS +re_comp AC_CHECK_FUNCS +regcmp AC_CHECK_FUNCS +regcomp AC_CHECK_FUNCS +rmdir AC_CHECK_FUNCS +select AC_CHECK_FUNCS +socket AC_CHECK_FUNCS +stime AC_CHECK_FUNCS +strcspn AC_CHECK_FUNCS +strdup AC_CHECK_FUNCS +strerror AC_CHECK_FUNCS +strftime AC_CHECK_FUNCS +strspn AC_CHECK_FUNCS +strstr AC_CHECK_FUNCS +strtod AC_CHECK_FUNCS +strtol AC_CHECK_FUNCS +strtoul AC_CHECK_FUNCS +uname AC_CHECK_FUNCS diff --git a/lib/autoscan/headers b/lib/autoscan/headers index 398f8646..5b556804 100644 --- a/lib/autoscan/headers +++ b/lib/autoscan/headers @@ -1,27 +1,26 @@ # Ones that have their own macros. -dirent.h AC_DIR_HEADER -sys/ndir.h AC_DIR_HEADER -sys/dir.h AC_DIR_HEADER -ndir.h AC_DIR_HEADER -sys/mkdev.h AC_MAJOR_HEADER -string.h AC_STDC_HEADERS -strings.h AC_STDC_HEADERS -stdlib.h AC_STDC_HEADERS -stddef.h AC_STDC_HEADERS -stdarg.h AC_STDC_HEADERS -float.h AC_STDC_HEADERS -sys/mtio.h AC_REMOTE_TAPE -X11/Xlib.h AC_FIND_X +dirent.h AC_HEADER_DIRENT +sys/ndir.h AC_HEADER_DIRENT +sys/dir.h AC_HEADER_DIRENT +ndir.h AC_HEADER_DIRENT +sys/mkdev.h AC_HEADER_MAJOR +string.h AC_HEADER_STDC +strings.h AC_HEADER_STDC +stdlib.h AC_HEADER_STDC +stddef.h AC_HEADER_STDC +stdarg.h AC_HEADER_STDC +float.h AC_HEADER_STDC +X11/Xlib.h AC_PATH_X # Others. -fcntl.h AC_HAVE_HEADERS -limits.h AC_HAVE_HEADERS -paths.h AC_HAVE_HEADERS -sgtty.h AC_HAVE_HEADERS -sys/file.h AC_HAVE_HEADERS -sys/ioctl.h AC_HAVE_HEADERS -sys/time.h AC_HAVE_HEADERS -sys/window.h AC_HAVE_HEADERS -syslog.h AC_HAVE_HEADERS -termio.h AC_HAVE_HEADERS -unistd.h AC_HAVE_HEADERS +fcntl.h AC_CHECK_HEADERS +limits.h AC_CHECK_HEADERS +paths.h AC_CHECK_HEADERS +sgtty.h AC_CHECK_HEADERS +sys/file.h AC_CHECK_HEADERS +sys/ioctl.h AC_CHECK_HEADERS +sys/time.h AC_CHECK_HEADERS +sys/window.h AC_CHECK_HEADERS +syslog.h AC_CHECK_HEADERS +termio.h AC_CHECK_HEADERS +unistd.h AC_CHECK_HEADERS diff --git a/lib/autoscan/identifiers b/lib/autoscan/identifiers index d200c618..a7979c01 100644 --- a/lib/autoscan/identifiers +++ b/lib/autoscan/identifiers @@ -1,22 +1,22 @@ -sys_siglist AC_SYS_SIGLIST_DECLARED -mode_t AC_MODE_T -off_t AC_OFF_T -pid_t AC_PID_T -size_t AC_SIZE_T -uid_t AC_UID_T -gid_t AC_UID_T -S_ISDIR AC_STAT_MACROS_BROKEN -S_ISREG AC_STAT_MACROS_BROKEN -S_ISCHR AC_STAT_MACROS_BROKEN -S_ISBLK AC_STAT_MACROS_BROKEN -S_ISFIFO AC_STAT_MACROS_BROKEN -S_ISLNK AC_STAT_MACROS_BROKEN -S_ISSOCK AC_STAT_MACROS_BROKEN -st_blksize AC_ST_BLKSIZE -st_blocks AC_ST_BLOCKS -st_rdev AC_ST_RDEV -timeval AC_TIME_WITH_SYS_TIME +sys_siglist AC_DECL_SYS_SIGLIST +mode_t AC_TYPE_MODE_T +off_t AC_TYPE_OFF_T +pid_t AC_TYPE_PID_T +size_t AC_TYPE_SIZE_T +uid_t AC_TYPE_UID_T +gid_t AC_TYPE_UID_T +S_ISDIR AC_HEADER_STAT +S_ISREG AC_HEADER_STAT +S_ISCHR AC_HEADER_STAT +S_ISBLK AC_HEADER_STAT +S_ISFIFO AC_HEADER_STAT +S_ISLNK AC_HEADER_STAT +S_ISSOCK AC_HEADER_STAT +st_blksize AC_STRUCT_ST_BLKSIZE +st_blocks AC_STRUCT_ST_BLOCKS +st_rdev AC_STRUCT_ST_RDEV +timeval AC_HEADER_TIME tm AC_STRUCT_TM -tm_zone AC_TIMEZONE -const AC_CONST -inline AC_INLINE +tm_zone AC_STRUCT_TIMEZONE +const AC_C_CONST +inline AC_C_INLINE diff --git a/lib/autoscan/makevars b/lib/autoscan/makevars index 7b33b876..721b79ba 100644 --- a/lib/autoscan/makevars +++ b/lib/autoscan/makevars @@ -1,4 +1,4 @@ -LN AC_LN_S +LN AC_PROG_LN_S AWK AC_PROG_AWK CC AC_PROG_CC CPP AC_PROG_CPP @@ -8,4 +8,4 @@ LEX AC_PROG_LEX RANLIB AC_PROG_RANLIB YACC AC_PROG_YACC BISON AC_PROG_YACC -MAKE AC_SET_MAKE +MAKE AC_PROG_MAKE_SET diff --git a/lib/autoscan/programs b/lib/autoscan/programs index d61f9dbe..be237e31 100644 --- a/lib/autoscan/programs +++ b/lib/autoscan/programs @@ -1,4 +1,4 @@ -ln AC_LN_S +ln AC_PROG_LN_S awk AC_PROG_AWK nawk AC_PROG_AWK gawk AC_PROG_AWK @@ -15,4 +15,4 @@ ranlib AC_PROG_RANLIB yacc AC_PROG_YACC byacc AC_PROG_YACC bison AC_PROG_YACC -make AC_SET_MAKE +make AC_PROG_MAKE_SET