diff options
author | Akim Demaille <akim@epita.fr> | 1999-09-21 09:58:58 +0000 |
---|---|---|
committer | Akim Demaille <akim@epita.fr> | 1999-09-21 09:58:58 +0000 |
commit | 57985452213ec959dadb7875a450927750b73dfd (patch) | |
tree | fc010e1f357dd54ce979bdb43088c9663896558e | |
parent | 4ec1460c89e045f037ce443b7cbdd9e9bd9552b1 (diff) | |
download | autoconf-57985452213ec959dadb7875a450927750b73dfd.tar.gz |
1999-09-21 Akim Demaille <akim@epita.fr>
* NEWS: Updated.
* THANKS: Likewise.
* acgeneral.m4 (AC_CHECK_HEADER): Use AC_VAR_*.
(AC_CHECK_HEADERS): Adapted.
* acgeneral.m4 (AC_TR): Remove, it is useless.
(AC_TR_CPP): Updated version of formerly AC_TR_DEFINE, based on
the model of AC_TR_SH.
All callers changed.
* autoconf.sh (Checking for Bugs): Remove the indirection that
made the `sort -u' useless.
1999-09-21 Akim Demaille <akim@epita.fr>
* autoconf.sh (Last sed cmd): Change also @PND@ to `#', since this
is also a symbol very hard to quote in m4.
* acgeneral.m4 (AC_CHECK_LIB): Use AC_VAR_*.
* acgeneral.m4: Use `m4_BUILTIN' instead of indirection via
`builtin'.
1999-09-21 Akim Demaille <akim@epita.fr>
* autoconf.texi (Particular Structures): Move documentation of
AC_HEADER_STAT and AC_HEADER_TIME from here...
(Particular Headers): to here.
(Declarations): New section.
(Particular Headers): Move doc of AC_DECL_SYS_SIGLIST from here...
(Particular Declarations): to here.
1999-09-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu>
* acgeneral.m4 (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS): New
macros.
* autoconf.texi (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS):
Document.
* autoheader.m4: Add support for AC_CHECK_FUNC_DECLS.
* autoheader.sh: Likewise.
1999-09-21 Akim Demaille <akim@epita.fr>
* acgeneral.m4 (AC_SHELL_IFELSE): New macro.
(AC_VAR_IF_SET): Use it.
(AC_CHECK_FUNC): Likewise.
* Makefile.in (${srcdir}/configure): Use autoconf.sh to build
Autoconf's configure. Before the building was performed running
m4 at hand, but much was not done (e.g., __oline__,
@BKL@... expansion)
-rw-r--r-- | ChangeLog | 58 | ||||
-rw-r--r-- | Makefile.in | 9 | ||||
-rw-r--r-- | NEWS | 33 | ||||
-rw-r--r-- | THANKS | 74 | ||||
-rw-r--r-- | acgeneral.m4 | 290 | ||||
-rw-r--r-- | acspecific.m4 | 21 | ||||
-rw-r--r-- | autoconf.sh | 5 | ||||
-rw-r--r-- | autoconf.texi | 149 | ||||
-rw-r--r-- | autoheader.m4 | 17 | ||||
-rw-r--r-- | autoheader.sh | 22 | ||||
-rwxr-xr-x | configure | 15 | ||||
-rw-r--r-- | doc/Makefile.in | 9 | ||||
-rw-r--r-- | doc/autoconf.texi | 149 | ||||
-rw-r--r-- | lib/autoconf/general.m4 | 290 | ||||
-rw-r--r-- | lib/autoconf/specific.m4 | 21 |
15 files changed, 721 insertions, 441 deletions
@@ -1,3 +1,61 @@ +1999-09-21 Akim Demaille <akim@epita.fr> + + * NEWS: Updated. + * THANKS: Likewise. + + * acgeneral.m4 (AC_CHECK_HEADER): Use AC_VAR_*. + (AC_CHECK_HEADERS): Adapted. + + * acgeneral.m4 (AC_TR): Remove, it is useless. + (AC_TR_CPP): Updated version of formerly AC_TR_DEFINE, based on + the model of AC_TR_SH. + All callers changed. + + * autoconf.sh (Checking for Bugs): Remove the indirection that + made the `sort -u' useless. + +1999-09-21 Akim Demaille <akim@epita.fr> + + * autoconf.sh (Last sed cmd): Change also @PND@ to `#', since this + is also a symbol very hard to quote in m4. + + * acgeneral.m4 (AC_CHECK_LIB): Use AC_VAR_*. + + * acgeneral.m4: Use `m4_BUILTIN' instead of indirection via + `builtin'. + +1999-09-21 Akim Demaille <akim@epita.fr> + + * autoconf.texi (Particular Structures): Move documentation of + AC_HEADER_STAT and AC_HEADER_TIME from here... + (Particular Headers): to here. + (Declarations): New section. + (Particular Headers): Move doc of AC_DECL_SYS_SIGLIST from here... + (Particular Declarations): to here. + +1999-09-21 Kaveh R. Ghazi <ghazi@caip.rutgers.edu> + + * acgeneral.m4 (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS): New + macros. + + * autoconf.texi (AC_CHECK_FUNC_DECL, AC_CHECK_FUNC_DECLS): + Document. + + * autoheader.m4: Add support for AC_CHECK_FUNC_DECLS. + + * autoheader.sh: Likewise. + +1999-09-21 Akim Demaille <akim@epita.fr> + + * acgeneral.m4 (AC_SHELL_IFELSE): New macro. + (AC_VAR_IF_SET): Use it. + (AC_CHECK_FUNC): Likewise. + + * Makefile.in (${srcdir}/configure): Use autoconf.sh to build + Autoconf's configure. Before the building was performed running + m4 at hand, but much was not done (e.g., __oline__, + @BKL@... expansion) + 1999-09-21 Ben Elliston <bje@cygnus.com> * THANKS: Update some mail addresses. diff --git a/Makefile.in b/Makefile.in index 7ccda43e..b8917d7e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -190,15 +190,12 @@ uninstall: if test -f standards.info || test -f $(srcdir)/standards.info; \ then cd $(infodir) && rm -f standards.info*; fi -# Why don't we run ./autoconf here? There are substitutions performed -# by autoconf which are necessary. Now, the Makefile breaks configure, -# and one has to ./autoconf to have the right thing happen. ${srcdir}/configure: configure.in $(M4FILES) - echo "FIXME: Why not running ./autoconf -m . ?" cd $(srcdir) && \ rm -f configure configure.tmp && \ - $(M4) autoconf.m4 configure.in > configure.tmp && \ - chmod +x configure.tmp && mv configure.tmp configure + M4=$(M4) AC_MACRODIR=. AWK=$(AWK) \ + $(SHELL) ./autoconf.sh + Makefile: Makefile.in config.status $(SHELL) ./config.status config.status: configure @@ -1,14 +1,33 @@ -Major changes in release 2.14: - -* New macro AC_HELP_STRING to format an Autoconf macro's help string so - that it looks pretty when the user executes `configure --help'. See - the Texinfo documentation for details. +Major changes in release 2.15: + +* config.status + - much faster on most architectures + - now has a useful --help + - concurrent executions + It is now safe to use `make -j' with configure. +* New macros + - AC_CHECK_DECL and AC_CHECK_DECLS + To check whether a symbol is declared. + - AC_HELP_STRING + To format an Autoconf macro's help string so that it looks pretty + when the user executes `configure --help'. +* Environment variables are kept when reconfiguring. + The previous scheme to set envvar before running configure was + ENV=VAL ./configure + what prevented configure from remembering the environment in which + it was run, therefore --recheck was run in an inconsistent environment. + Now, one runs + ./configure ENV=VAR + and the --recheck works correctly. * Support for automatically determining a Fortran 77 compilers name-mangling scheme. New CPP macros F77_FUNC and F77_FUNC_ are provided to wrap C/C++ identifiers, thus making it easier and more transparent for C/C++ to call Fortran 77 routines, and Fortran 77 to call C/C++ routines. See the Texinfo documentation for details. +Major changes in release 2.14: + There was no release of GNU Autoconf 2.14. + Major changes in release 2.13: * Support for building on Win32 systems where the only available C or @@ -34,7 +53,7 @@ Major changes in release 2.13: * Merge of the FSF version of config.guess and config.sub to modernise these scripts. Add support for a few new hosts in config.guess. Incorporate latest versions of install-sh, mkinstalldirs and - texinfo.tex from the FSF. + texinfo.tex from the FSF. * autoreconf is capable of running automake if necessary (and applicable). * Support for Fortran 77. See the Texinfo documentation for details. @@ -59,7 +78,7 @@ Major changes in release 2.11: * AC_CONFIG_HEADER expands shell variables in its argument. * New macros: AC_FUNC_FNMATCH, AC_FUNC_SETPGRP. * The "checking..." messages and the source code for test programs that - fail are saved in config.log. + fail are saved in config.log. * Another workaround has been added for seds with small command length limits. * config.sub and config.guess recognize more system types. * Bug fixes. @@ -2,41 +2,45 @@ Autoconf was originally written by David J. MacKenzie <djm@uunet.uu.net>. It would not be what it is today without the invaluable help of these people: -Aaron Crane <aaronc@pobox.com> -Akim Demaille <akim@epita.fr> -Alexandre Oliva <oliva@dcc.unicamp.br> -Andreas Schwab <schwab@issan.informatik.uni-dortmund.de> -Ben Elliston <bje@cygnus.com> -Chris Provenzano <proven@cygnus.com> -Christian Krone <krischan@sql.de> -Dave Adams <adams@hpesdwa.fc.hp.com> -Didier Verna <verna@inf.enst.fr> -Doug Evans <dje@canuck.cygnus.com> -Eric Mumpower <nocturne@mit.edu> -Felix Lee <flee@cygnus.com> -Gary V. Vaughan <gvaughan@oranda.demon.co.uk> -Gordon Matzigkeit <gord@trick.fig.org> -H.J. Lu <hjl@gnu.org> -Ian Lance Taylor <ian@cygnus.com> -J"orn Rennecke <amylaar@cygnus.co.uk> -James A. Lupo <lupoja@feynman.ml.wpafb.af.mil> -Jason Molenda <jsm@cygnus.com> -Jeff Garzik <jgarzik@pobox.com> -Jeffrey A Law (law@cygnus.com) -Karl Berry <karl@cs.umb.edu> -Matthew D. Langston <langston@SLAC.Stanford.EDU> -Mike Stump <mrs@wrs.com> -Miles Bader <miles@gnu.ai.mit.edu> -Paul Eggert <eggert@twinsun.com> -Pavel Roskin <pavel_roskin@geocities.com> -Philipp Thomas <kthomas@gwdg.de> -Richard Stallman <rms@gnu.org> -Roland McGrath <roland@gnu.org> -Scott Bambrough <scottb@corelcomputer.com> -Steven G. Johnson <stevenj@alum.mit.edu> -Stu Grossman <grossman@cygnus.com> -Syd Polk <spolk@cygnus.com> -Tom Tromey <tromey@cygnus.com> +Aaron Crane aaronc@pobox.com +Akim Demaille akim@epita.fr +Alexandre Oliva oliva@dcc.unicamp.br +Andreas Schwab schwab@issan.informatik.uni-dortmund.de +Ben Elliston bje@cygnus.com +Chris Provenzano proven@cygnus.com +Christian Krone krischan@sql.de +Dave Adams adams@hpesdwa.fc.hp.com +Didier Verna verna@inf.enst.fr +Doug Evans dje@canuck.cygnus.com +Eric Mumpower nocturne@mit.edu +Felix Lee flee@cygnus.com +Gary V. Vaughan gvaughan@oranda.demon.co.uk +Gordon Matzigkeit gord@trick.fig.org +H.J. Lu hjl@gnu.org +Ian Lance Taylor ian@cygnus.com +J"orn Rennecke amylaar@cygnus.co.uk +James A. Lupo lupoja@feynman.ml.wpafb.af.mil +Jason Molenda jsm@cygnus.com +Jeff Garzik jgarzik@pobox.com +Jeffrey A Law law@cygnus.com +Jim Blandy jimb@wookumz.gnu.ai.mit.edu +Jim Meyering meyering@ascend.com +Karl Berry karl@cs.umb.edu +Kaveh R. Ghazi ghazi@caip.rutgers.edu +Matthew D. Langston langston@SLAC.Stanford.EDU +Mike Stump mrs@wrs.com +Miles Bader miles@gnu.ai.mit.edu +Noah Friedman friedman@gnu.ai.mit.edu +Paul Eggert eggert@twinsun.com +Pavel Roskin pavel_roskin@geocities.com +Philipp Thomas kthomas@gwdg.de +Richard Stallman rms@gnu.org +Roland McGrath roland@gnu.org +Scott Bambrough scottb@corelcomputer.com +Steven G. Johnson stevenj@alum.mit.edu +Stu Grossman grossman@cygnus.com +Syd Polk spolk@cygnus.com +Tom Tromey tromey@cygnus.com Many people are not named here because we lost track of them. We thank them! Please, help us keeping this list up to date. diff --git a/acgeneral.m4 b/acgeneral.m4 index e70bd5b8..796ec3c7 100644 --- a/acgeneral.m4 +++ b/acgeneral.m4 @@ -76,6 +76,7 @@ m4_prefix([format]) dnl ifset(COND, IF-TRUE[, IF-FALSE]) dnl -------------------------------- dnl If COND is not the empty string, expand IF-TRUE, otherwise IF-FALSE. +dnl Comparable to ifdef. define([ifset], [ifelse([$1],,[$3],[$2])]) @@ -122,7 +123,7 @@ dnl AC_PRO(MACRO-NAME) define(AC_PRO, [define([AC_PROVIDE_$1], )dnl ifelse(AC_DIVERSION_CURRENT, AC_DIVERSION_NORMAL, -[AC_DIVERT_PUSH(builtin(eval, AC_DIVERSION_CURRENT - 1))], +[AC_DIVERT_PUSH(m4_eval(AC_DIVERSION_CURRENT - 1))], [pushdef([AC_DIVERSION_CURRENT], AC_DIVERSION_CURRENT)])dnl ]) @@ -149,7 +150,7 @@ dnl macros. We don't use this macro to define some frequently called dnl macros that are not involved in ordering constraints, to save m4 dnl processing. dnl -dnl If the REPLACED-FUNCTTION and ARGUMENT are defined, then declare that +dnl If the REPLACED-FUNCTION and ARGUMENT are defined, then declare that dnl NAME is a specialized version of REPLACED-FUNCTION when its first dnl argument is ARGUMENT. For instance AC_TYPE_SIZE_T is a specialization dnl of AC_CHECK_TYPE applied to `size_t'. @@ -161,6 +162,29 @@ define([$1], [AC_PRO([$1])$4[]AC_EPI()])])]) +dnl ### Some /bin/sh idioms + +dnl AC_SHELL_IFELSE(TEST[, IF-TRUE[, IF-FALSE]]) +dnl ------------------------------------------- +dnl Expand into +dnl | if TEST; then +dnl | IF-TRUE; +dnl | else +dnl | IF-FALSE +dnl | fi +dnl | with simplifications is IF-TRUE and/or IF-FALSE is empty. +define([AC_SHELL_IFELSE], +[ifset([$2$3], +[if [$1]; then + ifset([$2], [$2], :) +ifset([$3], +[else + $3 +])dnl +fi +])]) + + dnl ### Common m4/sh handling of variables (indirections) @@ -206,7 +230,7 @@ define(AC_VAR_GET, dnl AC_VAR_TEST_SET(VARIABLE) dnl ------------------------- dnl Expands into the `test' expression which is true if VARIABLE -dnl is set. Polymorphic. +dnl is set. Polymorphic. Should be dnl'ed. define(AC_VAR_TEST_SET, [AC_VAR_IF_INDIR([$1], [eval "test \"\${$1+set}\" = set"], @@ -219,14 +243,8 @@ dnl ------------------------------------------ dnl Implement a shell `if-then-else' depending whether VARIABLE is set dnl or not. Polymorphic. define(AC_VAR_IF_SET, -[if AC_VAR_TEST_SET([$1]); then - ifelse([$2], , :, [$2]) -ifelse([$3], , , -[else - $3 -])dnl -fi -]) +[AC_SHELL_IFELSE(AC_VAR_TEST_SET([$1]), [$2], [$3])]) + dnl AC_VAR_PUSHDEF and AC_VAR_POPDEF dnl -------------------------------- @@ -302,28 +320,30 @@ dnl Include a protection against `%' (used as a sed separator) in FROM and TO. dnl Forbid appearence of `-' in FROM elsewhere than in the last position, dnl since we might otherwise trigger a GNU m4 bug (version 1.4 included). dnl ALPHABET may contain characters interval. -define(AC_TR, -[ifelse(regexp([$2$3], [%]), -1,, - [AC_FATAL([$0: `%' cannot be used. Change the definition of $0])])dnl -ifelse(regexp([$2], [-]), -1,, len([$2]),, - [AC_FATAL([$0: `-' cannot be used but in the last position.])])dnl -ifelse(len([$2]), len([$3]),, - [AC_FATAL([$0: argument 2 and 3 should have the same length])])dnl -AC_VAR_IF_INDIR([$1], - [`echo "$1" | sed 'y%$2%$3%;s%[^$4]%$5%g'`], - [patsubst(translit([$1], [$2], [$3]), - [[^$4]], [$5])])]) - -dnl AC_TR_DEFINE(EXPRESSION) -dnl ------------------------ +dnl define(AC_TR, +dnl [ifelse(regexp([$2$3], [%]), -1,, +dnl [AC_FATAL([$0: `%' cannot be used. Change the definition of $0])])dnl +dnl ifelse(regexp([$2], [-]), -1,, len([$2]),, +dnl [AC_FATAL([$0: `-' cannot be used but in the last position.])])dnl +dnl ifelse(len([$2]), len([$3]),, +dnl [AC_FATAL([$0: argument 2 and 3 should have the same length])])dnl +dnl AC_VAR_IF_INDIR([$1], +dnl [`echo "$1" | sed 'y%$2%$3%;s%[^$4]%$5%g'`], +dnl [patsubst(translit([$1], [$2], [$3]), +dnl [[^$4]], [$5])])]) + +dnl AC_TR_CPP(EXPRESSION) +dnl --------------------- dnl Map EXPRESSION to an upper case string which is valid as rhs for a -dnl `#define'. sh/m4 polymorphic. -define(AC_TR_DEFINE, -[AC_TR([$1], - [*abcdefghijklmnopqrstuvwxyz], - [PABCDEFGHIJKLMNOPQRSTUVWXYZ], - [A-Z0-9_], - [_])]) +dnl `#define'. sh/m4 polymorphic. Make sure to update the definition +dnl of `$ac_tr_cpp' if you change this. +define(AC_TR_CPP, +[AC_VAR_IF_INDIR([$1], + [`echo "$1" | $ac_tr_cpp`], + [patsubst(translit([$1], + [*abcdefghijklmnopqrstuvwxyz], + [PABCDEFGHIJKLMNOPQRSTUVWXYZ]), + [A-Z0-9_], [_])])]) dnl AC_TR_SH(EXPRESSION) @@ -332,11 +352,12 @@ dnl Transform EXPRESSION into a valid shell variable name. dnl sh/m4 polymorphic. Because of a delicate problem of quoting, dnl we cannot use the definition we had before: dnl AC_TR([$1],[*+], [pp], [a-zA-Z0-9_], [_]) +dnl Make sure to update the definition of `$ac_tr_cpp' if you change this. define(AC_TR_SH, [AC_VAR_IF_INDIR([$1], [`echo "$1" | $ac_tr_sh`], [patsubst(translit([$1], [*+], [pp]), - [[^a-zA-Z0-9_]], [_])])]) + [[^a-zA-Z0-9_]], [_])])]) @@ -636,9 +657,10 @@ MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 -# Sed expression to map a string onto a valid sh variable name +# Sed expression to map a string onto a valid sh and CPP variable names. changequote(, )dnl ac_tr_sh='sed -e y%*+%pp%;s%[^a-zA-Z0-9_]%_%g' +ac_tr_cpp='sed -e y%*abcdefghijklmnopqrstuvwxyz%PABCDEFGHIJKLMNOPQRSTUVWXYZ%;s%[^A-Z0-9_]%_%g' changequote([, ])dnl ac_prev= @@ -1063,7 +1085,7 @@ AC_DIVERT_POP()dnl to NORMAL dnl AC_INCLUDE AC_DEFUN(AC_INCLUDE, [ifelse($1, [], [], [dnl - esyscmd([for file in $1; do echo "builtin(include,$file)dnl"; done])dnl + esyscmd([for file in $1; do echo "m4_include($file)dnl"; done])dnl ])]) dnl AC_INIT_PREPARE(UNIQUE-FILE-IN-SOURCE-DIR) @@ -1304,9 +1326,9 @@ dnl PRINTABLE2 is the printable version of version number 2. dnl AC_PREREQ_COMPARE(MAJOR1, MINOR1, TERNARY1, MAJOR2, MINOR2, TERNARY2, dnl PRINTABLE2) define(AC_PREREQ_COMPARE, -[ifelse(builtin([eval], -[$3 + $2 * 1000 + $1 * 1000000 < $6 + $5 * 1000 + $4 * 1000000]), 1, -[AC_FATAL(Autoconf version $7 or higher is required for this script)])]) +[ifelse( + m4_eval([$3 + $2 * 1000 + $1 * 1000000 < $6 + $5 * 1000 + $4 * 1000000]), + 1, [AC_FATAL(Autoconf version $7 or higher is required for this script)])]) dnl Complain and exit if the Autoconf version is less than VERSION. dnl AC_PREREQ(VERSION) @@ -1576,6 +1598,7 @@ dnl AC_CACHE_VAL(CACHE-ID, COMMANDS-TO-SET-IT) dnl ------------------------------------------ dnl dnl The name of shell var CACHE-ID must contain `_cv_' in order to get saved. +dnl Should be dnl'ed. define(AC_CACHE_VAL, [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. @@ -1585,24 +1608,30 @@ AC_VAR_IF_SET([$1], [$2])]) dnl AC_CACHE_CHECK(MESSAGE, CACHE-ID, COMMANDS) +dnl ------------------------------------------- dnl Do not call this macro with a dnl right behind. define(AC_CACHE_CHECK, [AC_MSG_CHECKING([$1]) -AC_CACHE_VAL([$2], [$3]) +AC_CACHE_VAL([$2], [$3])dnl AC_MSG_RESULT_UNQUOTED(AC_VAR_GET([$2]))]) dnl ### Defining symbols -dnl Set VARIABLE to VALUE, verbatim, or 1. -dnl AC_DEFINE(VARIABLE [, VALUE]) +dnl AC_DEFINE(VARIABLE [, VALUE[, DESCRIPTION]]) +dnl -------------------------------------------- +dnl Set VARIABLE to VALUE, verbatim, or 1. Remember the value +dnl and if VARIABLE is affected the same VALUE, do nothing, else +dnl die. The third argument is used by autoheader. define(AC_DEFINE, [cat >> confdefs.h <<\EOF [#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1) EOF ]) +dnl AC_DEFINE_UNQUOTED(VARIABLE [, VALUE[, DESCRIPTION]]) +dnl ----------------------------------------------------- dnl Similar, but perform shell substitutions $ ` \ once on VALUE. define(AC_DEFINE_UNQUOTED, [cat >> confdefs.h <<EOF @@ -1638,17 +1667,17 @@ AC_DIVERT_POP()dnl dnl ### Printing messages at autoconf run time -dnl _AC_MESSAGE(MESSAGE) +dnl _AC_ERRPRINT(MESSAGE) dnl Report the MESSAGE at m4 time, with line and filename. -define(_AC_MESSAGE, [errprint(__file__:__line__: [$1 +define(_AC_ERRPRINT, [errprint(__file__:__line__: [$1 ])]) dnl AC_WARNING(MESSAGE) -define(AC_WARNING, [_AC_MESSAGE([warning: $1])]) +define(AC_WARNING, [_AC_ERRPRINT([warning: $1])]) dnl AC_FATAL(MESSAGE [, EXIT-STATUS]) define(AC_FATAL, -[_AC_MESSAGE([error: $1]) +[_AC_ERRPRINT([error: $1]) m4exit(ifdef([$2], [$2], 1))]) @@ -1667,7 +1696,7 @@ dnl _AC_ECHO_UNQUOTED(STRING [ , FD ]) dnl Expands into a sh call to echo onto FD (default is AC_FD_MSG). dnl The shell perform its expansions on STRING. define([_AC_ECHO_UNQUOTED], -[echo "$1" 1>&ifelse($2,, AC_FD_MSG, $2)]) +[echo "[$1]" 1>&ifelse($2,, AC_FD_MSG, $2)]) dnl _AC_ECHO(STRING [ , FD ]) dnl Expands into a sh call to echo onto FD (default is AC_FD_MSG), @@ -1712,6 +1741,10 @@ dnl AC_MSG_ERROR(ERROR-DESCRIPTION) define(AC_MSG_ERROR, [{ _AC_ECHO([configure: error: $1], 2); exit 1; }]) +dnl AC_MSG_ERROR_UNQUOTED(ERROR-DESCRIPTION) +define(AC_MSG_ERROR_UNQUOTED, +[{ _AC_ECHO_UNQUOTED([configure: error: $1], 2); exit 1; }]) + dnl ### Selecting which language to use for testing @@ -1785,7 +1818,7 @@ define(AC_BEFORE, dnl AC_REQUIRE(MACRO-NAME) define(AC_REQUIRE, [ifdef([AC_PROVIDE_$1], , -[AC_DIVERT_PUSH(builtin(eval, AC_DIVERSION_CURRENT - 1))dnl +[AC_DIVERT_PUSH(m4_eval(AC_DIVERSION_CURRENT - 1))dnl indir([$1]) AC_DIVERT_POP()dnl ])]) @@ -2032,6 +2065,7 @@ dnl ### Checking for libraries dnl AC_TRY_LINK_FUNC(func, action-if-found, action-if-not-found) +dnl ------------------------------------------------------------ dnl Try to link a program that calls FUNC, handling GCC builtins. If dnl the link succeeds, execute ACTION-IF-FOUND; otherwise, execute dnl ACTION-IF-NOT-FOUND. @@ -2059,8 +2093,7 @@ dnl [, ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]]) dnl Search for a library defining FUNC, if it's not already available. AC_DEFUN(AC_SEARCH_LIBS, -[AC_PREREQ([2.13]) -AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1], +[AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1], [ac_func_search_save_LIBS="$LIBS" ac_cv_search_$1="no" AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="none required"]) @@ -2082,14 +2115,13 @@ fi]) dnl AC_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND dnl [, OTHER-LIBRARIES]]]) -AC_DEFUN(AC_CHECK_LIB, -[AC_MSG_CHECKING([for $2 in -l$1]) dnl Use a cache variable name containing both the library and function name, dnl because the test really is for library $1 defining function $2, not dnl just for library $1. Separate tests with the same $1 and different $2s dnl may have different results. -ac_lib_var=`echo $1['_']$2 | sed 'y%./+-:%__p__%'` -AC_CACHE_VAL(ac_cv_lib_$ac_lib_var, +AC_DEFUN(AC_CHECK_LIB, +[AC_VAR_PUSHDEF([ac_var], [ac_cv_lib_$1_$2])dnl +AC_CACHE_CHECK([for $2 in -l$1], ac_var, [ac_save_LIBS="$LIBS" LIBS="-l$1 $5 $LIBS" AC_TRY_LINK(dnl @@ -2104,30 +2136,20 @@ extern "C" builtin and then its argument prototype would still apply. */ char $2(); ])), - [$2()], - eval "ac_cv_lib_$ac_lib_var=yes", - eval "ac_cv_lib_$ac_lib_var=no") -LIBS="$ac_save_LIBS" -])dnl -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - AC_MSG_RESULT(yes) - ifelse([$3], , -[changequote(, )dnl - ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` -changequote([, ])dnl - AC_DEFINE_UNQUOTED($ac_tr_lib) +[$2()], +AC_VAR_SET(ac_var, yes), AC_VAR_SET(ac_var, no)) +LIBS="$ac_save_LIBS"]) +AC_SHELL_IFELSE(test AC_VAR_GET(ac_var) = yes, + [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_LIB$1)) LIBS="-l$1 $LIBS" -], [$3]) -else - AC_MSG_RESULT(no) -ifelse([$4], , , [$4 -])dnl -fi -]) + $3], + [$4])dnl +AC_VAR_POPDEF([ac_var])dnl +])dnl AC_CHECK_LIB dnl AC_HAVE_LIBRARY(LIBRARY, [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND dnl [, OTHER-LIBRARIES]]]) +dnl FIXME: Remove AC_DEFUN(AC_HAVE_LIBRARY, [AC_OBSOLETE([$0], [; instead use AC_CHECK_LIB])dnl changequote(<<, >>)dnl @@ -2145,7 +2167,7 @@ LIBS="$ac_save_LIBS" AC_MSG_RESULT($AC_CV_NAME) if test "$AC_CV_NAME" = yes; then ifelse([$2], , -[AC_DEFINE([HAVE_LIB]AC_TR_DEFINE(AC_LIB_NAME)) +[AC_DEFINE([HAVE_LIB]AC_TR_CPP(AC_LIB_NAME)) LIBS="-l[]AC_LIB_NAME[] $LIBS" ], [$2]) ifelse([$3], , , [else @@ -2346,31 +2368,23 @@ dnl ### Checking for header files dnl AC_CHECK_HEADER(HEADER-FILE, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) AC_DEFUN(AC_CHECK_HEADER, -[dnl Do the transliteration at runtime so arg 1 can be a shell variable. -ac_safe=`echo "$1" | sed 'y%./+-%__p_%'` -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(ac_cv_header_$ac_safe, -[AC_TRY_CPP([#include <$1>], eval "ac_cv_header_$ac_safe=yes", - eval "ac_cv_header_$ac_safe=no")])dnl -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) -else - AC_MSG_RESULT(no) -ifelse([$3], , , [$3 -])dnl -fi -]) - -dnl AC_CHECK_HEADERS(HEADER-FILE... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +[AC_VAR_PUSHDEF([ac_var_header], [ac_cv_header_$1])dnl +AC_CACHE_CHECK([for $1], ac_var_header, +[AC_TRY_CPP([#include <$1>], +AC_VAR_SET(ac_var_header, yes), AC_VAR_SET(ac_var_header, no))]) +AC_SHELL_IFELSE(test AC_VAR_GET(ac_var_header) = yes, + [$2], [$3])dnl +AC_VAR_POPDEF([ac_var_header])dnl +])dnl AC_CHECK_HEADER + +dnl AC_CHECK_HEADERS(HEADER-FILE... +dnl [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) AC_DEFUN(AC_CHECK_HEADERS, -[for ac_hdr in $1 +[for ac_header in $1 do -AC_CHECK_HEADER($ac_hdr, -[changequote(, )dnl - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` -changequote([, ])dnl - AC_DEFINE_UNQUOTED($ac_tr_hdr) $2], $3)dnl +AC_CHECK_HEADER($ac_header, + [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_$ac_header)) $2], + [$3])dnl done ]) @@ -2410,19 +2424,52 @@ dnl AC_CHECK_FILES(FILE... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) AC_DEFUN(AC_CHECK_FILES, [AC_FOREACH([AC_FILE_NAME], [$1], [AC_SPECIALIZE([AC_CHECK_FILE], AC_FILE_NAME, - [AC_DEFINE_UNQUOTED(AC_TR_DEFINE(HAVE_[]AC_FILE_NAME)) + [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_[]AC_FILE_NAME)) $2], [$3])])]) dnl [for ac_file in $1 dnl do dnl AC_CHECK_FILE($ac_file, -dnl [AC_DEFINE_UNQUOTED(AC_TR_DEFINE(HAVE_$ac_file)) $2], +dnl [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_$ac_file)) $2], dnl [$3])dnl dnl done dnl ]) +dnl ### Checking for declared symbols + + +dnl AC_CHECK_DECL(SYMBOL, [, INCLUDES, +dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl -------------------------------------------------------- +dnl Check if SYMBOL (a variable or a function) is declared. +AC_DEFUN([AC_CHECK_DECL], +[AC_VAR_PUSHDEF([ac_var], [ac_cv_decl_$1])dnl +AC_CACHE_CHECK([whether $1 is declared], ac_var, +[AC_TRY_COMPILE($2, +[#ifndef $1 +char *p = (char *) $1; +#endif +], +AC_VAR_SET(ac_var, yes), AC_VAR_SET(ac_var, no))]) +AC_SHELL_IFELSE(test AC_VAR_GET(ac_var) = yes, + [$3], [$4])dnl +AC_VAR_POPDEF([ac_var])dnl +])dnl AC_CHECK_DECL + +dnl AC_CHECK_DECL(SYMBOL... , [, INCLUDES, +dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +AC_DEFUN(AC_CHECK_DECLS, +[for ac_sym in $1 +do +AC_CHECK_DECL($ac_sym, + [$2], + [AC_DEFINE_UNQUOTED(AC_TR_CPP(${ac_sym}_DECLARED)) $3], + [$4])dnl +done +]) + dnl ### Checking for library functions @@ -2457,27 +2504,17 @@ choke me f = $1; #endif ], AC_VAR_SET(ac_var, yes), AC_VAR_SET(ac_var, no))]) -dnl The ridiculous following `:' are coming from the fact that we -dnl need to have a body for these tests, otherwise some shells will -dnl die. FIXME: We should write a macro specifically to handle this kind -dnl of switches, since they are very common in Autoconf. -if test AC_VAR_GET(ac_var) = yes; then - : -ifset([$2], [ $2 -])dnl -else - : -ifset([$3], [ $3 -])dnl -fi -AC_VAR_POPDEF([ac_var])]) +AC_SHELL_IFELSE(test AC_VAR_GET(ac_var) = yes, + [$2], [$3])dnl +AC_VAR_POPDEF([ac_var])dnl +])dnl AC_CHECK_FUNC dnl AC_CHECK_FUNCS(FUNCTION... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) AC_DEFUN(AC_CHECK_FUNCS, [for ac_func in $1 do AC_CHECK_FUNC($ac_func, - [AC_DEFINE_UNQUOTED(AC_TR_DEFINE(HAVE_$ac_func)) $2], + [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_$ac_func)) $2], [$3])dnl done ]) @@ -2507,7 +2544,7 @@ main() AC_VAR_SET(ac_var, `cat conftestval`), AC_VAR_SET(ac_var, 0), ifset([$2], AC_VAR_SET(ac_var, $2)))]) -AC_DEFINE_UNQUOTED(AC_TR_DEFINE(sizeof_$1), AC_VAR_GET(ac_var)) +AC_DEFINE_UNQUOTED(AC_TR_CPP(sizeof_$1), AC_VAR_GET(ac_var)) AC_VAR_POPDEF([ac_var])dnl ]) @@ -2516,6 +2553,9 @@ dnl ### Checking for typedefs dnl AC_CHECK_TYPE(TYPE, DEFAULT) +dnl FIXME: This is an extremely badly choosen name, since this +dnl macro actually performs an AC_REPLACE_TYPE. Some day we +dnl have to clean this up. AC_DEFUN(AC_CHECK_TYPE, [AC_REQUIRE([AC_HEADER_STDC])dnl AC_MSG_CHECKING(for $1) @@ -2679,7 +2719,7 @@ dnl tmp-file config-file', hence their update is atomic. : \${CONFIG_FILES="$1"} ifdef([AC_LIST_HEADER], [: \${CONFIG_HEADERS=AC_LIST_HEADER} ])dnl -rm -fr \`echo "\$CONFIG_FILES ifdef([AC_LIST_HEADER], \$CONFIG_HEADERS)" | sed "s/:@BKL@^ @BKR@*//g"\` +rm -fr \`echo "\$CONFIG_FILES" | sed "s/:@BKL@^ @BKR@*//g"\` trap 'rm -fr \$confstat*; exit 1' 1 2 15 EOF dnl The following three sections are in charge of their own here @@ -2822,8 +2862,8 @@ changequote(, )dnl changequote([, ])dnl if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. - dnl FIXME: should actually be mkinstalldirs (parents may have - dnl to be created too. +dnl FIXME: should actually be mkinstalldirs (parents may have +dnl to be created too. test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. @@ -3027,8 +3067,8 @@ cat >> $CONFIG_STATUS <<\EOF changequote([, ])dnl if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. - dnl FIXME: should actually be mkinstalldirs (parents may have - dnl to be created too. +dnl FIXME: should actually be mkinstalldirs (parents may have +dnl to be created too. test ! -d "$ac_dir" && mkdir "$ac_dir" fi rm -f $ac_file @@ -3070,8 +3110,8 @@ changequote(, )dnl changequote([, ])dnl if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then # The dest file is in a subdirectory. - dnl FIXME: should actually be mkinstalldirs (parents may have - dnl to be created too. +dnl FIXME: should actually be mkinstalldirs (parents may have +dnl to be created too. test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir" ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dest_dir_suffix. @@ -3097,7 +3137,7 @@ changequote([, ])dnl fi done EOF -]) +])dnl AC_OUTPUT_LINKS dnl This is a subroutine of AC_OUTPUT. dnl It is called after running config.status. @@ -3145,8 +3185,8 @@ ifdef([AC_PROVIDE_AC_PROG_INSTALL],[ ac_given_INSTALL="$INSTALL" case "$srcdir" in .) ;; *) - dnl FIXME: should actually be mkinstalldirs (parents may have - dnl to be created too. +dnl FIXME: should actually be mkinstalldirs (parents may have +dnl to be created too. if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :; else AC_MSG_ERROR(cannot create `pwd`/$ac_config_dir) diff --git a/acspecific.m4 b/acspecific.m4 index 503bf87f..7ac816e8 100644 --- a/acspecific.m4 +++ b/acspecific.m4 @@ -167,7 +167,7 @@ dnl AC_PROG_F77 takes an optional first argument which, if specified, dnl must be a space separated list of Fortran 77 compilers to search dnl for. This just gives the user an opportunity to specify an dnl alternative search list for the Fortran 77 compiler. -dnl +dnl dnl AC_PROG_F77() AC_DEFUN(AC_PROG_F77, [AC_BEFORE([$0], [AC_PROG_CPP])dnl @@ -232,7 +232,7 @@ dnl Test whether the Fortran 77 compiler can compile and link a trivial dnl Fortran program. Also, test whether the Fortran 77 compiler is a dnl cross-compiler (which may realistically be the case if the Fortran dnl compiler is `g77'). -dnl +dnl dnl AC_PROG_F77_WORKS() AC_DEFUN(AC_PROG_F77_WORKS, [AC_MSG_CHECKING([whether the Fortran 77 compiler ($F77 $FFLAGS $LDFLAGS) works]) @@ -283,7 +283,7 @@ fi])]) dnl Test whether for Fortran 77 compiler is `g77' (the GNU Fortran 77 dnl Compiler). This test depends on whether the Fortran 77 compiler can dnl do CPP pre-processing. -dnl +dnl dnl AC_PROG_F77_GNU() AC_DEFUN(AC_PROG_F77_GNU, [AC_CACHE_CHECK(whether we are using GNU Fortran 77, ac_cv_prog_g77, @@ -322,7 +322,7 @@ rm -f conftest* dnl Test whether the Fortran 77 compiler can accept the `-g' option to dnl enable debugging. -dnl +dnl dnl AC_PROG_F77_G() AC_DEFUN(AC_PROG_F77_G, [AC_CACHE_CHECK(whether $F77 accepts -g, ac_cv_prog_f77_g, @@ -414,7 +414,7 @@ dnl dnl The usefulness of this macro is questionable, as I can't really see dnl why anyone would use it. The only reason I include it is for dnl completeness, since a similar test exists for the C compiler. -dnl +dnl dnl AC_PROG_F77_C_O AC_DEFUN(AC_PROG_F77_C_O, [AC_BEFORE([$0], [AC_PROG_F77])dnl @@ -1806,7 +1806,7 @@ fi AC_DEFUN(AC_FUNC_STRFTIME, [AC_CHECK_FUNC(strftime, [AC_DEFINE(HAVE_STRFTIME)], [# strftime is in -lintl on SCO UNIX. -AC_CHECK_LIB(intl, strftime, +AC_CHECK_LIB(intl, strftime, [AC_DEFINE(HAVE_STRFTIME) LIBS="-lintl $LIBS"])])]) @@ -1854,8 +1854,8 @@ extern select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_sel ])dnl AC_CACHE_VAL ])dnl AC_CACHE_VAL if test "$ac_not_found" = yes; then - ac_cv_func_select_arg1=int - ac_cv_func_select_arg234='int *' + ac_cv_func_select_arg1=int + ac_cv_func_select_arg234='int *' ac_cv_func_select_arg5='struct timeval *' fi AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5]) @@ -2988,7 +2988,10 @@ AC_EGREP_CPP(yes, [#ifdef _AIX yes #endif -], [AC_MSG_RESULT(yes); AC_DEFINE(_ALL_SOURCE)], AC_MSG_RESULT(no)) +], +[AC_MSG_RESULT(yes) +AC_DEFINE(_ALL_SOURCE)], +AC_MSG_RESULT(no)) ]) AC_DEFUN(AC_MINIX, diff --git a/autoconf.sh b/autoconf.sh index c6934961..afea20b2 100644 --- a/autoconf.sh +++ b/autoconf.sh @@ -1,6 +1,6 @@ #! @SHELL@ # autoconf -- create `configure' using m4 macros -# Copyright (C) 1992, 1993, 1994, 1996 Free Software Foundation, Inc. +# Copyright (C) 1992, 1993, 1994, 1996, 1999 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -145,7 +145,7 @@ if grep "^[^#]*${pattern}" $tmpout > /dev/null 2>&1; then sed -n "s/^[^#]*\\(${pattern}[_A-Za-z0-9]*\\).*/\\1/p" $tmpout | while read macro; do grep -n "^[^#]*$macro" $infile /dev/null - test $? -eq 1 && echo >&2 "***BUG in Autoconf--please report*** $macro" + test $? -eq 1 && echo "***BUG in Autoconf--please report*** $macro" done | sort -u >&2 status=1 fi @@ -167,6 +167,7 @@ $AWK ' s/@BKL@/[/g s/@BKR@/]/g s/@DLR@/$/g +s/@PND@/#/g ' >&4 rm -f $tmpout diff --git a/autoconf.texi b/autoconf.texi index 52f36649..9e56720e 100644 --- a/autoconf.texi +++ b/autoconf.texi @@ -138,8 +138,7 @@ package. This is edition @value{EDITION}, for Autoconf version * Preprocessor Symbol Index:: Index of C preprocessor symbols defined * Macro Index:: Index of Autoconf macros -@detailmenu - --- The Detailed Node Listing --- +@detailmenu --- The Detailed Node Listing --- Making @code{configure} Scripts @@ -176,6 +175,7 @@ Existing Tests * Libraries:: Library archives that might be missing * Library Functions:: C library functions that might be missing * Header Files:: Header files that might be missing +* Declarations:: Declarations that may be missing * Structures:: Structures or members that might be missing * Typedefs:: @code{typedef}s that might be missing * C Compiler Characteristics:: @@ -198,6 +198,11 @@ Header Files * Particular Headers:: Special handling to find certain headers * Generic Headers:: How to find other headers +Declarations + +* Particular Declarations:: Macros to check for certain declarations +* Generic Declarations:: How to find other declarations + Structures * Particular Structures:: Macros to check for certain stucture members @@ -800,11 +805,11 @@ for more information. @end defmac Small packages may store all their macros in @code{aclocal.m4}. As the -set of macros grows, or for maintenance reasons, a maintainer may prefer +set of macros grows, or for maintenance reasons, a maintainer may prefer to split the macros in several files. In this case, Autoconf must be told which files to load, and in which order. -@defmac AC_INCLUDE (@var{file(s)}) +@defmac AC_INCLUDE (@var{file}...) @maindex AC_INCLUDE Read the macro definitions that appear in the listed files. A list of space-separated filenames or shell globbing patterns is expected. The @@ -1539,6 +1544,7 @@ Symbols}, for how to get those symbol definitions into your program. * Libraries:: Library archives that might be missing * Library Functions:: C library functions that might be missing * Header Files:: Header files that might be missing +* Declarations:: Declarations that may be missing * Structures:: Structures or members that might be missing * Typedefs:: @code{typedef}s that might be missing * C Compiler Characteristics:: @@ -2279,7 +2285,7 @@ declares it in a header file you should be including, so you shouldn't redeclare it, lest your declaration conflict. @end defmac -@node Header Files, Structures, Library Functions, Existing Tests +@node Header Files, Declarations, Library Functions, Existing Tests @section Header Files The following macros check for the presence of certain C header files. @@ -2298,12 +2304,42 @@ it, then you can use one of the general header file check macros. These macros check for particular system header files---whether they exist, and in some cases whether they declare certain symbols. -@defmac AC_DECL_SYS_SIGLIST -@maindex DECL_SYS_SIGLIST -@cvindex SYS_SIGLIST_DECLARED -Define @code{SYS_SIGLIST_DECLARED} if the variable @code{sys_siglist} is -declared in a system header file, either @file{signal.h} or -@file{unistd.h}. +@defmac AC_HEADER_STAT +@maindex HEADER_STAT +@maindex STAT_MACROS_BROKEN +If the macros @code{S_ISDIR}, @code{S_ISREG} et al. defined in +@file{sys/stat.h} do not work properly (returning false positives), +define @code{STAT_MACROS_BROKEN}. This is the case on Tektronix UTekV, +Amdahl UTS and Motorola System V/88. +@end defmac + +@defmac AC_HEADER_TIME +@maindex HEADER_TIME +@cvindex TIME_WITH_SYS_TIME +If a program may include both @file{time.h} and @file{sys/time.h}, +define @code{TIME_WITH_SYS_TIME}. On some older systems, +@file{sys/time.h} includes @file{time.h}, but @file{time.h} is not +protected against multiple inclusion, so programs should not explicitly +include both files. This macro is useful in programs that use, for +example, @code{struct timeval} or @code{struct timezone} as well as +@code{struct tm}. It is best used in conjunction with +@code{HAVE_SYS_TIME_H}, which can be checked for using +@code{AC_CHECK_HEADERS(sys/time.h)}. + +@example +@group +#if TIME_WITH_SYS_TIME +# include <sys/time.h> +# include <time.h> +#else +# if HAVE_SYS_TIME_H +# include <sys/time.h> +# else +# include <time.h> +# endif +#endif +@end group +@end example @end defmac @defmac AC_DIR_HEADER @@ -2564,7 +2600,58 @@ the loop on the first match. If @var{action-if-not-found} is given, it is executed when one of the header files is not found. @end defmac -@node Structures, Typedefs, Header Files, Existing Tests +@node Declarations, Structures, Header Files, Existing Tests +@section Declarations + +The following macros check for the declaration of variables and +functions. If there is no macro specifically defined to check for a +symbol you need, then you can use the general macro (@pxref{Generic +Declarations}) or, for more complex tests, you may use +@code{AC_TRY_COMPILE} (@pxref{Examining Syntax}). + +@menu +* Particular Declarations:: Macros to check for certain declarations +* Generic Declarations:: How to find other declarations +@end menu + +@node Particular Declarations, Generic Declarations, Declarations, Declarations +@subsection Particular Declaration Checks + +The following macros check for certain declarations. + +@defmac AC_DECL_SYS_SIGLIST +@maindex DECL_SYS_SIGLIST +@cvindex SYS_SIGLIST_DECLARED +Define @code{SYS_SIGLIST_DECLARED} if the variable @code{sys_siglist} +is declared in a system header file, either @file{signal.h} or +@file{unistd.h}. +@end defmac + +@node Generic Declarations, , Particular Declarations, Declarations +@subsection Generic Declaration Checks + +These macros are used to find declarations not covered by the particular +test macros. + +@defmac AC_CHECK_DECL (@var{symbol}, @r{[}@var{includes}, @r{[}@var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]]}) +@maindex CHECK_DECL +If @var{symbol} (a function or a variable) is declared in +@var{includes}, run shell commands @var{action-if-found}, otherwise +@var{action-if-not-found}. +@end defmac + +@defmac AC_CHECK_DECLS (@var{symbol}@dots{}, @r{[}@var{includes} @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]]}) +@maindex CHECK_DECLS +@cvindex @var{symbol}_DECLARED +For each given @var{symbol} (whitespace-separated), define +@code{@var{symbol}_DECLARED} (in all capitals) if @var{symbol} is +declared. If @var{action-if-found} is given, it is additional shell +code to execute when one of the function declarations is found, +otherwise @var{action-if-not-found} is executed. +@end defmac + + +@node Structures, Typedefs, Declarations, Existing Tests @section Structures The following macros check for the presence of certain members in C @@ -2583,44 +2670,6 @@ member you need, then you can use the general structure member macro The following macros check for certain structures or structure members. -@defmac AC_HEADER_STAT -@maindex HEADER_STAT -@maindex STAT_MACROS_BROKEN -If the macros @code{S_ISDIR}, @code{S_ISREG} et al. defined in -@file{sys/stat.h} do not work properly (returning false positives), -define @code{STAT_MACROS_BROKEN}. This is the case on Tektronix UTekV, -Amdahl UTS and Motorola System V/88. -@end defmac - -@defmac AC_HEADER_TIME -@maindex HEADER_TIME -@cvindex TIME_WITH_SYS_TIME -If a program may include both @file{time.h} and @file{sys/time.h}, -define @code{TIME_WITH_SYS_TIME}. On some older systems, -@file{sys/time.h} includes @file{time.h}, but @file{time.h} is not -protected against multiple inclusion, so programs should not explicitly -include both files. This macro is useful in programs that use, for -example, @code{struct timeval} or @code{struct timezone} as well as -@code{struct tm}. It is best used in conjunction with -@code{HAVE_SYS_TIME_H}, which can be checked for using -@code{AC_CHECK_HEADERS(sys/time.h)}. - -@example -@group -#if TIME_WITH_SYS_TIME -# include <sys/time.h> -# include <time.h> -#else -# if HAVE_SYS_TIME_H -# include <sys/time.h> -# else -# include <time.h> -# endif -#endif -@end group -@end example -@end defmac - @defmac AC_STRUCT_ST_BLKSIZE @maindex STRUCT_ST_BLKSIZE @cvindex HAVE_ST_BLKSIZE diff --git a/autoheader.m4 b/autoheader.m4 index 73736c21..55c9c232 100644 --- a/autoheader.m4 +++ b/autoheader.m4 @@ -1,6 +1,6 @@ dnl Driver and redefinitions of some Autoconf macros for autoheader. dnl This file is part of Autoconf. -dnl Copyright (C) 1994, 1995 Free Software Foundation, Inc. +dnl Copyright (C) 1994, 1995, 1999 Free Software Foundation, Inc. dnl dnl This program is free software; you can redistribute it and/or modify dnl it under the terms of the GNU General Public License as published by @@ -20,8 +20,8 @@ dnl dnl Written by Roland McGrath. dnl include(acgeneral.m4)dnl -builtin(include, acspecific.m4)dnl -builtin(include, acoldnames.m4)dnl +m4_include(acspecific.m4)dnl +m4_include(acoldnames.m4)dnl dnl These are alternate definitions of some macros, which produce dnl strings in the output marked with "@@@" so we can easily extract @@ -65,6 +65,17 @@ $4 ]) ]) +define([AC_CHECK_DECLS], [# + ifelse([$3], , [ +@@@decls="$decls $1"@@@ +], [ +# If it was found, we do: +$3 +# If it was not found, we do: +$4 +]) +]) + define([AC_HAVE_LIBRARY], [# changequote(<<, >>)dnl define(<<AC_LIB_NAME>>, dnl diff --git a/autoheader.sh b/autoheader.sh index 66033d2e..426fd4dc 100644 --- a/autoheader.sh +++ b/autoheader.sh @@ -56,8 +56,6 @@ case "${M4}" in test -f "${M4}" || M4=m4 ;; esac -ac_LF_and_DOT="`echo; echo .`" - localdir=. show_version=no @@ -116,6 +114,7 @@ types= funcs= headers= libs= +decls= if test "$localdir" != .; then use_localdir="-I$localdir -DAC_LOCALDIR=$localdir" @@ -132,9 +131,9 @@ case `$M4 --help < /dev/null 2>&1` in *) echo Autoconf requires GNU m4 1.1 or later >&2; exit 1 ;; esac -# 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. +# Extract assignments of SYMS, TYPES, FUNCS, HEADERS, LIBS and DECLS +# from the modified autoconf processing of the input file. The sed +# hair is necessary to win for multi-line macro invocations. eval "`$M4 -I$AC_MACRODIR $use_localdir $r autoheader.m4$f $infile | sed -n -e ' : again @@ -215,7 +214,7 @@ $syms EOF fgrep -f $fgrep_tmp rm -f $fgrep_tmp) | - tr @. "$ac_LF_and_DOT" + tr @. "`echo; echo .`" # We use echo to avoid assuming a particular line-breaking character. # The extra dot is to prevent the shell from consuming trailing # line-breaks from the sub-command output. A line-break within @@ -224,7 +223,7 @@ EOF # would break. fi -echo "$types" | tr ,. "$ac_LF_and_DOT" | sort | uniq | while read ctype; do +echo "$types" | tr ,. "`echo`." | sort | uniq | while read ctype; do test -z "$ctype" && continue sym="`echo "${ctype}" | tr 'abcdefghijklmnopqrstuvwxyz *' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ_P'`" echo " @@ -261,6 +260,15 @@ if test -n "$libs"; then done fi +if test -n "$decls"; then + for decl in `for x in $decls; do echo $x; done | sort | uniq`; do + sym="`echo ${decl} | sed 's/[^a-zA-Z0-9_]/_/g' | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`" + echo " +/* Define if you have the \`${decl}' declaration. */ +#undef ${sym}_DECLARED" + done +fi + if test -n "$verbatim"; then echo "$verbatim" fi @@ -52,8 +52,9 @@ MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 -# Sed expression to map a string onto a valid sh variable name +# Sed expression to map a string onto a valid sh and CPP variable names. ac_tr_sh='sed -e y%*+%pp%;s%[^a-zA-Z0-9_]%_%g' +ac_tr_cpp='sed -e y%*abcdefghijklmnopqrstuvwxyz%PABCDEFGHIJKLMNOPQRSTUVWXYZ%;s%[^A-Z0-9_]%_%g' ac_prev= for ac_option @@ -586,7 +587,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word... $ac_c" 1>&6 -echo "configure:590: checking for $ac_word" 1>&5 +echo "configure:591: checking for $ac_word" 1>&5 if test "${ac_cv_path_M4+set}" = set; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -627,7 +628,7 @@ do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word... $ac_c" 1>&6 -echo "configure:631: checking for $ac_word" 1>&5 +echo "configure:632: checking for $ac_word" 1>&5 if test "${ac_cv_prog_AWK+set}" = set; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -660,7 +661,7 @@ done # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 echo $ac_n "checking for $ac_word... $ac_c" 1>&6 -echo "configure:664: checking for $ac_word" 1>&5 +echo "configure:665: checking for $ac_word" 1>&5 if test "${ac_cv_path_PERL+set}" = set; then echo $ac_n "(cached) $ac_c" 1>&6 else @@ -730,7 +731,7 @@ ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install... $ac_c" 1>&6 -echo "configure:734: checking for a BSD compatible install" 1>&5 +echo "configure:735: checking for a BSD compatible install" 1>&5 if test -z "$INSTALL"; then if test "${ac_cv_path_install+set}" = set; then echo $ac_n "(cached) $ac_c" 1>&6 @@ -944,7 +945,7 @@ EOF cat >> $CONFIG_STATUS <<EOF : \${CONFIG_FILES="Makefile testsuite/Makefile"} -rm -fr \`echo "\$CONFIG_FILES " | sed "s/:[^ ]*//g"\` +rm -fr \`echo "\$CONFIG_FILES" | sed "s/:[^ ]*//g"\` trap 'rm -fr \$confstat*; exit 1' 1 2 15 EOF cat >>$CONFIG_STATUS <<EOF @@ -1042,7 +1043,7 @@ for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. - test ! -d "$ac_dir" && mkdir "$ac_dir" + test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` diff --git a/doc/Makefile.in b/doc/Makefile.in index 7ccda43e..b8917d7e 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -190,15 +190,12 @@ uninstall: if test -f standards.info || test -f $(srcdir)/standards.info; \ then cd $(infodir) && rm -f standards.info*; fi -# Why don't we run ./autoconf here? There are substitutions performed -# by autoconf which are necessary. Now, the Makefile breaks configure, -# and one has to ./autoconf to have the right thing happen. ${srcdir}/configure: configure.in $(M4FILES) - echo "FIXME: Why not running ./autoconf -m . ?" cd $(srcdir) && \ rm -f configure configure.tmp && \ - $(M4) autoconf.m4 configure.in > configure.tmp && \ - chmod +x configure.tmp && mv configure.tmp configure + M4=$(M4) AC_MACRODIR=. AWK=$(AWK) \ + $(SHELL) ./autoconf.sh + Makefile: Makefile.in config.status $(SHELL) ./config.status config.status: configure diff --git a/doc/autoconf.texi b/doc/autoconf.texi index 52f36649..9e56720e 100644 --- a/doc/autoconf.texi +++ b/doc/autoconf.texi @@ -138,8 +138,7 @@ package. This is edition @value{EDITION}, for Autoconf version * Preprocessor Symbol Index:: Index of C preprocessor symbols defined * Macro Index:: Index of Autoconf macros -@detailmenu - --- The Detailed Node Listing --- +@detailmenu --- The Detailed Node Listing --- Making @code{configure} Scripts @@ -176,6 +175,7 @@ Existing Tests * Libraries:: Library archives that might be missing * Library Functions:: C library functions that might be missing * Header Files:: Header files that might be missing +* Declarations:: Declarations that may be missing * Structures:: Structures or members that might be missing * Typedefs:: @code{typedef}s that might be missing * C Compiler Characteristics:: @@ -198,6 +198,11 @@ Header Files * Particular Headers:: Special handling to find certain headers * Generic Headers:: How to find other headers +Declarations + +* Particular Declarations:: Macros to check for certain declarations +* Generic Declarations:: How to find other declarations + Structures * Particular Structures:: Macros to check for certain stucture members @@ -800,11 +805,11 @@ for more information. @end defmac Small packages may store all their macros in @code{aclocal.m4}. As the -set of macros grows, or for maintenance reasons, a maintainer may prefer +set of macros grows, or for maintenance reasons, a maintainer may prefer to split the macros in several files. In this case, Autoconf must be told which files to load, and in which order. -@defmac AC_INCLUDE (@var{file(s)}) +@defmac AC_INCLUDE (@var{file}...) @maindex AC_INCLUDE Read the macro definitions that appear in the listed files. A list of space-separated filenames or shell globbing patterns is expected. The @@ -1539,6 +1544,7 @@ Symbols}, for how to get those symbol definitions into your program. * Libraries:: Library archives that might be missing * Library Functions:: C library functions that might be missing * Header Files:: Header files that might be missing +* Declarations:: Declarations that may be missing * Structures:: Structures or members that might be missing * Typedefs:: @code{typedef}s that might be missing * C Compiler Characteristics:: @@ -2279,7 +2285,7 @@ declares it in a header file you should be including, so you shouldn't redeclare it, lest your declaration conflict. @end defmac -@node Header Files, Structures, Library Functions, Existing Tests +@node Header Files, Declarations, Library Functions, Existing Tests @section Header Files The following macros check for the presence of certain C header files. @@ -2298,12 +2304,42 @@ it, then you can use one of the general header file check macros. These macros check for particular system header files---whether they exist, and in some cases whether they declare certain symbols. -@defmac AC_DECL_SYS_SIGLIST -@maindex DECL_SYS_SIGLIST -@cvindex SYS_SIGLIST_DECLARED -Define @code{SYS_SIGLIST_DECLARED} if the variable @code{sys_siglist} is -declared in a system header file, either @file{signal.h} or -@file{unistd.h}. +@defmac AC_HEADER_STAT +@maindex HEADER_STAT +@maindex STAT_MACROS_BROKEN +If the macros @code{S_ISDIR}, @code{S_ISREG} et al. defined in +@file{sys/stat.h} do not work properly (returning false positives), +define @code{STAT_MACROS_BROKEN}. This is the case on Tektronix UTekV, +Amdahl UTS and Motorola System V/88. +@end defmac + +@defmac AC_HEADER_TIME +@maindex HEADER_TIME +@cvindex TIME_WITH_SYS_TIME +If a program may include both @file{time.h} and @file{sys/time.h}, +define @code{TIME_WITH_SYS_TIME}. On some older systems, +@file{sys/time.h} includes @file{time.h}, but @file{time.h} is not +protected against multiple inclusion, so programs should not explicitly +include both files. This macro is useful in programs that use, for +example, @code{struct timeval} or @code{struct timezone} as well as +@code{struct tm}. It is best used in conjunction with +@code{HAVE_SYS_TIME_H}, which can be checked for using +@code{AC_CHECK_HEADERS(sys/time.h)}. + +@example +@group +#if TIME_WITH_SYS_TIME +# include <sys/time.h> +# include <time.h> +#else +# if HAVE_SYS_TIME_H +# include <sys/time.h> +# else +# include <time.h> +# endif +#endif +@end group +@end example @end defmac @defmac AC_DIR_HEADER @@ -2564,7 +2600,58 @@ the loop on the first match. If @var{action-if-not-found} is given, it is executed when one of the header files is not found. @end defmac -@node Structures, Typedefs, Header Files, Existing Tests +@node Declarations, Structures, Header Files, Existing Tests +@section Declarations + +The following macros check for the declaration of variables and +functions. If there is no macro specifically defined to check for a +symbol you need, then you can use the general macro (@pxref{Generic +Declarations}) or, for more complex tests, you may use +@code{AC_TRY_COMPILE} (@pxref{Examining Syntax}). + +@menu +* Particular Declarations:: Macros to check for certain declarations +* Generic Declarations:: How to find other declarations +@end menu + +@node Particular Declarations, Generic Declarations, Declarations, Declarations +@subsection Particular Declaration Checks + +The following macros check for certain declarations. + +@defmac AC_DECL_SYS_SIGLIST +@maindex DECL_SYS_SIGLIST +@cvindex SYS_SIGLIST_DECLARED +Define @code{SYS_SIGLIST_DECLARED} if the variable @code{sys_siglist} +is declared in a system header file, either @file{signal.h} or +@file{unistd.h}. +@end defmac + +@node Generic Declarations, , Particular Declarations, Declarations +@subsection Generic Declaration Checks + +These macros are used to find declarations not covered by the particular +test macros. + +@defmac AC_CHECK_DECL (@var{symbol}, @r{[}@var{includes}, @r{[}@var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]]}) +@maindex CHECK_DECL +If @var{symbol} (a function or a variable) is declared in +@var{includes}, run shell commands @var{action-if-found}, otherwise +@var{action-if-not-found}. +@end defmac + +@defmac AC_CHECK_DECLS (@var{symbol}@dots{}, @r{[}@var{includes} @r{[}, @var{action-if-found} @r{[}, @var{action-if-not-found}@r{]]]}) +@maindex CHECK_DECLS +@cvindex @var{symbol}_DECLARED +For each given @var{symbol} (whitespace-separated), define +@code{@var{symbol}_DECLARED} (in all capitals) if @var{symbol} is +declared. If @var{action-if-found} is given, it is additional shell +code to execute when one of the function declarations is found, +otherwise @var{action-if-not-found} is executed. +@end defmac + + +@node Structures, Typedefs, Declarations, Existing Tests @section Structures The following macros check for the presence of certain members in C @@ -2583,44 +2670,6 @@ member you need, then you can use the general structure member macro The following macros check for certain structures or structure members. -@defmac AC_HEADER_STAT -@maindex HEADER_STAT -@maindex STAT_MACROS_BROKEN -If the macros @code{S_ISDIR}, @code{S_ISREG} et al. defined in -@file{sys/stat.h} do not work properly (returning false positives), -define @code{STAT_MACROS_BROKEN}. This is the case on Tektronix UTekV, -Amdahl UTS and Motorola System V/88. -@end defmac - -@defmac AC_HEADER_TIME -@maindex HEADER_TIME -@cvindex TIME_WITH_SYS_TIME -If a program may include both @file{time.h} and @file{sys/time.h}, -define @code{TIME_WITH_SYS_TIME}. On some older systems, -@file{sys/time.h} includes @file{time.h}, but @file{time.h} is not -protected against multiple inclusion, so programs should not explicitly -include both files. This macro is useful in programs that use, for -example, @code{struct timeval} or @code{struct timezone} as well as -@code{struct tm}. It is best used in conjunction with -@code{HAVE_SYS_TIME_H}, which can be checked for using -@code{AC_CHECK_HEADERS(sys/time.h)}. - -@example -@group -#if TIME_WITH_SYS_TIME -# include <sys/time.h> -# include <time.h> -#else -# if HAVE_SYS_TIME_H -# include <sys/time.h> -# else -# include <time.h> -# endif -#endif -@end group -@end example -@end defmac - @defmac AC_STRUCT_ST_BLKSIZE @maindex STRUCT_ST_BLKSIZE @cvindex HAVE_ST_BLKSIZE diff --git a/lib/autoconf/general.m4 b/lib/autoconf/general.m4 index e70bd5b8..796ec3c7 100644 --- a/lib/autoconf/general.m4 +++ b/lib/autoconf/general.m4 @@ -76,6 +76,7 @@ m4_prefix([format]) dnl ifset(COND, IF-TRUE[, IF-FALSE]) dnl -------------------------------- dnl If COND is not the empty string, expand IF-TRUE, otherwise IF-FALSE. +dnl Comparable to ifdef. define([ifset], [ifelse([$1],,[$3],[$2])]) @@ -122,7 +123,7 @@ dnl AC_PRO(MACRO-NAME) define(AC_PRO, [define([AC_PROVIDE_$1], )dnl ifelse(AC_DIVERSION_CURRENT, AC_DIVERSION_NORMAL, -[AC_DIVERT_PUSH(builtin(eval, AC_DIVERSION_CURRENT - 1))], +[AC_DIVERT_PUSH(m4_eval(AC_DIVERSION_CURRENT - 1))], [pushdef([AC_DIVERSION_CURRENT], AC_DIVERSION_CURRENT)])dnl ]) @@ -149,7 +150,7 @@ dnl macros. We don't use this macro to define some frequently called dnl macros that are not involved in ordering constraints, to save m4 dnl processing. dnl -dnl If the REPLACED-FUNCTTION and ARGUMENT are defined, then declare that +dnl If the REPLACED-FUNCTION and ARGUMENT are defined, then declare that dnl NAME is a specialized version of REPLACED-FUNCTION when its first dnl argument is ARGUMENT. For instance AC_TYPE_SIZE_T is a specialization dnl of AC_CHECK_TYPE applied to `size_t'. @@ -161,6 +162,29 @@ define([$1], [AC_PRO([$1])$4[]AC_EPI()])])]) +dnl ### Some /bin/sh idioms + +dnl AC_SHELL_IFELSE(TEST[, IF-TRUE[, IF-FALSE]]) +dnl ------------------------------------------- +dnl Expand into +dnl | if TEST; then +dnl | IF-TRUE; +dnl | else +dnl | IF-FALSE +dnl | fi +dnl | with simplifications is IF-TRUE and/or IF-FALSE is empty. +define([AC_SHELL_IFELSE], +[ifset([$2$3], +[if [$1]; then + ifset([$2], [$2], :) +ifset([$3], +[else + $3 +])dnl +fi +])]) + + dnl ### Common m4/sh handling of variables (indirections) @@ -206,7 +230,7 @@ define(AC_VAR_GET, dnl AC_VAR_TEST_SET(VARIABLE) dnl ------------------------- dnl Expands into the `test' expression which is true if VARIABLE -dnl is set. Polymorphic. +dnl is set. Polymorphic. Should be dnl'ed. define(AC_VAR_TEST_SET, [AC_VAR_IF_INDIR([$1], [eval "test \"\${$1+set}\" = set"], @@ -219,14 +243,8 @@ dnl ------------------------------------------ dnl Implement a shell `if-then-else' depending whether VARIABLE is set dnl or not. Polymorphic. define(AC_VAR_IF_SET, -[if AC_VAR_TEST_SET([$1]); then - ifelse([$2], , :, [$2]) -ifelse([$3], , , -[else - $3 -])dnl -fi -]) +[AC_SHELL_IFELSE(AC_VAR_TEST_SET([$1]), [$2], [$3])]) + dnl AC_VAR_PUSHDEF and AC_VAR_POPDEF dnl -------------------------------- @@ -302,28 +320,30 @@ dnl Include a protection against `%' (used as a sed separator) in FROM and TO. dnl Forbid appearence of `-' in FROM elsewhere than in the last position, dnl since we might otherwise trigger a GNU m4 bug (version 1.4 included). dnl ALPHABET may contain characters interval. -define(AC_TR, -[ifelse(regexp([$2$3], [%]), -1,, - [AC_FATAL([$0: `%' cannot be used. Change the definition of $0])])dnl -ifelse(regexp([$2], [-]), -1,, len([$2]),, - [AC_FATAL([$0: `-' cannot be used but in the last position.])])dnl -ifelse(len([$2]), len([$3]),, - [AC_FATAL([$0: argument 2 and 3 should have the same length])])dnl -AC_VAR_IF_INDIR([$1], - [`echo "$1" | sed 'y%$2%$3%;s%[^$4]%$5%g'`], - [patsubst(translit([$1], [$2], [$3]), - [[^$4]], [$5])])]) - -dnl AC_TR_DEFINE(EXPRESSION) -dnl ------------------------ +dnl define(AC_TR, +dnl [ifelse(regexp([$2$3], [%]), -1,, +dnl [AC_FATAL([$0: `%' cannot be used. Change the definition of $0])])dnl +dnl ifelse(regexp([$2], [-]), -1,, len([$2]),, +dnl [AC_FATAL([$0: `-' cannot be used but in the last position.])])dnl +dnl ifelse(len([$2]), len([$3]),, +dnl [AC_FATAL([$0: argument 2 and 3 should have the same length])])dnl +dnl AC_VAR_IF_INDIR([$1], +dnl [`echo "$1" | sed 'y%$2%$3%;s%[^$4]%$5%g'`], +dnl [patsubst(translit([$1], [$2], [$3]), +dnl [[^$4]], [$5])])]) + +dnl AC_TR_CPP(EXPRESSION) +dnl --------------------- dnl Map EXPRESSION to an upper case string which is valid as rhs for a -dnl `#define'. sh/m4 polymorphic. -define(AC_TR_DEFINE, -[AC_TR([$1], - [*abcdefghijklmnopqrstuvwxyz], - [PABCDEFGHIJKLMNOPQRSTUVWXYZ], - [A-Z0-9_], - [_])]) +dnl `#define'. sh/m4 polymorphic. Make sure to update the definition +dnl of `$ac_tr_cpp' if you change this. +define(AC_TR_CPP, +[AC_VAR_IF_INDIR([$1], + [`echo "$1" | $ac_tr_cpp`], + [patsubst(translit([$1], + [*abcdefghijklmnopqrstuvwxyz], + [PABCDEFGHIJKLMNOPQRSTUVWXYZ]), + [A-Z0-9_], [_])])]) dnl AC_TR_SH(EXPRESSION) @@ -332,11 +352,12 @@ dnl Transform EXPRESSION into a valid shell variable name. dnl sh/m4 polymorphic. Because of a delicate problem of quoting, dnl we cannot use the definition we had before: dnl AC_TR([$1],[*+], [pp], [a-zA-Z0-9_], [_]) +dnl Make sure to update the definition of `$ac_tr_cpp' if you change this. define(AC_TR_SH, [AC_VAR_IF_INDIR([$1], [`echo "$1" | $ac_tr_sh`], [patsubst(translit([$1], [*+], [pp]), - [[^a-zA-Z0-9_]], [_])])]) + [[^a-zA-Z0-9_]], [_])])]) @@ -636,9 +657,10 @@ MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 -# Sed expression to map a string onto a valid sh variable name +# Sed expression to map a string onto a valid sh and CPP variable names. changequote(, )dnl ac_tr_sh='sed -e y%*+%pp%;s%[^a-zA-Z0-9_]%_%g' +ac_tr_cpp='sed -e y%*abcdefghijklmnopqrstuvwxyz%PABCDEFGHIJKLMNOPQRSTUVWXYZ%;s%[^A-Z0-9_]%_%g' changequote([, ])dnl ac_prev= @@ -1063,7 +1085,7 @@ AC_DIVERT_POP()dnl to NORMAL dnl AC_INCLUDE AC_DEFUN(AC_INCLUDE, [ifelse($1, [], [], [dnl - esyscmd([for file in $1; do echo "builtin(include,$file)dnl"; done])dnl + esyscmd([for file in $1; do echo "m4_include($file)dnl"; done])dnl ])]) dnl AC_INIT_PREPARE(UNIQUE-FILE-IN-SOURCE-DIR) @@ -1304,9 +1326,9 @@ dnl PRINTABLE2 is the printable version of version number 2. dnl AC_PREREQ_COMPARE(MAJOR1, MINOR1, TERNARY1, MAJOR2, MINOR2, TERNARY2, dnl PRINTABLE2) define(AC_PREREQ_COMPARE, -[ifelse(builtin([eval], -[$3 + $2 * 1000 + $1 * 1000000 < $6 + $5 * 1000 + $4 * 1000000]), 1, -[AC_FATAL(Autoconf version $7 or higher is required for this script)])]) +[ifelse( + m4_eval([$3 + $2 * 1000 + $1 * 1000000 < $6 + $5 * 1000 + $4 * 1000000]), + 1, [AC_FATAL(Autoconf version $7 or higher is required for this script)])]) dnl Complain and exit if the Autoconf version is less than VERSION. dnl AC_PREREQ(VERSION) @@ -1576,6 +1598,7 @@ dnl AC_CACHE_VAL(CACHE-ID, COMMANDS-TO-SET-IT) dnl ------------------------------------------ dnl dnl The name of shell var CACHE-ID must contain `_cv_' in order to get saved. +dnl Should be dnl'ed. define(AC_CACHE_VAL, [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. @@ -1585,24 +1608,30 @@ AC_VAR_IF_SET([$1], [$2])]) dnl AC_CACHE_CHECK(MESSAGE, CACHE-ID, COMMANDS) +dnl ------------------------------------------- dnl Do not call this macro with a dnl right behind. define(AC_CACHE_CHECK, [AC_MSG_CHECKING([$1]) -AC_CACHE_VAL([$2], [$3]) +AC_CACHE_VAL([$2], [$3])dnl AC_MSG_RESULT_UNQUOTED(AC_VAR_GET([$2]))]) dnl ### Defining symbols -dnl Set VARIABLE to VALUE, verbatim, or 1. -dnl AC_DEFINE(VARIABLE [, VALUE]) +dnl AC_DEFINE(VARIABLE [, VALUE[, DESCRIPTION]]) +dnl -------------------------------------------- +dnl Set VARIABLE to VALUE, verbatim, or 1. Remember the value +dnl and if VARIABLE is affected the same VALUE, do nothing, else +dnl die. The third argument is used by autoheader. define(AC_DEFINE, [cat >> confdefs.h <<\EOF [#define] $1 ifelse($#, 2, [$2], $#, 3, [$2], 1) EOF ]) +dnl AC_DEFINE_UNQUOTED(VARIABLE [, VALUE[, DESCRIPTION]]) +dnl ----------------------------------------------------- dnl Similar, but perform shell substitutions $ ` \ once on VALUE. define(AC_DEFINE_UNQUOTED, [cat >> confdefs.h <<EOF @@ -1638,17 +1667,17 @@ AC_DIVERT_POP()dnl dnl ### Printing messages at autoconf run time -dnl _AC_MESSAGE(MESSAGE) +dnl _AC_ERRPRINT(MESSAGE) dnl Report the MESSAGE at m4 time, with line and filename. -define(_AC_MESSAGE, [errprint(__file__:__line__: [$1 +define(_AC_ERRPRINT, [errprint(__file__:__line__: [$1 ])]) dnl AC_WARNING(MESSAGE) -define(AC_WARNING, [_AC_MESSAGE([warning: $1])]) +define(AC_WARNING, [_AC_ERRPRINT([warning: $1])]) dnl AC_FATAL(MESSAGE [, EXIT-STATUS]) define(AC_FATAL, -[_AC_MESSAGE([error: $1]) +[_AC_ERRPRINT([error: $1]) m4exit(ifdef([$2], [$2], 1))]) @@ -1667,7 +1696,7 @@ dnl _AC_ECHO_UNQUOTED(STRING [ , FD ]) dnl Expands into a sh call to echo onto FD (default is AC_FD_MSG). dnl The shell perform its expansions on STRING. define([_AC_ECHO_UNQUOTED], -[echo "$1" 1>&ifelse($2,, AC_FD_MSG, $2)]) +[echo "[$1]" 1>&ifelse($2,, AC_FD_MSG, $2)]) dnl _AC_ECHO(STRING [ , FD ]) dnl Expands into a sh call to echo onto FD (default is AC_FD_MSG), @@ -1712,6 +1741,10 @@ dnl AC_MSG_ERROR(ERROR-DESCRIPTION) define(AC_MSG_ERROR, [{ _AC_ECHO([configure: error: $1], 2); exit 1; }]) +dnl AC_MSG_ERROR_UNQUOTED(ERROR-DESCRIPTION) +define(AC_MSG_ERROR_UNQUOTED, +[{ _AC_ECHO_UNQUOTED([configure: error: $1], 2); exit 1; }]) + dnl ### Selecting which language to use for testing @@ -1785,7 +1818,7 @@ define(AC_BEFORE, dnl AC_REQUIRE(MACRO-NAME) define(AC_REQUIRE, [ifdef([AC_PROVIDE_$1], , -[AC_DIVERT_PUSH(builtin(eval, AC_DIVERSION_CURRENT - 1))dnl +[AC_DIVERT_PUSH(m4_eval(AC_DIVERSION_CURRENT - 1))dnl indir([$1]) AC_DIVERT_POP()dnl ])]) @@ -2032,6 +2065,7 @@ dnl ### Checking for libraries dnl AC_TRY_LINK_FUNC(func, action-if-found, action-if-not-found) +dnl ------------------------------------------------------------ dnl Try to link a program that calls FUNC, handling GCC builtins. If dnl the link succeeds, execute ACTION-IF-FOUND; otherwise, execute dnl ACTION-IF-NOT-FOUND. @@ -2059,8 +2093,7 @@ dnl [, ACTION-IF-NOT-FOUND [, OTHER-LIBRARIES]]]) dnl Search for a library defining FUNC, if it's not already available. AC_DEFUN(AC_SEARCH_LIBS, -[AC_PREREQ([2.13]) -AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1], +[AC_CACHE_CHECK([for library containing $1], [ac_cv_search_$1], [ac_func_search_save_LIBS="$LIBS" ac_cv_search_$1="no" AC_TRY_LINK_FUNC([$1], [ac_cv_search_$1="none required"]) @@ -2082,14 +2115,13 @@ fi]) dnl AC_CHECK_LIB(LIBRARY, FUNCTION [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND dnl [, OTHER-LIBRARIES]]]) -AC_DEFUN(AC_CHECK_LIB, -[AC_MSG_CHECKING([for $2 in -l$1]) dnl Use a cache variable name containing both the library and function name, dnl because the test really is for library $1 defining function $2, not dnl just for library $1. Separate tests with the same $1 and different $2s dnl may have different results. -ac_lib_var=`echo $1['_']$2 | sed 'y%./+-:%__p__%'` -AC_CACHE_VAL(ac_cv_lib_$ac_lib_var, +AC_DEFUN(AC_CHECK_LIB, +[AC_VAR_PUSHDEF([ac_var], [ac_cv_lib_$1_$2])dnl +AC_CACHE_CHECK([for $2 in -l$1], ac_var, [ac_save_LIBS="$LIBS" LIBS="-l$1 $5 $LIBS" AC_TRY_LINK(dnl @@ -2104,30 +2136,20 @@ extern "C" builtin and then its argument prototype would still apply. */ char $2(); ])), - [$2()], - eval "ac_cv_lib_$ac_lib_var=yes", - eval "ac_cv_lib_$ac_lib_var=no") -LIBS="$ac_save_LIBS" -])dnl -if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then - AC_MSG_RESULT(yes) - ifelse([$3], , -[changequote(, )dnl - ac_tr_lib=HAVE_LIB`echo $1 | sed -e 's/[^a-zA-Z0-9_]/_/g' \ - -e 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'` -changequote([, ])dnl - AC_DEFINE_UNQUOTED($ac_tr_lib) +[$2()], +AC_VAR_SET(ac_var, yes), AC_VAR_SET(ac_var, no)) +LIBS="$ac_save_LIBS"]) +AC_SHELL_IFELSE(test AC_VAR_GET(ac_var) = yes, + [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_LIB$1)) LIBS="-l$1 $LIBS" -], [$3]) -else - AC_MSG_RESULT(no) -ifelse([$4], , , [$4 -])dnl -fi -]) + $3], + [$4])dnl +AC_VAR_POPDEF([ac_var])dnl +])dnl AC_CHECK_LIB dnl AC_HAVE_LIBRARY(LIBRARY, [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND dnl [, OTHER-LIBRARIES]]]) +dnl FIXME: Remove AC_DEFUN(AC_HAVE_LIBRARY, [AC_OBSOLETE([$0], [; instead use AC_CHECK_LIB])dnl changequote(<<, >>)dnl @@ -2145,7 +2167,7 @@ LIBS="$ac_save_LIBS" AC_MSG_RESULT($AC_CV_NAME) if test "$AC_CV_NAME" = yes; then ifelse([$2], , -[AC_DEFINE([HAVE_LIB]AC_TR_DEFINE(AC_LIB_NAME)) +[AC_DEFINE([HAVE_LIB]AC_TR_CPP(AC_LIB_NAME)) LIBS="-l[]AC_LIB_NAME[] $LIBS" ], [$2]) ifelse([$3], , , [else @@ -2346,31 +2368,23 @@ dnl ### Checking for header files dnl AC_CHECK_HEADER(HEADER-FILE, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) AC_DEFUN(AC_CHECK_HEADER, -[dnl Do the transliteration at runtime so arg 1 can be a shell variable. -ac_safe=`echo "$1" | sed 'y%./+-%__p_%'` -AC_MSG_CHECKING([for $1]) -AC_CACHE_VAL(ac_cv_header_$ac_safe, -[AC_TRY_CPP([#include <$1>], eval "ac_cv_header_$ac_safe=yes", - eval "ac_cv_header_$ac_safe=no")])dnl -if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then - AC_MSG_RESULT(yes) - ifelse([$2], , :, [$2]) -else - AC_MSG_RESULT(no) -ifelse([$3], , , [$3 -])dnl -fi -]) - -dnl AC_CHECK_HEADERS(HEADER-FILE... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) +[AC_VAR_PUSHDEF([ac_var_header], [ac_cv_header_$1])dnl +AC_CACHE_CHECK([for $1], ac_var_header, +[AC_TRY_CPP([#include <$1>], +AC_VAR_SET(ac_var_header, yes), AC_VAR_SET(ac_var_header, no))]) +AC_SHELL_IFELSE(test AC_VAR_GET(ac_var_header) = yes, + [$2], [$3])dnl +AC_VAR_POPDEF([ac_var_header])dnl +])dnl AC_CHECK_HEADER + +dnl AC_CHECK_HEADERS(HEADER-FILE... +dnl [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) AC_DEFUN(AC_CHECK_HEADERS, -[for ac_hdr in $1 +[for ac_header in $1 do -AC_CHECK_HEADER($ac_hdr, -[changequote(, )dnl - ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` -changequote([, ])dnl - AC_DEFINE_UNQUOTED($ac_tr_hdr) $2], $3)dnl +AC_CHECK_HEADER($ac_header, + [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_$ac_header)) $2], + [$3])dnl done ]) @@ -2410,19 +2424,52 @@ dnl AC_CHECK_FILES(FILE... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) AC_DEFUN(AC_CHECK_FILES, [AC_FOREACH([AC_FILE_NAME], [$1], [AC_SPECIALIZE([AC_CHECK_FILE], AC_FILE_NAME, - [AC_DEFINE_UNQUOTED(AC_TR_DEFINE(HAVE_[]AC_FILE_NAME)) + [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_[]AC_FILE_NAME)) $2], [$3])])]) dnl [for ac_file in $1 dnl do dnl AC_CHECK_FILE($ac_file, -dnl [AC_DEFINE_UNQUOTED(AC_TR_DEFINE(HAVE_$ac_file)) $2], +dnl [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_$ac_file)) $2], dnl [$3])dnl dnl done dnl ]) +dnl ### Checking for declared symbols + + +dnl AC_CHECK_DECL(SYMBOL, [, INCLUDES, +dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +dnl -------------------------------------------------------- +dnl Check if SYMBOL (a variable or a function) is declared. +AC_DEFUN([AC_CHECK_DECL], +[AC_VAR_PUSHDEF([ac_var], [ac_cv_decl_$1])dnl +AC_CACHE_CHECK([whether $1 is declared], ac_var, +[AC_TRY_COMPILE($2, +[#ifndef $1 +char *p = (char *) $1; +#endif +], +AC_VAR_SET(ac_var, yes), AC_VAR_SET(ac_var, no))]) +AC_SHELL_IFELSE(test AC_VAR_GET(ac_var) = yes, + [$3], [$4])dnl +AC_VAR_POPDEF([ac_var])dnl +])dnl AC_CHECK_DECL + +dnl AC_CHECK_DECL(SYMBOL... , [, INCLUDES, +dnl [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]]) +AC_DEFUN(AC_CHECK_DECLS, +[for ac_sym in $1 +do +AC_CHECK_DECL($ac_sym, + [$2], + [AC_DEFINE_UNQUOTED(AC_TR_CPP(${ac_sym}_DECLARED)) $3], + [$4])dnl +done +]) + dnl ### Checking for library functions @@ -2457,27 +2504,17 @@ choke me f = $1; #endif ], AC_VAR_SET(ac_var, yes), AC_VAR_SET(ac_var, no))]) -dnl The ridiculous following `:' are coming from the fact that we -dnl need to have a body for these tests, otherwise some shells will -dnl die. FIXME: We should write a macro specifically to handle this kind -dnl of switches, since they are very common in Autoconf. -if test AC_VAR_GET(ac_var) = yes; then - : -ifset([$2], [ $2 -])dnl -else - : -ifset([$3], [ $3 -])dnl -fi -AC_VAR_POPDEF([ac_var])]) +AC_SHELL_IFELSE(test AC_VAR_GET(ac_var) = yes, + [$2], [$3])dnl +AC_VAR_POPDEF([ac_var])dnl +])dnl AC_CHECK_FUNC dnl AC_CHECK_FUNCS(FUNCTION... [, ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]]) AC_DEFUN(AC_CHECK_FUNCS, [for ac_func in $1 do AC_CHECK_FUNC($ac_func, - [AC_DEFINE_UNQUOTED(AC_TR_DEFINE(HAVE_$ac_func)) $2], + [AC_DEFINE_UNQUOTED(AC_TR_CPP(HAVE_$ac_func)) $2], [$3])dnl done ]) @@ -2507,7 +2544,7 @@ main() AC_VAR_SET(ac_var, `cat conftestval`), AC_VAR_SET(ac_var, 0), ifset([$2], AC_VAR_SET(ac_var, $2)))]) -AC_DEFINE_UNQUOTED(AC_TR_DEFINE(sizeof_$1), AC_VAR_GET(ac_var)) +AC_DEFINE_UNQUOTED(AC_TR_CPP(sizeof_$1), AC_VAR_GET(ac_var)) AC_VAR_POPDEF([ac_var])dnl ]) @@ -2516,6 +2553,9 @@ dnl ### Checking for typedefs dnl AC_CHECK_TYPE(TYPE, DEFAULT) +dnl FIXME: This is an extremely badly choosen name, since this +dnl macro actually performs an AC_REPLACE_TYPE. Some day we +dnl have to clean this up. AC_DEFUN(AC_CHECK_TYPE, [AC_REQUIRE([AC_HEADER_STDC])dnl AC_MSG_CHECKING(for $1) @@ -2679,7 +2719,7 @@ dnl tmp-file config-file', hence their update is atomic. : \${CONFIG_FILES="$1"} ifdef([AC_LIST_HEADER], [: \${CONFIG_HEADERS=AC_LIST_HEADER} ])dnl -rm -fr \`echo "\$CONFIG_FILES ifdef([AC_LIST_HEADER], \$CONFIG_HEADERS)" | sed "s/:@BKL@^ @BKR@*//g"\` +rm -fr \`echo "\$CONFIG_FILES" | sed "s/:@BKL@^ @BKR@*//g"\` trap 'rm -fr \$confstat*; exit 1' 1 2 15 EOF dnl The following three sections are in charge of their own here @@ -2822,8 +2862,8 @@ changequote(, )dnl changequote([, ])dnl if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. - dnl FIXME: should actually be mkinstalldirs (parents may have - dnl to be created too. +dnl FIXME: should actually be mkinstalldirs (parents may have +dnl to be created too. test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. @@ -3027,8 +3067,8 @@ cat >> $CONFIG_STATUS <<\EOF changequote([, ])dnl if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. - dnl FIXME: should actually be mkinstalldirs (parents may have - dnl to be created too. +dnl FIXME: should actually be mkinstalldirs (parents may have +dnl to be created too. test ! -d "$ac_dir" && mkdir "$ac_dir" fi rm -f $ac_file @@ -3070,8 +3110,8 @@ changequote(, )dnl changequote([, ])dnl if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then # The dest file is in a subdirectory. - dnl FIXME: should actually be mkinstalldirs (parents may have - dnl to be created too. +dnl FIXME: should actually be mkinstalldirs (parents may have +dnl to be created too. test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir" ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dest_dir_suffix. @@ -3097,7 +3137,7 @@ changequote([, ])dnl fi done EOF -]) +])dnl AC_OUTPUT_LINKS dnl This is a subroutine of AC_OUTPUT. dnl It is called after running config.status. @@ -3145,8 +3185,8 @@ ifdef([AC_PROVIDE_AC_PROG_INSTALL],[ ac_given_INSTALL="$INSTALL" case "$srcdir" in .) ;; *) - dnl FIXME: should actually be mkinstalldirs (parents may have - dnl to be created too. +dnl FIXME: should actually be mkinstalldirs (parents may have +dnl to be created too. if test -d ./$ac_config_dir || mkdir ./$ac_config_dir; then :; else AC_MSG_ERROR(cannot create `pwd`/$ac_config_dir) diff --git a/lib/autoconf/specific.m4 b/lib/autoconf/specific.m4 index 503bf87f..7ac816e8 100644 --- a/lib/autoconf/specific.m4 +++ b/lib/autoconf/specific.m4 @@ -167,7 +167,7 @@ dnl AC_PROG_F77 takes an optional first argument which, if specified, dnl must be a space separated list of Fortran 77 compilers to search dnl for. This just gives the user an opportunity to specify an dnl alternative search list for the Fortran 77 compiler. -dnl +dnl dnl AC_PROG_F77() AC_DEFUN(AC_PROG_F77, [AC_BEFORE([$0], [AC_PROG_CPP])dnl @@ -232,7 +232,7 @@ dnl Test whether the Fortran 77 compiler can compile and link a trivial dnl Fortran program. Also, test whether the Fortran 77 compiler is a dnl cross-compiler (which may realistically be the case if the Fortran dnl compiler is `g77'). -dnl +dnl dnl AC_PROG_F77_WORKS() AC_DEFUN(AC_PROG_F77_WORKS, [AC_MSG_CHECKING([whether the Fortran 77 compiler ($F77 $FFLAGS $LDFLAGS) works]) @@ -283,7 +283,7 @@ fi])]) dnl Test whether for Fortran 77 compiler is `g77' (the GNU Fortran 77 dnl Compiler). This test depends on whether the Fortran 77 compiler can dnl do CPP pre-processing. -dnl +dnl dnl AC_PROG_F77_GNU() AC_DEFUN(AC_PROG_F77_GNU, [AC_CACHE_CHECK(whether we are using GNU Fortran 77, ac_cv_prog_g77, @@ -322,7 +322,7 @@ rm -f conftest* dnl Test whether the Fortran 77 compiler can accept the `-g' option to dnl enable debugging. -dnl +dnl dnl AC_PROG_F77_G() AC_DEFUN(AC_PROG_F77_G, [AC_CACHE_CHECK(whether $F77 accepts -g, ac_cv_prog_f77_g, @@ -414,7 +414,7 @@ dnl dnl The usefulness of this macro is questionable, as I can't really see dnl why anyone would use it. The only reason I include it is for dnl completeness, since a similar test exists for the C compiler. -dnl +dnl dnl AC_PROG_F77_C_O AC_DEFUN(AC_PROG_F77_C_O, [AC_BEFORE([$0], [AC_PROG_F77])dnl @@ -1806,7 +1806,7 @@ fi AC_DEFUN(AC_FUNC_STRFTIME, [AC_CHECK_FUNC(strftime, [AC_DEFINE(HAVE_STRFTIME)], [# strftime is in -lintl on SCO UNIX. -AC_CHECK_LIB(intl, strftime, +AC_CHECK_LIB(intl, strftime, [AC_DEFINE(HAVE_STRFTIME) LIBS="-lintl $LIBS"])])]) @@ -1854,8 +1854,8 @@ extern select ($ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_sel ])dnl AC_CACHE_VAL ])dnl AC_CACHE_VAL if test "$ac_not_found" = yes; then - ac_cv_func_select_arg1=int - ac_cv_func_select_arg234='int *' + ac_cv_func_select_arg1=int + ac_cv_func_select_arg234='int *' ac_cv_func_select_arg5='struct timeval *' fi AC_MSG_RESULT([$ac_cv_func_select_arg1,$ac_cv_func_select_arg234,$ac_cv_func_select_arg5]) @@ -2988,7 +2988,10 @@ AC_EGREP_CPP(yes, [#ifdef _AIX yes #endif -], [AC_MSG_RESULT(yes); AC_DEFINE(_ALL_SOURCE)], AC_MSG_RESULT(no)) +], +[AC_MSG_RESULT(yes) +AC_DEFINE(_ALL_SOURCE)], +AC_MSG_RESULT(no)) ]) AC_DEFUN(AC_MINIX, |