2012-01-15 Jim Meyering getopt: refine syntax of previous change * lib/Autom4te/General.pm (getopt): Use a more concise test. 2011-01-15 Stefano Lattarini getopt: remove hack for special handling of "-" argument Older versions of Getopt::Long acted bogusly and died when they where configured with the 'bundling' flag and an argument '-' was seen on the command line they were parsing. That is no longer the case though, and has not been for quite a long time: the bug is no longer present in the 5.6.2 version of perl and the 2.25 version of Getopt::Long (and today, the latest versions of perl and Getopt::Long are respectively 5.14.2 and 2.38). The obsolete workaround for that Getopt::Long bug can thus be removed from our 'getopt' function. It is also worth noting that such a workaround was quite buggy and brittle itself; for example, a command like this: "autom4te --output -" would have caused the incorrect diagnostic: "autom4te: option `--output' requires an argument" Much worse, a command like this: "autom4te --language=autoconf --output - configure.ac" would have caused the standard input of autom4te to be processed and copied into the 'configure.ac' file, deleting its pre-existing content! Surely not what a user would have expected. After this change, a command like this: autom4te --language=autoconf --output - - out works as expected, processing the input from 'configure.ac' and writing it to the 'out' file. * lib/Autom4te/General.pm (use): Require perl version 5.6.2. (getopt): Remove the old workaround. 2012-01-15 Jim Meyering avoid new warning about undefined $ARGV[0] * lib/Autom4te/General.pm (getopt): Avoid warning induced by yesterday's change: $ARGV[0] may not be defined, e.g., when invoked via autoreconf. 2011-01-14 Stefano Lattarini getopt: fix diagnostic for missing mandatory option argument Before this change, an incorrect command line usage: "autom4te --output" triggered broken diagnostic like: "autom4te: unrecognized option `--output'" instead of the expected and correct: "autom4te: option `--output' requires an argument" * lib/Autom4te/General.pm (getopt): Give correct diagnostic in case of usage errors due to missing arguments for options for which they are mandatory. Code basically copied from automake's 'parse_arguments' private subroutine. 2012-01-05 Paul Eggert doc: mention Bash 2.03 bug with backslash-newline * doc/autoconf.texi (Invoking the Shell): New section. (Backslash-Newline-Empty): Rename from Backslash-Newline-Newline. Mention problem with Bash 2.03. doc: clarify sed buffer limit * doc/autoconf.texi (Limitations of Usual Tools): That 4000-byte limit applies to output and internal buffers, too. 2012-01-03 Paul Eggert maint: update copyright year All files changed to add 2012, via 'make update-copyright'. maint: resync upstream files * ChangeLog, GNUmakefile, build-aux/announce-gen: * build-aux/config.guess, build-aux/config.sub, build-aux/gendocs.sh: * build-aux/git-version-gen, build-aux/move-if-change: * build-aux/texinfo.tex, build-aux/update-copyright: * build-aux/vc-list-files, doc/fdl.texi, doc/gendocs_template: * doc/standards.texi, lib/Autom4te/XFile.pm, m4/autobuild.m4: Regenerated by 'make fetch'. 2012-01-02 Paul Eggert autoconf: remove " -link" and ")" from xlf output * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Also remove " -link" and trailing ")" from xlf output. Problem and fix reported by Thomas Jahns in . 2011-12-26 Stefano Lattarini configure: will re-execute with $CONFIG_SHELL, if it's set * lib/m4sugar/general.m4 (_AS_DETECT_BETTER_SHELL): Define the macro `_AS_FORCE_REEXEC_WITH_CONFIG_SHELL' to `yes', so that the code in `_AS_DETECT_BETTER_SHELL' will cause autoconf-generated configure scripts to always re-execute themselves with $CONFIG_SHELL, if it's set in the environment. * doc/autoconf.texi (config.status Invocation): Update. * doc/install.texi (Defining Variables): Likewise. * NEWS: Likewise. * tests/m4sh.at: Add tests for the new semantics in ... (Configure re-execs self with CONFIG_SHELL): ... this new test group. 2011-12-26 Stefano Lattarini m4sh: allow forced re-execution with $CONFIG_SHELL, if it's set * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): If the m4sh client has defined the macro `_AS_FORCE_REEXEC_WITH_CONFIG_SHELL' to "yes", emit code to always re-execute the current script with $CONFIG_SHELL, if that's set. * tests/m4sh.at: Add tests for the new and old semantics, in ... (Re-exec with CONFIG_SHELL, Forced re-exec with CONFIG_SHELL): ... these new test groups. 2011-12-26 Stefano Lattarini m4sh: refactor _AS_DETECT_BETTER_SHELL, for future changes * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Move code to handle the re-execution of the shell ... (_AS_REEXEC_WITH_SHELL): ... in this new macro. 2011-12-24 Stefano Lattarini docs: issue with shell functions and here-documents on Solaris * doc/autoconf.texi (Here-Documents): Using a command substitution in a here-documents being fed to a shell function is unportable. Problem revealed by the automake testsuite: 2011-12-26 Paul Eggert AS_LN_S: fall back on 'cp -pR' (not 'cp -p') if 'ln -s' fails This works better for symlinks to directories. Problem reported by Eli Zaretskii via Werner Lemberg in . * NEWS: * doc/autoconf.texi (Particular Programs): Document this. * lib/m4sugar/m4sh.m4 (_AS_LN_S_PREPARE): Implement this. 2011-12-07 Paul Eggert AC_LANG_BOOL_COMPILE_TRY(C): port to g++ with warnings * lib/autoconf/c.m4 (AC_LANG_BOOL_COMPILE_TRY(C)): Use the array as well as setting it, to pacify g++. Reported by Werner Lemberg in . 2011-12-05 Paul Eggert doc: document GNU make's \# * doc/autoconf.texi (Comments in Make Macros): Also mention \# in the right hand side of a macro, as an unportable usage. 2011-11-11 Eric Blake doc: tweak previous commit * doc/autoconf.texi (Limitations of Builtins) : Give concrete example of offender, and drop redundant text. Reported by Stefano Lattarini. doc: mention export portability hint * doc/autoconf.texi (Limitations of Builtins) : Document export limitation. Suggested by Bruno Haible. 2011-10-21 Stefano Lattarini fortran: define $GFC to "yes" if $FC is a GNU compiler * lib/autoconf/fortran.m4 (AC_PROG_FC): Define `$GFC' to "yes" if the detected fortran compiler is a GNU compiler, define it to the empty string otherwise. This is mostly for consistency for what is done for the C, C++ and Fortran 77 compilers. * doc/automake.texi: Update. 2011-10-13 Eric Blake admin: mention recent copyright assignments * AUTHORS: Update list. 2011-10-06 Stefano Lattarini docs: we prefer US English spelling over British one * doc/autoconf.texi (Parallel Make): Prefer `behavior' over `behaviour' in a couple of places. 2011-10-06 Stefano Lattarini docs: some fixlets in section about shell signal handling * doc/autoconf.texi (Signal handling): Rename ... (Signal Handling): ... to this, for consistency with other node names. Fix some typos and grammaros. Add more URL references in comments. 2011-10-06 Stefano Lattarini docs: korn shells can have $? > 256 for signal-terminated children Some Korn shells, when a child process dies due to signal number n, can leave in $? an exit status of 256+n, instead of the more common 128+n. See also Austin Group issue 0000051: * doc/autoconf.texi (Signal handling): Document the described Korn Shell behaviour, and some of its possible shortcomings. Suggestion by Eric Blake. 2011-09-26 Eric Blake docs: relax documentation license by dropping cover text * doc/autoconf.texi (copying): Drop front- and back-cover texts. * NEWS: Document this. Reported by Brian Gough. 2011-09-13 Stefano Lattarini docs: signal-related bugs and incompatibilities for the shells Motivated by recent discussion on the bug-autoconf list, as well as work in the automake testsuite: * doc/autoconf.texi (Signal handling): New paragraph. (@menu at "Portable Shell", @detailmenu): Update. 2011-09-19 Eric Blake docs: refer to correct AC_RUN_IFELSE parameter name * doc/autoconf.texi (Runtime) : Fix wording. Reported by Reuben Thomas. 2011-09-16 Eric Blake docs: fix typo in shell example * doc/autoconf.texi (Shell Substitutions): Fix typo. * THANKS: Update. Reported by Nick Bowler. 2011-09-14 Stefano Lattarini docs: more details about make VPATH rewriting woes * doc/autoconf.texi (Automatic Rule Rewriting): Solaris make VPATH rewriting applies to any whitespace-separated word in a rule, so it might apply also to shell variables, functions and keywords (and automake has already tripped on this once); document this, with an example. Since we are at it, do some minor reformatting of existing text. 2011-09-13 Stefano Lattarini docs: document Solaris 10 /bin/ksh and XPG4 sh 'unset' bug * doc/autoconf.texi (Limitations of Builtins): Solaris 10 ksh and XPG4 sh also fails upon `unset' of a variable that is not set. 2011-07-24 Jim Meyering docs: improve the prose describing _AC_CHECK_TYPE_NEW_BODY * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW_BODY): Improve prose. 2011-08-31 Paul Eggert AC_C_CONST: don't reject gcc -Werror -Wall * lib/autoconf/c.m4 (AC_C_CONST): Don't reject gcc when it is used with -Werror -Wall during configuring. It's unwise to use GCC that way, but apparently enough people do it nowadays that it's an issue. These days nobody uses the old compilers that the old tests reject, so we can't test this fix against them, but it's more important to work with modern GCC (even when misused) than to work with no-longer-used compilers. Problem reported by Shevek in and raised again by Dan Kegel in . 2011-08-16 Stefano Lattarini docs: other issues with parallel BSD make Motivated by automake bug#9245: and FreeBSD PR bin/159730: * doc/autoconf.texi (Parallel Make): Document other BSD make incompatibilities. Reorganize the existing related documentation accordingly. 2011-08-08 Stefano Lattarini docs: fix minor typos * doc/autoconf.texi (Shell Functions): Fix a couple of minor typos. 2011-08-04 Stefano Lattarini docs: another Solaris sh bug with redirected `:' * doc/autoconf.texi (File Descriptors): Solaris 10 /bin/sh "optimizes" away redirected `:' commands in a shell function after the first call. 2011-07-31 Paul Eggert docs: modernize treatment of ns-resolution timestamps * doc/autoconf.texi (Limitations of Usual Tools): ns-resolution time stamps are now routinely supported by coreutils 'cp' etc. 2011-07-30 Paul Eggert * lib/autoconf/specific.m4 (AC_SYS_LARGEFILE): Port to Mac OS X 10.5 by defining _DARWIN_USE_64_BIT_INODE. Imported from gnulib. 2011-07-22 Paul Eggert * lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS): Quote cleanly. This is imported from gnulib. gnulib also has an HP-UX 11.11 fix, but let's see if we can do that another way, as it's pretty heavyweight. 2011-07-22 Eric Blake docs: fix minor doc problems * doc/autoconf.texi (Why Not Imake): Fix grammar. (autoreconf Invocation): Fix short option for --version. * THANKS: Update. Reported by Christophe Jarry and Russ Allbery. 2011-07-12 Benoit Sigoure (tiny change) docs: fix typo in AC_PATH_PROG * doc/autoconf.texi (Erlang Compiler and Interpreter): s/AC_PROG_PATH/AC_PATH_PROG/. * THANKS: Update. 2011-06-30 Paul Eggert * tests/semantics.at (AC_REPLACE_FUNCS): Test for just-fixed bug. 2011-06-30 Timo Kamph (trivial change) * lib/autoconf/functions.m4 (_AC_REPLACE_FUNCS): Fix tr-cpp problem. See http://lists.gnu.org/archive/html/bug-autoconf/2011-06/msg00058.html 2011-06-19 Paul Eggert * lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA): Be even smarter. GCC was too smart for the previous patch. See . 2011-06-18 Paul Eggert * lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA): Try to outsmart GCC. Problem with stack-detection code reported by Andy Wingo in . This fix is imported from gnulib's c-stack module. * doc/autoconf.texi (File Descriptors): Fix texinfo typo. 2011-06-14 Eric Blake doc: mention more about ksh cloexec behavior * doc/autoconf.texi (File Descriptors): Clarify that only the exec builtin suffers from cloexec issues. doc: update quoting example * doc/autoconf.texi (Autoconf Language): Add AC_LANG_SOURCE use. * THANKS: Update. Reported by Křištof Želechovski. 2011-05-05 Eric Blake doc: document dash bug with positional parameters * doc/autoconf.texi (Shell Substitutions) <${10}>: Document a pitfall with $10. 2011-04-27 Eric Blake docs: document NetBSD join bug * doc/autoconf.texi (Limitations of Usual Tools) : Mention bug in -a parsing. Reported by J.T. Conklin. 2011-04-13 Eric Blake maint: reflect recent copyright assignments * AUTHORS: Update. 2011-04-05 Eric Blake maint: reflect recent copyright assignments * AUTHORS: Update. 2011-04-02 Ralf Wildenhues New macro AC_FC_PP_DEFINE for the preprocessor define flag. * lib/autoconf/fortran.m4 (AC_FC_PP_DEFINE): New macro. * lib/autom4te.in (Automake-preselections): Preselect it. * doc/autoconf.texi (Fortran Compiler): Document it. * tests/local.at (_AT_CHECK_ENV): Do not complain about FCFLAGS_F nor FC_DEFINE. * NEWS: Update. New macro AC_FC_PP_SRCEXT for preprocessed file extensions. * lib/autoconf/fortran.m4 (AC_FC_PP_SRCEXT): New macro. * lib/autom4te.in (Automake-preselections): Preselect it. * doc/autoconf.texi (Fortran Compiler): Document it, rewriting the documentation for AC_FC_SRCEXT along the way. * tests/fortran.at (AC_FC_PP_SRCEXT usage): New test. * tests/mktests.sh: Exclude the macro from default testing. * NEWS: Update. New macro AC_FC_MODULE_OUTPUT_FLAG: module output directory. * lib/autoconf/fortran.m4 (AC_FC_MODULE_OUTPUT_FLAG): New macro. * doc/autoconf.texi (Fortran Compiler): Document it. * tests/local.at (_AT_CHECK_ENV): Do not complain about FC_MODOUT. * NEWS: Update. 2011-04-02 Luc Maisonobe Julian C. Cummings Alexander Pletzer Ralf Wildenhues New macro AC_FC_MODULE_FLAG: Fortran 90 module include path. * lib/autoconf/fortran.m4 (AC_FC_MODULE_FLAG): New macro, adjusted and rewritten from the AX_F90_MODULE_FLAG macro from the Autoconf Macro Archive by Luc Maisonobe, Julian C. Cummings, and Alexander Pletzer. * doc/autoconf.texi (Fortran Compiler): Document it. * tests/fortran.at (AC_FC_MODULE_FLAG): New test. * tests/local.at (AT_CHECK_ENV): Do not complain about FC_MODINC setting. * NEWS, THANKS: Update. 2011-04-02 Luc Maisonobe Alexander Pletzer Ralf Wildenhues New macro AC_FC_MODULE_EXTENSION: Fortran 90 module extension. * lib/autoconf/fortran.m4 (AC_FC_MODULE_EXTENSION): New macro, rewritten from the AX_F90_MODULE_EXTENSION macro from the Autoconf Macro Archive by Luc Maisonobe and Alexander Pletzer. * doc/autoconf.texi (Fortran Compiler): Document it. * tests/local.at (_AT_CHECK_ENV): Do not complain about FC_MODEXT setting. * NEWS, THANKS: Update. 2011-03-26 Jim Meyering README-hacking: fix typo * README-hacking: s/just build/just built/. 2011-03-08 Colin Watson (tiny change) Ralf Wildenhues * doc/autoconf.texi (Particular Functions): Document AC_FUNC_FORK cache variables. * THANKS: Update. 2011-03-08 Ralf Wildenhues docs: BSD and Solaris make trailing space macro issue. * doc/autoconf.texi (Trailing whitespace in Make Macros): Document issue with trailing whitespace in macro settings. 2011-03-05 Ralf Wildenhues Fix Cray Fortran flag for AC_FC_IMPLICIT_NONE. * lib/autoconf/fortran.m4 (_AC_FC_IMPLICIT_NONE): Use -e I not -d i, for Cray ftn. * THANKS: Update. Thanks to Tobias Burnus for feedback and testing. docs: document several Fortran and OpenMP cache variables. * doc/autoconf.texi (Generic Compiler Characteristics) [AC_OPENMP]: Document associated cache variables. (Fortran Compiler) [AC_PROG_F77, AC_PROG_FC, AC_PROG_F77_C_O] [AC_PROG_FC_C_O, AC_F77_LIBRARY_LDFLAGS, AC_FC_LIBRARY_LDFLAGS] [AC_F77_DUMMY_MAIN, AC_FC_DUMMY_MAIN, AC_F77_MAIN, AC_FC_MAIN] [AC_F77_WRAPPERS, AC_FC_WRAPPERS, AC_FC_FREEFORM] [AC_FC_FIXEDFORM, AC_FC_LINE_LENGTH, AC_FC_CHECK_BOUNDS] [AC_F77_IMPLICIT_NONE, AC_FC_IMPLICIT_NONE]: Document and/or index the cache variables used by these macros. 2011-03-05 Ralf Wildenhues and Eric Blake build: exclude M4 with buggy strstr * m4/m4.m4 (AC_PROG_GNU_M4): When searching PATH, do not accept an m4 that has either the gnulib strstr bug, or the glibc/gnulib strstr bug. 2011-03-05 Ralf Wildenhues docs: fix description of AC_F77_IMPLICIT_NONE. * doc/autoconf.texi (Fortran Compiler) [AC_F77_IMPLICIT_NONE]: This macro modifies FFLAGS, not FCFLAGS. AC_FC_SRCEXT: allow gfortran to compile .f77 files. * lib/autoconf/fortran.m4 (AC_FC_SRCEXT): Try '-x f77' for .f77 files, '-x f95' for others, for gfortran. New macros AC_{F77,FC}_IMPLICIT_NONE to disable Fortran implicit int. * lib/autoconf/fortran.m4 (_AC_FC_IMPLICIT_NONE): New internal macro. (AC_F77_IMPLICIT_NONE, AC_FC_IMPLICIT_NONE): New macros. * doc/autoconf.texi (Fortran Compiler): Document them. * NEWS: Update. New macro AC_FC_CHECK_BOUNDS to enable Fortran array bounds checking. * lib/autoconf/fortran.m4 (AC_FC_CHECK_BOUNDS): New macro. * doc/autoconf.texi (Fortran Compiler): Document it. * tests/fortran.at (AC_FC_CHECK_BOUNDS): New test. * NEWS: Update. Prompted by report from Eve-Marie Devaliere. 2011-03-04 Ralf Wildenhues Update known compiler switches for Fortran and OpenMP macros. * lib/autoconf/c.m4 (AC_OPENMP): Update for Lahey on GNU/Linux. * lib/autoconf/fortran.m4 (_AC_F95_FC): Also try nagfor. (_AC_PROG_FC_V): Update documentation for Lahey switches. (AC_FC_FREEFORM, AC_FC_FIXEDFORM): Add flags for Absoft, Lahey on GNU/Linux, document NAGWare, g95, and f2c switches. (AC_FC_LINE_LENGTH): Document NAGware switch. Update Absoft, Lahey, NAGWare, Open Watcom, g95, and f2c switches. tests: accept f2c/fort77 as GNU Fortran 77. * tests/fortran.at (GNU Fortran 77): Try to detect f2c wrapper fort77 as GNU as well: it defines __GNUC__ too. Fixes testsuite failure when f77 is fort77. Report from Giulio Paci. docs: macro synopses document default failure cases. * doc/autoconf.texi (Fortran Compiler, Obsolete Macros): Document failure case for AC_F77_DUMMY_MAIN, AC_FC_DUMMY_MAIN, AC_FC_SRCEXT, AC_FC_FREEFORM, AC_FC_FIXEDFORM, AC_FC_LINE_LENGTH, and AC_TRY_RUN macros. Reword Fortran macro documentation. * doc/autoconf.texi (Fortran Compiler): Improve wording for AC_FC_FREEFORM, AC_FC_FIXEDFORM, and AC_FC_LINE_LENGTH macros. 2011-02-27 Ralf Wildenhues config.status: do not quote $SHELL when rerunning configure. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Allow $SHELL to contain more than one word, when rerunning configure, for debugging purposes like CONFIG_SHELL='/bin/sh -x'. 2011-02-21 Ian Lance Taylor * lib/autoconf/go.m4: New file. * lib/autoconf/autoconf.m4: Include autoconf/go.m4. * lib/autoconf/Makefile.am (dist_autoconflib_DATA): Add go.m4. * lib/freeze.mk (autoconf_m4f_dependencies): Add $(src_libdir)/autoconf/go.m4. * doc/autoconf.texi: Rebuild menus. (Preset Output Variables): Mention Go. Document GOFLAGS. (Libraries): Mention Go. (Go Compiler): New subsection. (Language Choice): Mention Go. (Generating Sources): Likewise. (Running the Preprocessor): Likewise. * tests/go.at: New file. * tests/suite.at: Include go.at and acgo.at. * tests/local.at (_AT_CHECK_ENV): Add GOC and GOFLAGS. * tests/Makefile.am (TESTSUITE_GENERATED_AT): Add $(srcdir)/acgo.at. (TESTSUITE_HAND_AT): Add go.at. (AUTOCONF_FILES): Add $(autoconfdir)/go.m4. * NEWS: Update. 2011-02-20 Christian Rössel (tiny change) Markus Geimer (tiny change) Fix OpenMP flag detection for various Fortran compilers. * lib/autoconf/c.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$' OpenMP-conditional compilation construct, to force compile failure with missing OpenMP flag. (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers. * THANKS: Update. 2011-02-18 Eric Blake docs: document fourth argument of AC_RUN_IFELSE better * doc/autoconf.texi (Runtime) : Make synopsis show that the default is configure failure. Rework the text about proper use of the fourth argument. long long: don't abort configure when cross-compiling * lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Provide no-op cross-compiling fallback; fixing regression from 2011-02-16. 2011-02-16 Patrick Welche (tiny change) docs: fix a typo * doc/autoconf.texi (Generic Structures): Fix typo. 2011-02-16 Matt Kraai (tiny change) docs: fix some typos * doc/autoconf.texi (testsuite Scripts): Fix typos. * THANKS: Update. 2011-02-16 Paul Eggert autoconf: tune long long tests, particularly for c99 This change is imported from gnulib. * lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling or running anything if c99, or if unsigned long long int does not work. In either case, we know the answer without further tests. Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice. Instead, compile it at most once, and use its results for both long long int and unsigned long long int. This is more likely to be efficient in the common case where the program wants to check for both long long int and unsigned long long int. (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99, since the answer is already known. 2011-02-15 Eric Blake doc: fix debug advice typo * doc/autoconf.texi (Debugging): Put shell option in right place. Reported by Reuben Thomas. 2011-02-12 Giulio Paci (tiny change) Ralf Wildenhues Fix detection of link flags for fort77 on GNU/Linux. * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Properly detect the fort77 (f2c wrapper) compiler verbose linking output flag. Fixes also AC_F77_LIBRARY_LDFLAGS and AC_F77_DUMMY_MAIN. * THANKS: Update. 2011-02-07 Ralf Wildenhues * doc/autoconf.texi: Rebuild menus using emacs ^C ^U ^A. 2011-02-04 Paul Eggert autoconf: new macro AC_HEADER_CHECK_STDBOOL * NEWS: Document this. * doc/autoconf.texi (Particular Headers): Likewise. In example, don't assume a 'system.h' exists. * lib/autoconf/headers.m4 (AC_CHECK_HEADER_STDBOOL): New macro. Use it with AN_IDENTIFIER, since it's less heavyweight. Reindent to match gnulib, since that's a bit nicer. (AC_HEADER_STDBOOL): Reimplement in terms of it. 2011-01-29 Jim Warhol (tiny change) * doc/autoconf.texi (Introduction): Fix typo. * THANKS: Update. 2011-01-27 Stefano Lattarini docs: another parallel make issue * doc/autoconf.texi (Parallel Make): Document that some make implementations, when run in parallel mode, connect stdout and stderr of child processes to pipes or temporary files, and might re-route stderr of spawned processes to stout. Also document that FreeBSD make in parallel mode reuses the same shell for multiple commands within one recipe (like NetBSD make does). 2011-01-25 Ralf Wildenhues Eric Blake docs: advise against HP-UX make due to time stamp semantics. * doc/autoconf.texi (Timestamps and Make): Document HP-UX 11.31 make issue with targets having the same time stamps as their prerequisites. * doc/install.texi (Particular Systems): Warn against using HP-UX make. 2011-01-25 Eric Blake maint: reflect recent copyright assignments * AUTHORS: Update. 2011-01-23 Ralf Wildenhues docs: new section about whitespace trimmed from make command-lines. * doc/autoconf.texi (Command-line Macros and whitespace): New section, document trimming of whitespace from macros set on the command line and from the environment. 2011-01-22 Ralf Wildenhues docs: document how to use comment characters in rules. * doc/autoconf.texi (Comments in Make Rules): Explain how to produce a `#' in a rule. (Comments in Make Macros): Add cross reference. Suggestion from Eric Blake. docs: new sections about comments and whitespace in make macros. * doc/autoconf.texi (Top, Portable Make): Adjust menus. (Comments in Make Macros, Trailing whitespace in Make Macros): New sections. Suggestion by Stefano Lattarini. docs: do not use AIX 5.3 cp -R. * doc/autoconf.texi (Limitations of Usual Tools): Document one instance of the cp -R bug on AIX 5.3. This seems to have been fixed in 6.1 and newer releases. docs: update entry about unset. * doc/autoconf.texi (Limitations of Builtins): NetBSD sh unset also fails upon `unset' of a variable that is not set. Bash 2.01 could also dump core over `unset MAILPATH'. Suggestion by Eric Blake. 2011-01-21 Ralf Wildenhues Fix LEXLIB and YYTEXT_POINTER with IRIX 6.5 flex 2.5.4. * lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Overquote nontrivial yyless argument, to compensate for underquoted macro definition in IRIX 6.5 flex 2.5.4 leading to compile failure due to incompatible operands. Fixes Automake silent-lex-generic.test failure. 2011-01-17 Ralf Wildenhues docs: Tru64/OSF sh treats read as special builtin * doc/autoconf.texi (Limitations of Builtins): read may exit upon unreadable or non-existent file with Tru64/OSF 5.1 sh. 2011-01-12 Eric Blake docs: fix description of m4_ifval * doc/autoconf.texi (Conditional constructs) : Use correct argument order. * THANKS: Update. Reported by Mostafa. 2011-01-10 Ralf Wildenhues Avoid reference to $CYGWIN in Fortran macros. * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Require AC_CANONICAL_HOST. Replace test for $CYGWIN with $host_s test. * tests/fortran.at (AC_F77_DUMMY_MAIN usage) (AC_FC_DUMMY_MAIN usage, AC_F77_MAIN usage, AC_FC_MAIN usage): Use AT_CONFIGURE_AC and simplify accordingly, so auxiliary scripts are copied into the test directories. (AC_F77_FUNC usage, AC_FC_FUNC usage): Likewise. Adjust to autoheader being used now. docs: link to Gnulib configmake documentation. * doc/autoconf.texi (Defining Directories): Use proper crossref, now that the Gnulib manual has a configmake section. Thanks to Karl Berry. 2011-01-09 Ralf Wildenhues docs: link to 'set -e' shell behavior overview. * doc/autoconf.texi (Limitations of Builtins): Add link to Sven Mascheck's 'set -e' page. Replace broken Opengroup link. Suggestion by Eric Blake. docs: mention configmake module for defining directories. * doc/autoconf.texi (Defining Directories): Mention configmake gnulib module. Suggestion by Karl Berry and Eric Blake. 2011-01-04 Eric Blake doc: improve install.texi texinfo markup * doc/install.texi: Don't force @firstparagraphindent on all clients; instead, add it only when building INSTALL. Compress copyright. * Makefile.am (INSTALL): Match gnulib's formatting. Reported by Karl Berry. maint: update copyright year All files changed to add 2011, via 'make update-copyright'. maint: resync upstream files * GNUmakefile: Regenerated by 'make fetch'. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * build-aux/gendocs.sh: Likewise. * build-aux/git-version-gen: Likewise. * build-aux/texinfo.tex: Likewise. * doc/make-stds.texi: Likewise. * lib/Autom4te/Channels.pm: Likewise. * lib/Autom4te/Configure_ac.pm: Likewise. * lib/Autom4te/FileUtils.pm: Likewise. * lib/Autom4te/Struct.pm: Likewise. * lib/Autom4te/XFile.pm: Likewise. maint: document use of copyright ranges * README: Copy coreutils wording for allowing copyright year ranges. * cfg.mk (UPDATE_COPYRIGHT_USE_INTERVALS): Now that GNU Coding Standards permit it, prefer shorthand copyright. * .x-update-copyright: Exempt an imported file. 2011-01-03 Karl Berry Avoid using @acronym in install.texi. * doc/install.texi (Basic Installation, Multiple Architectures) (Installation Names): Write `GNU' instead of `@acronym{GNU}'. 2010-12-27 Paul Eggert autoconf: Use -D_STDC_C99=, not -xc99=all, with Solaris cc * lib/autoconf/c.m4 (_AC_PROG_CC_C99): Use -D_STDC_C99= rather than -xc99=all to convince Solaris Studio cc to compile c99 programs. 2010-11-26 Paul Eggert autotest: fix file descriptor leak * lib/autotest/general.m4 (_AT_CHECK): Close AS_MESSAGE_LOG_FD when running the test. Problem reported by Luke Mewburn in . 2010-11-20 Paul Eggert autoconf: don't assume sys/stat.h and sys/types.h when testing C89 Problem reported by Patrick Pelissier in . * lib/autoconf/c.m4 (_AC_PROG_CC_C89): Don't include sys/types.h and sys/stat.h. Instead, define a dummy struct stat. C89 doesn't guarantee sys/types.h and sys/stat.h. 2010-11-10 Reuben Thomas (tiny change) docs: avoid first person, and credit history to David MacKenzie * doc/autoconf.texi (History): Add credit. 2010-10-26 Paul Eggert docs: Posix now says "((cat))" isn't portable * doc/autoconf.texi (Parenthesis): Update documentation to reflect what Posix 1003.1-2008 says about "((". 2010-10-20 Eric Blake docs: document dash bug in <> * doc/autoconf.texi (File Descriptors): Dash 0.5.5 truncates on <>; at least this was fixed in dash 0.5.6. 2010-10-12 Ralf Wildenhues tests: avoid AC_CACHE_CHECK test failure with dash. * tests/base.at (AC_CACHE_CHECK): Normalize configure exit status in presence of syntax error in sourced site file. Do not error out if configure is aborted at this point. Fixes testsuite failure with dash 0.5.5.1. 2010-10-08 Eric Blake AS_LITERAL_IF: Treat raw = as literal again. * lib/m4sugar/m4sh.m4 (_AS_LITERAL_IF): Treat = like +. * tests/m4sh.at (AS@&t@_TR_SH and AS@&t@_TR_CPP) (AS@&t@_LITERAL_IF): Expand tests. * NEWS: Document the fix. Reported via Ben Pfaff; originally http://bugs.debian.org/593838 2010-09-24 Joshua G. Hale (tiny change) docs: fix typo in AC_CONFIG_FILES example code. * doc/autoconf.texi (Configuration Actions): Fix typo. * THANKS: Update. 2010-10-05 Eric Blake doc: suggest a few more workarounds * doc/autoconf.texi (Limitations of Usual Tools) : Mention that 'redundant' brackets can work around Solaris bug. (File Descriptors): Mention that {} works as well as () for silencing file-not-found warnings. * THANKS: Update. Suggested by Pádraig Brady. 2010-09-24 Ralf Wildenhues tests: normalize trailing spaces in gcc -E -dD output. * tests/compile.at (AC_LANG_SOURCE example) (AC_LANG_PROGRAM example): Remove trailing spaces before comparing with expected output. Fixes testsuite failure with GCC 2.95.3 on Haiku. Report by Scott McCreary. 2010-09-22 Eric Blake Release Version 2.68. * NEWS: Mention the release. 2010-09-22 Ralf Wildenhues autom4te: add traces for likely future Automake macros * lib/autom4te.in (Automake-preselections): Trace AM_MAKEFILE_INCLUDE, AM_NLS, AM_POT_TOOLS, AM_PATH_GUILE, AM_PROG_MOC, AM_XGETTEXT_OPTION, _AM_MAKEFILE_INCLUDE. 2010-09-22 Eric Blake AC_REPLACE_FUNCS: allow split lines again * lib/autoconf/functions.m4 (AC_REPLACE_FUNCS): Flatten newlines and move guts... (_AC_REPLACE_FUNCS): ...to new helper. * tests/semantics.at (AC_REPLACE_FUNCS): Enhance test. Reported by Ralf Wildenhues. 2010-09-21 Eric Blake AC_LIBOBJ: optimize internal use * lib/autoconf/general.m4 (_AC_LIBOBJ): Move literal check... (AC_LIBOBJ): ...into callers. * lib/autoconf/functions.m4 (_AC_REPLACE_FUNC): Likewise, thus avoiding a second call to AS_LITERAL_IF. AC_REPLACE_FUNCS: restore shell loop for non-literal * lib/autoconf/functions.m4 (AC_REPLACE_FUNCS): Handle non-literals, which was lost in 2010-02-26 optimization. * tests/semantics.at (AC_REPLACE_FUNCS): Enhance test. * NEWS: Document the fix. * THANKS: Update. Reported by Wiseman Jun. maint: resync upstream files * build-aux/gendocs.sh: Resync via 'make fetch'. tests: XFAIL in the face of a MacOS X bug * doc/autoconf.texi (Limitations of Usual Tools) : Mention the issue. * tests/torture.at (Substitute and define special characters): Detect if sed cannot process 8-bit bytes in the C locale. * THANKS: Update. Reported by Rochan. 2010-09-20 Eric Blake autom4te: don't filter out portions of location traces * bin/autom4te.in (_m4_warn): Pass warnings through the channels machinery as a single chunk, to avoid partial filtering. * lib/m4sugar/m4sugar.m4 (_m4_warn): Document the conventions. * tests/m4sugar.at (m4@&t@_warn): Enhance test to catch this. Reported by Bruno Haible. 2010-09-17 Eric Blake build: support autobuild * cfg.mk (gnulib-update): Add autobuild.m4. * configure.ac (AB_INIT): Output autobuild header. * m4/autobuild.m4: New file, from gnulib. * build-aux/config.guess: Resync from upstream. * build-aux/config.sub: Likewise. * build-aux/texinfo.tex: Likewise. * doc/fdl.texi: Likewise. * doc/gnu-oids.texi: Likewise. * doc/make-stds.texi: Likewise. * doc/standards.texi: Likewise. * build-aux/gendocs.sh: Likewise. config.status: avoid corrupting $ac_t * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS_PREPARE): Use a different name, so as not to clash with pre-2.50 usage of "$ac_t" as a tab character. Reported by Sam Steingold. 2010-09-17 Bruno Haible docs: mark several macros obsolete * doc/autoconf.texi (Particular Functions): Mark AC_FUNC_ERROR_AT_LINE, AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, AC_FUNC_MKTIME, AC_FUNC_STRTOD as obsolete and refer to Gnulib. * NEWS: Mention the change. AC_FUNC_STRNLEN: more realistic cross-compilation guess * lib/autoconf/functions.m4 (AC_FUNC_STRNLEN): Require AC_CANONICAL_HOST. When cross-compiling, guess it works everywhere except on AIX. 2010-09-16 Eric Blake m4sh: fix today's AS_BOX regression * lib/m4sugar/m4sh.m4 (_AS_BOX_LITERAL): Fix underquotation. Reported by Stefano Lattarini. fortran: avoid misparsed FCLIBS from Fortran compiler * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Also skip 'Configured by:' lines from gfortran. * NEWS: Mention it. Reported by Stefano Lattarini. 2010-09-16 Ralf Wildenhues Add autom4te trace for AM_PROG_AR. * lib/autom4te.in (Automake-preselections): Trace AM_PROG_AR. 2010-09-16 Eric Blake m4sugar: fix regression in AC_MSG_ERROR expansion * lib/m4sugar/m4sugar.m4 (m4_defun_init): Avoid macro concatenation on subsequent expansions * tests/m4sh.at (AS_WARN and AS_ERROR): New test. * tests/m4sugar.at (m4@&t@_require: one-shot initialization): Enhance test. * NEWS: Document the fix. * THANKS: Update. Reported by Adrian Bunk and and Nishio Futoshi. 2010-09-13 Stefano Lattarini tests: simplify grepping of 'automake --version'. * tests/tools.at (autom4te preselections): Remove minor redundancies in regular expressions used to grep the output 'automake --version' for test skipping. * tests/torture.at (Configuring subdirectories) (Unusual Automake input files): Likewise. 2010-09-13 Eric Blake autotest: work around zsh bug * lib/autotest/general.m4 (AT_DATA): Special case an empty data file, since zsh botches empty here-docs. * doc/autoconf.texi (Writing Testsuites) : Document that this allows empty contents. * tests/autotest.at (AT_DATA): New test. Reported by Ralf Wildenhues. docs: mention gnulib portability docs * doc/autoconf.texi (Function Portability, Header Portability): Add external links to gnulib. 2010-09-13 Ralf Wildenhues Gary V. Vaughan docs: document zsh specialty with empty here-documents. * doc/autoconf.texi (Here-Documents): zsh 4.3.10 adds a newline to empty here-docs. 2010-09-13 Ralf Wildenhues docs: document zsh special array $options. * doc/autoconf.texi (Special Shell Variables): Add entry for `options'. doc: minor updates. * doc/autoconf.texi (Generic Compiler Characteristics): Use second argument of @uref consistently, for nicer OpenMP link. (Polymorphic Variables): Restore font-lock. (Debugging): Add item for bashdb. Document and test AT_CHECK args shell execution environment. * doc/autoconf.texi (Writing Testsuites): Document that COMMANDS is run in a subshell, but RUN-IF-FAIL and RUN-IF-PASS are not. * tests/autotest.at (AT@&t@_CHECK execution environment): New test. * NEWS: Update. autotest: document and test at_status semantics. * doc/autoconf.texi (Writing Testsuites): Document $at_status. * tests/autotest.at (at_status): New test. * NEWS: Update. doc: index entries for non-environment, non-output variables. * doc/autoconf.texi: Clarify the meaning of the various variable indices. Merge variable index `vr' into concept index using syncodeindex. (Configuration Actions, Generic Programs, Generic Functions) (Writing Testsuites): Add index entries for documented shell variables used during in configure and testsuite scripts. 2010-09-12 Fernando Carrijo (tiny change) docs: fix minor typo and 'See See foo' instances * doc/autoconf.texi (Buffer Overruns and Subscript Errors): Fix usage of TeX superscript notation to correctly represent number exponent. (Shell Functions): s/[Ss]ee @xref/@xref/ (Limitations of Shell Builtins, Canonicalizing): Likewise. * THANKS: Update. 2010-09-13 Eric Blake tests: skip broken automake wrapper on MirBSD * tests/tools.at (autom4te preselections): Skip, rather than fail, if 'automake --version' succeeds without printing a version when an environment variable is not set. * tests/torture.at (Configuring subdirectories) (Unusual Automake input files): Likewise. 2010-09-12 Ralf Wildenhues doc: minor indexing update. (Shell Substitutions, Site Defaults): Fix markup for indexed entried, using @code and @file as appropriate. (M4 Macro Index): Clarify which of the indexed macros have m4_ and which have AS_ prefix. 2010-09-08 Eric Blake m4sh: preserve set -vx over re-exec * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Trace through re-exec, to make it easier to debug script startup issues. Idea from recent bug-gnulib change to init.sh. docs: update alloca recommendations * doc/autoconf.texi (Particular Functions): Don't redeclare alloca on FreeBSD. * THANKS: Update. Reported by Giorgos Keramidas. docs: link to GNU Coding Standards in intro * doc/autoconf.texi (Introduction): Actually link to the standards. Make other references consistent. docs: mention traditional awk limitation * doc/autoconf.texi (Limitations of Usual Tools) : Mention that traditional awk lacks ENVIRON. Add reference to awk manual. (Particular Programs) : Add reference to awk section. Reported by Ralf Wildenhues. 2010-09-07 Eric Blake docs: mention bash vs. POSIXLY_CORRECT * doc/autoconf.texi (Special Shell Variables) : Document bash behavior. * THANKS: Update. Reported by Dustin J. Mitchell, via bug-gnulib list. docs: enhance recommendations on test usage * doc/autoconf.texi (Limitations of Builtins) : Mention yet another Solaris issue. Reported by Stefano Lattarini. 2010-08-30 Eric Blake tests: avoid trashing / * tests/torture.at (AC_CONFIG_COMMANDS with temporary directory): Use a relative path, rather than risking issues with /. Reported by Ralf Wildenhues. docs: mention Solaris here-docs vs. ${a-"b c"} * doc/autoconf.texi (Shell Substitutions) <${var:=value}>: Document problem of "" within here-docs. Reported by Ralf Wildenhues. fortran: always avoid AC_LANG_CONFTEST warning * lib/autoconf/lang.m4 (AC_LANG_CONFTEST()): Make the default match the fact that the default AC_LANG_SOURCE does not inline confdefs.h in the first place. * lib/autoconf/fortran.m4 (AC_FC_FREEFORM, AC_FC_FIXEDFORM) (AC_FC_LINE_LENGTH, __AC_FC_NAME_MANGLING): Revert previous use of AC_LANG_DEFINES_PROVIDED. Suggested by Ralf Wildenhues. config.status: minimize use of $tmp * lib/autoconf/status.m4 (_AC_OUTPUT_MAIN_LOOP) (_AC_OUTPUT_FILES_PREPARE, _AC_OUTPUT_FILE) (_AC_OUTPUT_HEADERS_PREPARE, _AC_OUTPUT_HEADER): Use $ac_tmp internally, while preserving $tmp for existing users. * tests/torture.at (AC_CONFIG_COMMANDS with temporary directory): New test, that $tmp is available but not essential. docs: avoid use of $tmp outside of config.status use * doc/autoconf.texi (Polymorphic Variables, Shell Substitutions): Use $var or $t instead. (Limitations of Usual Tools): Use $dir instead. (Initialization Macros) : Make good on the NEWS regarding AS_TMPDIR being documented as consuming $tmp. Suggested by Ralf Wildenhues. 2010-08-29 Paul Eggert AC_PROG_YACC: fix comment re what "yacc" stands for * lib/autoconf/programs.m4 (AC_PROG_YACC): YACC stands for "Yet Another Compiler Compiler", not "Yet Another C Compiler". Problem reported by Chris Long in . 2010-08-27 Ralf Wildenhues Avoid long lines in testsuite script. * lib/autotest/general.m4 (AT_INIT): Remove definition of AT_groups_all. Initialize at_groups from at_help_all, with newlines instead of spaces separating test groups numbers. Adjust all code to newlines. * NEWS: Update. * tests/autotest.at (Huge testsuite): New test. Try to update config.cache atomically; respect symlinks. * lib/autoconf/general.m4 (AC_CACHE_SAVE): Use `mv -f' to update the cache file if it is a regular file and not a symlink. Move first to temporary name in the target directory if not in the current directory for atomicity across mount points. * tests/base.at (AC_CACHE_CHECK): Try symlinked cache file. * doc/autoconf.texi (Cache Files): Leftover temporary cache files may be deleted by the user. * NEWS: Update. 2010-08-27 Eric Blake m4sh: protect LINENO against stray macro * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Double quote entire sed script, to avoid issue uncovered by automake testsuite where 'b' was an m4 macro that broke execution on dash. Reported by Stefano Lattarini. m4sh: assume ${a:-b} support * tests/m4sh.at (Null variable substitution): New test. * doc/autoconf.texi (Shell Substitutions) <${var:-value}>: Mention that m4sh guarantees support. (Limitations of Usual Tools) : Use it. * lib/m4sugar/m4sh.m4 (AS_LINENO_POP, AS_VAR_IF, AS_TMPDIR): Exploit use of colon for smaller files. 2010-08-26 Eric Blake docs: document m4_define_default * doc/autoconf.texi (Conditional constructs) : Document it, since gnulib wants to use it. * NEWS: Mention this. autoconf: warn if AC_*_IFELSE lacks complete program * lib/autoconf/lang.m4 (AC_LANG_DEFINES_PROVIDED): New macro. (AC_LANG_SOURCE): Call it. (AC_LANG_CONFTEST): Add warning if new macro is not called. * lib/autoconf/c.m4 (_AC_LANG_OPENMP): Add missing AC_LANG_SOURCE. * lib/autoconf/fortran.m4 (AC_FC_FREEFORM, AC_FC_FIXEDFORM) (AC_FC_LINE_LENGTH, __AC_FC_NAME_MANGLING): Intentionally bypass AC_LANG_SOURCE. * lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Likewise. * tests/compile.at (AC_COMPILE_IFELSE): New test. * doc/autoconf.texi (Generating Sources) : Document new warning. : Document new macro. : Document use of new macro. * NEWS: Document the improvement. Suggested by Bruno Haible. autoconf: fix regression in AC_FUNC_SELECT_ARGTYPES * lib/autoconf/functions.m4 (AC_FUNC_SELECT_ARGTYPES): Fix quoting; regression from yesterday leaked '' into default value. Reported by Ralf Wildenhues. docs: mention another issue with variable expansion In particular, see http://austingroupbugs.net/view.php?id=221 and http://austingroupbugs.net/view.php?id=255. * doc/autoconf.texi (Shell Substitutions) <${var+value}>: New subsection. <${var=literal}>: Tweak wording. Add mention of an ambiguity allowed by POSIX. * tests/torture.at (Substitute and define special characters): Make test more robust; here, the outer "" is in a here-doc, and does not violate the quoting rules of thumb just documented. 2010-08-25 Eric Blake m4sh: revert incorrect mix of "${a='b'}" * bin/autoconf.as: Revert leak of literal '' into assignment. * tests/tools.at (autom4te preselections): Likewise. m4sh: revert regression in AS_TMPDIR * lib/m4sugar/m4sh.m4 (AS_TMPDIR): The previous patch trying to rename $tmp to $as_tmp was wrong; config.status relies on it. m4sh: reduce size of AS_VAR_TEST_SET * lib/m4sugar/m4sh.m4 (AS_VAR_TEST_SET): Make more compact. tests: improve some shell assumption testing * tests/m4sh.at (Functions Support, Functions and return Support) (Negated classes in globbing): Update comments. (AS@&t@_VAR basics): Test comparison to empty string. docs: mention cost of globbing during variable expansion * doc/autoconf.texi (Shell Substitutions) <${var=literal}>: Recommend quoting substitutions that might trigger globbing. (Limitations of Builtins) <:>: Likewise. * bin/autoconf.as: Follow our own advice. * lib/autoconf/functions.m4 (AC_FUNC_SELECT_ARGTYPES): Likewise. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Likewise. * lib/autoconf/status.m4 (AC_OUTPUT): Likewise. * lib/autotest/general.m4 (_AT_FINISH): Likewise. * lib/m4sugar/m4sh.m4 (AS_TMPDIR): Likewise. * tests/autotest.at (parallel autotest and signal handling): Likewise. * tests/c.at (AC_OPENMP and C, AC_OPENMP and C++): Likewise. * tests/foreign.at (shtool): Likewise. * tests/fortran.at: Likewise. * tests/tools.at (autom4te preselections): Likewise. * tests/torture.at (VPATH): Likewise. m4sh: fix some namespace safety issues * lib/m4sugar/m4sh.m4 (_AS_SHELL_SANITIZE): Avoid problems if as_myself is inherited from environment. (AS_TMPDIR): Be namespace clean. 2010-08-24 Ralf Wildenhues tests: fix AC_CACHE_CHECK to skip with bad shells. * tests/base.at (AC_CACHE_CHECK): Skip test with malformed config.site file if the shell does not report syntax errors from a sourced file. Fixes test failure on AIX and FreeBSD. Report from Rainer Tammer. 2010-08-24 Paul Eggert AC_HEADER_STDBOOL: avoid spurious failure with modern xlc * lib/autoconf/headers.m4 (AC_HEADER_STDBOOL): Move the "bool e = &s;" test into the main program, as C99 might plausibly be interpreted as not requiring support for this construction in static initializers. Remove the "#if defined __xlc__" stuff, as the bug is not present in recent xlc implementations, and they reject the test for other (valid) reasons. People using ancient xlc versions, if any, are suggested to update to fixed versions. Reported by Ralf Wildenhues in the thread starting at: http://lists.gnu.org/archive/html/bug-autoconf/2010-08/msg00103.html 2010-08-24 Eric Blake AC_FUNC_GETLOADAVG: don't define SVR4 on cygwin * lib/autoconf/functions.m4 (_AC_LIBOBJ_GETLOADAVG): Only define SVR4 when -lkvm is required. * THANKS: Update. Reported by Yaakov Selkowitz. 2010-08-23 Eric Blake AC_HEADER_STDBOOL: avoid spurious clang failure * lib/autoconf/headers.m4 (AC_HEADER_STDBOOL): Drop gcc (and by extension clang) check in favor of a gnulib test. Force failure, rather than merely testing for a compiler extension. * THANKS: Update. Reported by Anders Kaseorg. 2010-08-22 Ralf Wildenhues doc: AIX sed dislikes indented comments. * doc/autoconf.texi (Limitations of Usual Tools) : Update. 2010-08-19 Stefano Lattarini Fix autoreconf docs w.r.t. AUTOM4TE environment variable. * doc/autoconf.texi (Using autoreconf to Update configure Scripts): List `AUTOM4TE' among the environment variables honored by autoreconf. * bin/autoreconf.in ($help): Likewise. 2010-08-17 Eric Blake doc: improve AS_VAR_IF details * doc/autoconf.texi (Polymorphic Variables) : Make it clear that user must supply quotes as needed. * THANKS: Update. Suggested by Randall Cotton. 2010-08-16 Ralf Wildenhues Fix Autotest --errexit to exit after XPASSing tests. * lib/autotest/general.m4 (AT_INIT) : Exit after an unexpected passing test if $at_errexit. * tests/autotest.at (errexit): Also try tests that xpass, skip, xfail, or fail hard. 2010-08-14 Eric Blake AC_INIT: allow bugreport to contain '?' * lib/autoconf/general.m4 (_AC_INIT_PACKAGE): Relax check. * tests/base.at (AC_INIT with unusual version strings): Enhance test. * doc/autoconf.texi (Initializing configure): Document this. * NEWS: Likewise. * THANKS: Update. Reported by Yavor Doganov and others. 2010-08-10 Peter Rosin Keep testsuite files on unexpected pass. * lib/autotest/general.m4 (AT_INIT) : Don't cleanup the group directory when a test unexpectedly passes. * tests/autotest.at (Cleanup): Check that an unexpected pass leaves the test group directory intact. 2010-08-10 Ralf Wildenhues Skip AC_FC_SRCEXT([f90]) tests with a Fortran 77 compiler in $FC. * tests/fortran.at (AC_FC_FREEFORM with AC_FC_SRCEXT) (AC_FC_FIXEDFORM with AC_FC_SRCEXT): Skip if the compiler cannot handle files with .f90 extension. Report by Luke Dalessandro. Fix testsuite failures with typical m4-x.y.z program suffix. * tests/local.at (AT_CHECK_M4): Normalize hyphens and digits after the `m4' program name. * THANKS: Update. Report by Luke Dalessandro. 2010-08-06 Ralf Wildenhues Fix description of AC_CONFIG_TESTDIR to not mention atconfig.in. * doc/autoconf.texi (Making testsuite Scripts): atconfig is not created from an input template. 2010-08-05 Bruno Haible and Eric Blake AC_FUNC_ALLOCA: modernize * lib/autoconf/functions.m4 (AC_FUNC_ALLOCA): Assume that alloca's return type is 'void *', not 'char *'. Supply C89 prototype. Reported by Thomas Klausner. 2010-08-04 Ralf Wildenhues Fix testsuite failure due to bugs in third-party aclocal macros. * tests/torture.at (Non-literal AC_CONFIG_SUBDIRS): Create a hand-written aclocal.m4 file, so the -Werror test doesn't fail over aclocal warnings about errors in third-party macro files. Simplify test accordingly, calling autoreconf throughout. Report by Bob Friesenhahn. Fix AC_LANG_SOURCE and AC_LANG_PROGRAM tests. * tests/compile.at (AC_LANG_SOURCE example) (AC_LANG_PROGRAM example): Fix broken sed script for extracting the interesting part of the conftest.c file. Fixes test failure on Haiku. * THANKS: Update. Report by Scott McCreary. 2010-08-03 Eric Blake docs: mention bash bug with word splitting * doc/autoconf.texi (Shell Substitutions): Document bash bug, and zsh default behavior difference. Reported by Ralf Wildenhues. docs: mention ksh bug with function syntax * doc/autoconf.texi (Shell Functions): Document ksh93 limitation. 2010-08-03 Ralf Wildenhues Fix typo in Autotest color test, for dash testsuite failure. * tests/autotest.at (colored test results): Use exit not Exit. Fixes test failure with dash 0.5.4. 2010-08-02 Eric Blake docs: track recent copyright assignment * AUTHORS: Add Peter Rosin. 2010-08-02 Ralf Wildenhues Add testsuite exposure for last-minute fix in 2.67. * tests/autotest.at (parallel args but non-working mkfifo): New test, to expose the failure v2.66-23-g991183c avoided. Ensure unnamed test group categories are separated from previous. * doc/autoconf.texi (Writing Testsuites) : Update description. * lib/autotest/general.m4 (AT_INIT) : Set banner to single space, not empty line, once printed. For empty banners, print a single empty line to separate them from a previous test group category. * tests/autotest.at (Banners): Insert another test group; adjust tests accordingly. Extend test to cover semantic change. * NEWS: Update. 2010-07-31 Ralf Wildenhues Fix typos in perlpod docs. * lib/Autom4te/ChannelDefs.pm, lib/Autom4te/Channels.pm, lib/Autom4te/General.pm: Fix typos and spacing in perlpod documentation and in comments. 2010-07-29 Eric Blake docs: mention ksh file descriptor limitation * doc/autoconf.texi (File Descriptors): Document issue with fd 10 and above. Reported by Ralf Wildenhues. docs: mention cd limitation * doc/autoconf.texi (Limitations of Builtins) : Document issues with empty argument. 2010-07-29 Ralf Wildenhues Add missing index entries to manual. * doc/autoconf.texi (Fortran Compiler, Language Choice): Add index entries for AC_FC_DUMMY_MAIN, AC_LANG; reformat entry for AC_LANG_ASSERT. 2010-07-21 Eric Blake Release Version 2.67. * NEWS: Mention the release. Prepare for release. * maint.mk (PREV_VERSION_REGEXP): New macro, missed when backporting update-NEWS_hash from gnulib. * cfg.mk (old_NEWS_hash): Correctly generate. * build-aux/gendocs.sh: Temporarily break sync from upstream, to avoid including spurious directories in info source tarball. Avoid spurious testsuite failures. * doc/autoconf.texi (Generating Sources): Don't mix gcc '-E' and '-o -', since the former already implies stdout, while the latter creates -.exe on cygwin. * tests/compile.at (AC_LANG_SOURCE example) (AC_LANG_PROGRAM example): Likewise. Also prevent any config.site interference. Partially revert previous patch. * lib/autotest/general.m4 (AT_INIT) : Changing at_jobs here breaks output if -j2 was requested but shell is insufficient to support parallel testing. Reported by Ralf Wildenhues. Minor testsuite size reduction. * lib/autotest/general.m4 (AT_INIT) : Ensure at_jobs is 1. (AT_SETUP, AT_CLEANUP): Factor initialization code... (AT_INIT) : ...into new function. Based in part on suggestion by Ralf Wildenhues. 2010-07-20 Eric Blake Close job control fd before running tests. * doc/autoconf.texi (File Descriptors): Clarify limitations. * lib/autotest/general.m4 (AT_CLEANUP): Avoid leaking job control fifo fd to user tests. (AT_INIT): Delete comment, now that close is done elsewhere. Suggested by Ralf Wildenhues. 2010-07-20 Paul Eggert and Eric Blake Plug race in parallel autotest. * lib/autotest/general.m4 (AT_INIT) : Track two fds to fifo in parent, to avoid race where parent can see EOF before child opens fifo. Avoid any atomicity problems with tokens larger than one byte. * NEWS: Document the bug fix. 2010-07-20 Eric Blake Another empty argument through expr workaround. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Detect empty arguments. Reject empty file argument. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Check for missing argument. Also reject ' and newline from AC_INIT strings. * lib/autoconf/general.m4 (_AC_INIT_LITERAL): Reject a couple more problematic characters. * tests/base.at (AC_INIT with unusual version strings): Enhance test. * doc/autoconf.texi (Initializing configure) : Further clarifications, and clean up wording about use of m4_esyscmd. * NEWS: Update previous news entry. Suggested by Paolo Bonzini. 2010-07-20 Ralf Wildenhues Let autoreconf pass warning flags to new-enough aclocal. * bin/autoreconf.in ($aclocal_supports_warnings) ($automake_supports_warnings): New globals. (parse_args): Set and use them. Be sure to invoke `aclocal --help' and `automake --help' just once each. * NEWS: Update. Prompted by report from Bruno Haible. Fix parsing of empty variable settings on the command line. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Work around expr bug returning 0 instead of the empty string. * lib/autotest/general.m4 (AT_INIT): Likewise. Fix typo in the manual. * doc/autoconf.texi (AC_ACT_IFELSE vs AC_TRY_ACT): Fix typo. 2010-07-19 Eric Blake Fix up AC_INIT vs. " issues, and document it. * doc/autoconf.texi (Initializing configure): Improve documentation on argument restrictions. * NEWS: Tweak information. * lib/autoconf/general.m4 (_AC_INIT_GENERAL): New macro, that also rejects literal ". (_AC_INIT_PACKAGE): Use it to plug hole in last patch. * tests/base.at (AC_INIT with unusual version strings): Enhance test. 2010-07-19 Eric Blake and Ralf Wildenhues Relax AC_INIT requirements for PACKAGE and VERSION strings again. * lib/m4sugar/m4sh.m4 (AS_LITERAL_HEREDOC_IF): New macro. (_AS_LITERAL_HEREDOC_IF, _AS_LITERAL_HEREDOC_IF_YES) (_AS_LITERAL_HEREDOC_IF_NO): New helper macros. * lib/autoconf/general.m4 (_AC_INIT_PACKAGE): Use AS_LITERAL_HEREDOC_IF for PACKAGE and VERSION strings. * tests/base.at (AC_INIT with unusual version strings): New test. * tests/m4sh.at (AS@&t@_LITERAL_IF): Extend test. * NEWS: Update. 2010-07-19 Eric Blake Fix testsuite failures from previous patch. * lib/autoconf/c.m4 (_AC_PROG_PREPROC_WORKS_IFELSE): Also remove conftest.i when preprocessor tests break out of a loop. 2010-07-19 Ralf Wildenhues Allow inspecting AC_PREPROC_IFELSE output in true branch. * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY): Redirect preprocessor output to conftest.i rather than /dev/null. (_AC_PREPROC_IFELSE): Remove conftest.i in the postprocessing. * tests/compile.at (Order of user actions and cleanup): Extend test in the ACTION-IF-TRUE branch. * doc/autoconf.texi (Running the Preprocessor): Document new feature. * NEWS: Update. Fix AC_FC_LIBRARY_LDFLAGS detection for BlueGene xlf -qipa. * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Ignore '-link', added spuriously when -qipa is used with the XL Fortran compilers on BlueGene. manual: compiler flags -D and -L should not be followed by space * doc/autoconf.texi (Preset Output Variables): Remove space between -D and -L flags and their arguments, traditional cpp implementations like Solaris 10, IRIX 6.5, OSF Tru64 5.1D, AIX 5.3 do not accept it. 2010-07-10 Ralf Wildenhues Fix comment typo in the manual. * doc/autoconf.texi (Generic Compiler Characteristics): Refer to the right test in the example marker comment. Spotted by Eric Blake. 2010-07-10 Ralf Wildenhues New Fortran macro AC_FC_LINE_LENGTH. * lib/autoconf/fortran.m4 (AC_FC_LINE_LENGTH): New macro. * doc/autoconf.texi (Fortran Compiler): Document it. * tests/fortran.at (AC_FC_LINE_LENGTH): New test. * NEWS: Update. Fix wording about AC_CONFIG_SUBDIRS warning. * doc/autoconf.texi (Subdirectories): We warn, not error, about nonexistent config subdirs, but only at configure run time. 2010-07-10 Eric Blake and Ralf Wildenhues Fix regression of AC_CHECK_SIZEOF on pointer types. * lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Translate `*' to `p' when checking literal-ness of the type, for pointer types. * lib/m4sugar/m4sh.m4 (_AS_TR_SH): Also consider `*' as literal. (_AS_TR_CPP): Likewise. * tests/semantics.at (AC_CHECK_ALIGNOF struct): When checking for numeric answer, be sure to not allow variable references. (AC_CHECK_SIZEOF struct): Likewise. Also, test the `AC_CHECK_SIZEOF([int *])' example from the manual. * doc/autoconf.texi (Generic Compiler Characteristics): Add example marker. * NEWS: Update. Reports by Nishio Futoshi and Roberto Bagnara. 2010-07-08 Eric Blake and Ralf Wildenhues Fix regression of AC_CONFIG_SUBDIRS with multiple arguments. * lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Do not assume the argument is a single word. * tests/torture.at (Deep Package): Extend test to cover this. (Non-literal AC_CONFIG_SUBDIRS): New test. * doc/autoconf.texi (Subdirectories): Add example marker. * NEWS: Update. Report by Bruno Haible. 2010-07-04 Stefano Lattarini Fix minor copy&paste leftover in m4sh tests. * tests/m4sh.at (AS@&t@_TR_SH and AS@&t@_TR_CPP): Remove useless variables assignements ($var, $vAr, $VAR). 2010-07-04 Ralf Wildenhues Fix testsuite to not trigger Solaris sh for bug. * tests/torture.at (Torturing config.status) (Substitute a 2000-byte string) (Substitute and define special characters) (Substitute a newline): Quote first argument in for list so that it does not look like an assignment. 2010-07-02 Eric Blake Post-release administrivia. * maint.mk (NEWS_hash): Define. * NEWS: Add header line for next release. * .prev-version: Record previous version. * cfg.mk (old_NEWS_hash): Auto-update. Release Version 2.66. * NEWS: Mention the release. 2010-07-02 Eric Blake Pick up some maint.mk improvements from gnulib. * configure.ac (AM_INIT_AUTOMAKE): Require 1.11, and build xz archives by default now. * maint.mk (gzip_rsyncable): Avoid non-portable echo. (VC-tag): Depend on gpg_key_ID. (PREV_VERSION): Don't parse error as version. (announcement): Populate email addresses with defaults. (emit_upload_commands, web-manual): Reflect changes in scripts. (update-NEWS-hash, emit-commit-log, release-prep): New macros. * cfg.mk (announcement_Cc_, announcement_mail_headers_): Override defaults. * HACKING: Modernize a bit. Resync upstream files. * GNUmakefile: Run 'make fetch'. * build-aux/announce-gen: Likewise. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * build-aux/gendocs.sh: Likewise. * build-aux/git-version-gen: Likewise. * build-aux/gnupload: Likewise. * build-aux/texinfo.tex: Likewise. * build-aux/vc-list-files: Likewise. * doc/gendocs_template: Likewise. * doc/gnu-oids.texi: Likewise. * doc/make-stds.texi: Likewise. * doc/standards.texi: Likewise. * lib/Autom4te/Channels.pm: Likewise. * lib/Autom4te/Configure_ac.pm: Likewise. * lib/Autom4te/FileUtils.pm: Likewise. * lib/Autom4te/XFile.pm: Likewise. Make AS_TR_SH and AS_TR_CPP similar. * lib/m4sugar/m4sh.m4 (_AS_TR_CPP_LITERAL): Avoid underquoting. (_AS_TR_CPP_INDIR): Handle all polymorphic variables. * tests/m4sh.at (AS@&t@_TR_SH and AS@&t@_TR_CPP): New test. * NEWS: Document the fix. Reported by Bruno Haible. Reduce startup cost of autotest. * lib/autotest/general.m4 (_AT_FINISH) : Rather than doing a recursive find, limit ourselves to top ChangeLog only. Reported by Ralf Wildenhues. 2010-07-02 Ralf Wildenhues New macro AC_FC_FIXEDFORM, improved AC_FC_FREEFORM, coverage. * lib/autoconf/fortran.m4 (_AC_FC_DIALECT_YEAR): Fix typo in comment. (AC_FC_FREEFORM): Update list of known options for Sun, HP, Lahey/Fujitsu Fortran compilers. Use M4 quoting consistently. (AC_FC_FIXEDFORM): New macro. * tests/fortran.at (AC_FC_DUMMY_MAIN usage, AC_FC_MAIN usage): Use AC_FC_FIXEDFORM, to avoid testsuite failure with FC=xlf95. (AC_FC_FREEFORM with AC_FC_SRCEXT, AC_FC_FIXEDFORM) (AC_FC_FIXEDFORM with AC_FC_SRCEXT): New tests. * tests/mktests.sh: No need to exclude AC_FC_FREEFORM, it uses AC_LANG_PUSH/AC_LANG_POP. * doc/autoconf.texi (Fortran Compiler): Document it. * NEWS: Update. 2010-07-02 Eric Blake Optimize AS_BOX. * lib/m4sugar/m4sh.m4 (AS_BOX): Use less m4 time. (_AS_BOX_LITERAL): Use fewer forks in the common case. * doc/autoconf.texi (Common Shell Constructs) : Document the macro. * NEWS: Mention it. Use new AS_LITERAL_IF argument when appropriate. * lib/m4sugar/m4sh.m4 (AS_VAR_SET): Reduce m4 overhead. (AS_VAR_IF, AS_VAR_TEST_SET): Provide shorter variant for simple references. Suggested by Bruno Haible. Add tests for AS_BOX. * tests/m4sugar.at (m4@&t@_text_box): New test. * tests/m4sh.at (AS@&t@_BOX): Likewise. * lib/m4sugar/m4sugar.m4 (m4_text_box): Support comma. * doc/autoconf.texi (Text processing Macros) : Document further limitations. Add optional argument to AS_LITERAL_IF. * lib/m4sugar/m4sh.m4 (_AS_LITERAL_IF): Rewrite to generate macro name, without using m4_cond. (_AS_LITERAL_IF_, _AS_LITERAL_IF_YES, _AS_LITERAL_IF_NO): New helpers. (AS_LITERAL_IF, AS_LITERAL_WORD_IF, _AS_TR_SH, _AS_TR_CPP) (_AS_VAR_PUSHDEF): Adjust callers. * lib/autoconf/types.m4 (AC_CHECK_ALIGNOF): Relax restrictions on invalid bytes, since this allows inline struct layouts. (_AC_CHECK_ALIGNOF): New helper macro. * tests/m4sh.at (AS@&t@_LITERAL_IF): Update test. * doc/autoconf.texi (Polymorphic Variables) : Update documentation. Use AS_LITERAL_WORD_IF as appropriate. * lib/autoconf/autoheader.m4 (AH_VERBATIM): Use new macro. * lib/autoconf/general.m4 (AC_REQUIRE_AUX_FILE, AC_CACHE_VAL) (AS_CACHE_CHECK, AC_DEFINE_TRACE, _AC_LIBOBJ): Likewise. * lib/autoconf/libs.m4 (AC_CHECK_LIB): Likewise. * lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Likewise. * lib/m4sugar/m4sh.m4 (AS_UNSET, AS_VAR_COPY, AS_VAR_GET) (AS_VAR_IF, AS_VAR_SET, AS_VAR_TEST_SET): Likewise. Add AS_LITERAL_WORD_IF. * lib/m4sugar/m4sh.m4 (_AS_LITERAL_IF): Also reject shell quoting characters as non-literal, and provide way to reject space. (AS_LITERAL_WORD_IF): New macro. * doc/autoconf.texi (Polymorphic Variables) : Document new macro. Fix example to match reality. * NEWS: Document change and new macro. * tests/m4sh.at (AS@&t@_LITERAL_IF): Update test. Optimize AC_DEFINE. * lib/autoconf/general.m4 (_AC_DEFINE_Q): Avoid overhead of AS_LITERAL_IF. 2010-07-02 Stefano Lattarini and Eric Blake Describe a Solaris /bin/sh bug w.r.t. for loops. * doc/autoconf.texi (Limitations of Shell Builtins) : Document a bug of the 'for' builtin in Solaris /bin/sh, w.r.t. tokens seeming variable assignment in the list of arguments. 2010-06-23 Ralf Wildenhues Improve VPATH handling in config.status for non-Automake projects. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Be sure not to remove references to a subdir of srcdir. Fix treatment of multiple colon-separated VPATH entries. * tests/torture.at (VPATH): New test. Report by Keith Marshall. Further improve docs about nested double-quotes and backquotes. * doc/autoconf.texi (Shellology): Remove anchor for pdksh. Move quoting bug example to ... (Shell Substitutions): ... here. Document which behavior is specified by Posix. Coverage for Fortran compiler macros. * tests/fortran.at (AC_OPENMP and Fortran 77) (AC_OPENMP and Fortran): Simplify, using AT_CHECK_CONFIGURE. (AC_F77_DUMMY_MAIN usage, AC_FC_DUMMY_MAIN usage) (AC_F77_MAIN usage, AC_FC_MAIN usage, AC_F77_FUNC usage) (AC_FC_FUNC usage, AC_FC_SRCEXT usage, AC_FC_FREEFORM): New tests. * doc/autoconf.texi (Fortran Compiler): Use GNU coding style on C code snippets. Add markers for tested examples. Suggest AC_FC_FREEFORM for source file extensions which the compiler might not natively support but which are accepted with help from AC_FC_SRCEXT. Suggest AC_CONFIG_HEADERS for setups using one of the AC_*MAIN macros. Accept any nonzero exit status upon config.status write failure. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Normalize nonzero status to 1 for writing to /dev/full, for HP-UX 11.31 cat which exits 2. Fix testsuite failure with Tru64 preprocessor. * tests/compile.at (Order of user actions and cleanup): Add incomplete comment to provoke failure with Tru64/OSF 5.1 cc preprocessor. 2010-06-22 Ralf Wildenhues and Eric Blake Further clarification on sed -e portability. * doc/autoconf.texi (Limitations of Usual Tools) : Clarify more about sed -e and Posix limitations. 2010-06-22 Bruno Haible Document how to use literal newlines in makefile rules. * doc/autoconf.texi (Newlines in Make Rules): New section. Document how to write comments in makefile rules. * doc/autoconf.texi (Comments in Make Rules): Mention a workaround syntax. 2010-06-22 Ben Pfaff Document how to propagate variables to submakes. * doc/autoconf.texi: Describe technique used by Automake to propagate variables to submakes in more detail. 2010-06-22 Peter Johansson (tiny change) Be consistent in doc example. * doc/autoconf.texi: (Polymorphic Variables) be consistent in code example and output 2010-06-22 Ralf Wildenhues Add comments for vim syntax highlighting. * doc/autoconf.texi: Restore font-lock in some examples using $$, for vim. Formatting cleanups for optional arguments. * doc/autoconf.texi (Configuration Actions, Help Formatting) (External Software): Use @r{} for brackets denoting optional arguments, where @ovar is not safe to use. Clarify nested double-quotes and backquotes shell issues. * doc/autoconf.texi (Shellology): New anchor for pdksh. (Shell Substitutions): Link to it for escaped double-quotes within double-quoted backquotes; add ksh example for unescaped inner double-quotes problem. Mention Tru64 5.1 fgrep limitation with empty patterns. * doc/autoconf.texi (Limitations of Usual Tools): Update. Overhaul the manual, esp. the Autotest chapter. * doc/autoconf.texi (Installation Directory Variables): Replace some uses of @var with @code. (Special Shell Variables): Fix misordered paragraph about IFS. (Writing Testsuites): Include paragraph following AT_TESTED in the macro definition. (testsuite Invocation): Failed tests are not rerun. (testsuite Scripts, Autotest Logs, testsuite Invocation) (Making testsuite Scripts): Minor edits for consistency and language. 2010-06-18 Bruno Haible Document sed -e limitation. * doc/autoconf.texi (Limitations of Usual Tools): Mention portability problem of sed -e option with script fragments. 2010-06-17 Ralf Wildenhues Document, test, and fix AT_ARG_OPTION, AT_ARG_OPTION_ARG. * lib/autotest/general.m4 (_AT_ARG_OPTION): Fix translation of hyphens to underscores when turning option names to variables. Avoid macro name concatenation garbage with trailing `dnl'. (AT_ARG_OPTION, AT_ARG_OPTION_ARG): Overhaul macro description. The OPTIONS are space-separated, not comma-separated. The negative form of AT_ARG_OPTION is prefixed with `--no-'. * tests/autotest.at (AT@&t@_ARG_OPTION, AT@&t@_ARG_OPTION_ARG): New tests. * NEWS: Update. * doc/autoconf.texi (Writing Testsuites): Document AT_ARG_OPTION and AT_ARG_OPTION_ARG. (testsuite Invocation): Call the thingies passed to the testsuite options, not arguments. Note that the testsuite author may add further package-specific options. Autotest: enable colored test results. * lib/autotest/general.m4 (HELP_TUNING_BEGIN): New diversion. (HELP_TUNING, HELP_OTHER, HELP_END): Bump diversion numbers. (AT_INIT): Accept --color and --color=never|auto|always. If desired, colorize test results and testsuite summary on standard output. [HELP_TUNING]: Divert content instead to ... [HELP_TUNING_BEGIN]: ... this diversion, m4_wrapped until the end, when we know whether AT_COLOR_TESTS has been specified. (AT_COLOR_TESTS): New macro, set the default for color to auto. * doc/autoconf.texi (Writing Testsuites): Document it. (testsuite Invocation): Document --color* options. * tests/local.at: Call AT_COLOR_TESTS for Autoconf's testsuite. * tests/autotest.at (color test results): New test, mirroring color.test from Automake. * NEWS: Update. 2010-06-15 Ralf Wildenhues Avoid texinfo bug with backslashes in macro arguments. * doc/autoconf.texi (Text processing Macros) (Common Shell Constructs): Do not use @dvar with backslashes. 2010-06-14 Eric Blake Make CONFIG_SITE handling more robust. * lib/autoconf/general.m4 (AC_SITE_LOAD): Avoid leading - and path search, and check for failure to load. * tests/base.at (AC_CACHE_CHECK): Enhance test. * doc/autoconf.texi (Site Defaults): Mention that CONFIG_SITE works best as an absolute path. * NEWS: Document the semantic change. 2010-03-13 Bruno Haible and Ralf Wildenhues Allow plus signs in AC_ARG_ENABLE and AC_ARG_WITH. * doc/autoconf.texi (External Software): Mention that AC_ARG_WITH accepts packages with a + sign in it. (Package Options): Likewise for AC_ARG_ENABLE. * lib/autoconf/general.m4 (_AC_ENABLE_IF): Also replace '+' with '_'. * tests/base.at (AC_ARG_ENABLE and AC_ARG_WITH): New test. * NEWS: Update. 2010-06-14 Ralf Wildenhues Autotest: simplify logic to compute test group result. * lib/autotest/general.m4 (AT_INIT): Compactify result computation logic. New Autotest testsuite option --recheck. * lib/autotest/general.m4 (AT_INIT): New variable $at_recheck. Escape hyphen in $at_dir early. Accept command line switch --recheck. Set $at_suite_log early, based on --directory switch; with --recheck, include the list of FAILed and XPASSed tests from old testsuite.log file in $at_groups. Document --recheck in --help output. * tests/autotest.at (recheck): New test. * doc/autoconf.texi (testsuite Invocation): Document --recheck. * NEWS: Update. 2010-06-14 Karl Berry (tiny change) Clarify comment about old system. * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Prefer GNU/Linux, and note that bug has long since been fixed. 2010-06-08 Eric Blake Run libtool test with modern libtool. * tests/foreign.at (Libtool): Request that libtoolize install auxiliary files. Assume libtool 2.x is modern. 2010-06-08 Ralf Wildenhues Coverage and doc fixes for AC_LANG_SOURCE and AC_LANG_PROGRAM. * tests/compile.at (AC_LANG_SOURCE, AC_LANG_SOURCE(C++)) (AC_LANG_SOURCE example, AC_LANG_PROGRAM example): New tests. * doc/autoconf.texi (Generating Sources): Add markers for tested examples; update quoting, and update AC_INIT usage to also set optional URL arguments. Mention that the examples require gcc. Prompted by report from Brian J. Murrell. Make AS_SET_CATFILE polymorphic, and add testsuite coverage. * lib/m4sugar/m4sh.m4 (AS_SET_CATFILE): Use AS_VAR_SET to set the variable. * tests/m4sh.at (AS@&t@_SET_CATFILE): New test. * doc/autoconf.texi (Common Shell Constructs): Document that AS_SET_CATFILE is polymorphic in its VAR argument now. * NEWS: Update. Testsuite coverage for AC_COPYRIGHT and AT_COPYRIGHT. * tests/autotest.at (AT@&t@_COPYRIGHT): New test. * tests/base.at (AC@&t@_COPYRIGHT): Likewise. Testsuite coverage for __file__ and __line__. * tests/m4sugar.at (__file__ and __line__): New test. Testsuite coverage for AC_CACHE_VAL and caching semantics. * tests/base.at (AC_CACHE_CHECK): Extend test. (AC_CACHE_LOAD): New test. * tests/torture.at (Configuring subdirectories): Also test --config-cache with AC_CONFIG_SUBDIRS. * doc/autoconf.texi (Caching Results): Annotate code snippets which are tested in the test suite. (Cache Files): Documented cache variables may be used on the configure command line to override individual entries in the cache file. Clarify OpenBSD sh errexit issue with compound commands. * doc/autoconf.texi (Limitations of Builtins): Only the last command in a compound list is problematic. Tested on OpenBSD 4.4. 2010-06-07 Eric Blake Properly quote AC_PREREQ during autoupdate. * lib/autoconf/general.m4 (AC_PREREQ): Follow consistent quoting style for AC_PREREQ. * tests/tools.at (autoupdating AC_PREREQ): Update expected results. Reported by NightStrike. 2010-06-01 Ralf Wildenhues Documentation and tests for the AC_CHECK_DECL change. * lib/autoconf/general.m4 (_AC_CHECK_DECL_BODY): Squash trailing spaces in as_decl_name. (_AC_CHECK_DECLS): Likewise for the define. * tests/semantics.at (AC_CHECK_DECLS): Extend test. * doc/autoconf.texi (Generic Declarations): Update. * NEWS: Update. 2010-06-01 Joern Rennecke (tiny change) Generalize AC_CHECK_DECL for C++: allow optional arguments. * general.m4 (_AC_CHECK_DECL_BODY): Process trailing function argument types as arguments to use for C++. (_AC_CHECK_DECLS): Filter out trailing function argument types when generating the HAVE_DECL_* macro. 2010-05-25 Stefano Lattarini Eric Blake Don't expose AC_{COMPILE,LINK}_IFELSE internals in documentation. * doc/autoconf.texi (Runtime) : Suggest to use `conftest$EXEEXT' rather than `conftest$ac_exeext' to acces the just-linked program file. (Runtime) : Suggest to use `conftest.$OBJEXT' rather than `conftest.$ac_object' to access the just-compiled object file. Also, refer to the object file as "just-compiled" rather than "just-linked". 2010-05-20 Eric Blake Mention another line-counting alternative. * doc/autoconf.texi (Limitations of Usual Tools) : Mention how to use sed to count lines. Suggested by Paolo Bonzini. 2010-05-12 Eric Blake Document the grep workaround. * doc/autoconf.texi (Limitations of Usual Tools) : Document the bug. 2010-05-12 Mark Hessling (tiny change) Work around QNX4 grep bug. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Count ^ rather than $ to avoid QNX4 grep bug. * THANKS: Update. 2010-05-11 David Reiss (tiny change) Improve Erlang documentation. * doc/autoconf.texi (Erlang Libraries): Document actual default values. * THANKS: Update. 2010-05-11 Eric Blake Fix typo in previous patch. * doc/autoconf.texi (File Descriptors): Add end '. Reported by Ralf Wildenhues. Mention how to silence program probes. * doc/autoconf.texi (File Descriptors): Document how to silence a program probe. 2010-04-26 Ralf Wildenhues Error and warning message formatting cleanups. * doc/autoconf.texi (Autoconf Language, Generic Structures): Do not capitalize the first word in error messages, do not end them with a period. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS, AC_MSG_FAILURE): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): Likewise. * lib/autotest/general.m4 (AT_INIT, at_fn_group_prepare): Likewise. * m4/m4.m4 (AC_PROG_GNU_M4): Likewise. * tests/base.at (AC_TRY_COMMAND): Likewise. * tests/torture.at (datarootdir workaround): Adjust expected message. Fix placing of ellipses in English text. * lib/autoconf/general.m4 (_AC_INIT_HELP): Be sure to add a space before `...' in natural language text. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL_BODY): Likewise. * lib/autoconf/libs.m4 (_AC_PATH_X_XMKMF): Likewise. * lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): Likewise. * tests/suite.at: Likewise. * tests/torture.at (@%:@define header templates): Likewise. Ensure autotest tests have an atconfig file, for testsuite -v. * tests/autotest.at (AT_CHECK_AT_PREP): Create a default atconfig file in the directory of the testsuite. (AT_CHECK_AT_TITLE): Also check that `./micro-suite -v' output does not contain empty $at_srcdir expansion. (srcdir propagation): Remove the atconfig file generated by AT_CHECK_AT_PREP. Check each suite invocation for $at_srcdir expansion. Fix autotest testsuite -v output to print test group title. * lib/autotest/general.m4 (AT_CLEANUP): Actually print test title in verbose output. Fixes AUTOCONF-2.57-101-gc102ed8 regression. * tests/autotest.at (AT_CHECK_AT_TITLE): Amend macro to check for test title in -v output. 2010-04-26 Eric Blake Clarify octal escapes with tr. * doc/autoconf.texi (Limitations of Usual Tools): Carriage return is portable in octal, but not newline. 2010-04-22 Joel James Adamson (tiny change) Add a paragraph to FAQ on Debugging configure scripts. * doc/autoconf.texi (Debugging): Mention inspecting config.log. * THANKS: Update. 2010-04-21 Mike Frysinger (tiny change) Fix typo in doc example. * doc/autoconf.texi (Subdirectories): Fix typo. 2010-04-05 Eric Blake Fix m4_cr_all for EBCDIC. * lib/m4sugar/m4sugar.m4 (m4_cr_all): Swap * and $, so that we don't end up with $* in EBCDIC. * NEWS: Document the fix. * THANKS: Update. Reported by Steve Goetze. 2010-03-28 Ralf Wildenhues Do not use @acronym in the manual. * doc/autoconf.texi: Remove all usage of @acronym. Suggested by Karl Berry. Do not use @sc in the manual. * doc/autoconf.texi: Remove all usage of @sc in the manual. Suggested by Karl Berry. 2010-03-12 Ralf Wildenhues Fix wrong comment in testsuite. * tests/m4sugar.at (m4@&t@_warn): Remove copy&pasted comment. Formatting cleanups in macro comments. * lib/autoconf/c.m4, lib/autoconf/erlang.m4, lib/autoconf/fortran.m4, lib/autoconf/functions.m4, lib/autoconf/general.m4, lib/autoconf/lang.m4, lib/autoconf/programs.m4, lib/autoconf/specific.m4, lib/autoconf/status.m4, lib/autoconf/types.m4, lib/autotest/general.m4, lib/autotest/specific.m4, lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4, tests/autotest.at, tests/local.at, tests/m4sh.at, tests/semantics.at, tests/tools.at, tests/torture.at: Fix macro comment format. 2010-03-05 Ralf Wildenhues manual: index strings containing colon in non-info outputs. * doc/autoconf.texi (Quadrigraphs, Shell Substitutions): Produce index entries for concepts containing a colon in output formats other than info. Update copyright years for files generated by mktests.sh. * tests/mktests.sh: Update copyright years for generated files. 2010-03-04 Eric Blake Document AC_LANG_CONFTEST semantic change. * doc/autoconf.texi (Generating Sources) : Enhance documentation, to show that semantic change in 2.63b was intentional. * THANKS: Update. Reported by Brian J. Murrell, analyzed by Ralf Wildenhues. 2010-03-04 Peter Johansson (tiny change) Autoconf Macro Archive URL has changed. * doc/autoconf.texi (Introduction, Coding Style, Defining Directories): The Autoconf Macro Archive is officially `GNU'. Update URL. 2010-03-02 Eric Blake Fix shell code in AS_TR_SH documentation. * doc/autoconf.texi (Common Shell Constructs) : Fix example to expand to valid shell code. Reported by Ralf Wildenhues. Improve documentation on AC_{COMPILE,LINK}_IFELSE. * doc/autoconf.texi (Running the Compiler): Mention that the object file is available after a successful compile. (Running the Linker): Likewise for the linker output. Suggested by Paolo Bonzini. Fix typo in docs. * doc/autoconf.texi (Conditional constructs) : Fix typo. 2010-03-02 Ralf Wildenhues Fix AS_ERROR for FreeBSD sh. * lib/m4sugar/m4sh.m4 (_AS_ERROR_PREPARE): Rewrite as_fn_error to take additional first argument STATUS instead of transporting $? across shell function entry, which does not work with FreeBSD sh. Shift all other arguments by one, adjust. (AS_ERROR): Pass EXIT-STATUS, defaulting to $?, to as_fn_error. Report by Václav Haisman. Fix `autom4te cache creation' testsuite failure on FreeBSD. * tests/tools.at (autom4te cache creation): Normalize exit status of failed redirection to 1, may be 2 with FreeBSD sh. * THANKS: Update. Report by Václav Haisman. Fix Autotest tracing of shell pipelines for FreeBSD sh. * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): Do not trace commands that contain [^|]|[^|], a likely shell pipeline. * tests/local.at (_AT_CHECK_ENV): Turn off tracing for egrep | grep pipeline. * doc/autoconf.texi (File Descriptors): Document limitation. * tests/autotest.at (Trace output): New test. 2010-03-01 Eric Blake Update file flow diagram to mention Automake. * doc/autoconf.texi (Making configure Scripts): Avoid confusion with listing Makefile.in twice on one line. Add a diagram showing how automake fits into the picture. Reported by santilín. 2010-02-26 Eric Blake Optimize AC_REPLACE_FUNCS. * lib/autoconf/functions.m4 (_AC_REPLACE_FUNC): New helper macro. (AC_REPLACE_FUNCS): Use it to reduce forks when checking for replacements, by using literal rather than shell variable. Document how to safely override CFLAGS default. * doc/autoconf.texi (C Compiler) : Document a way to change the default CFLAGS. (C++ Compiler) : Likewise, for CXXFLAGS. Reported by Monty Taylor; wording suggested by Paolo Bonzini. Document that Autoconf relies on IFS. * doc/autoconf.texi (Special Shell Variables) : Add details about use of IFS within configure script. * THANKS: Update. Reported by Arkadiusz Miskiewicz. Recommend latest m4 release. * README: Bump recommendation to m4 1.4.14 (minimum remains 1.4.6). * doc/autoconf.texi (Introduction): Likewise. * m4/m4.m4 (AC_PROG_GNU_M4): Likewise. 2010-02-23 Ralf Wildenhues Fix testsuite failures due to setting of $U. * tests/local.at (_AT_CHECK_ENV): Ignore setting of $U. 2010-02-10 Eric Blake Avoid $U if it is not initialized. * lib/autoconf/general.m4 (_AC_LIBOBJS_NORMALIZE): Ensure $U is set if automake did not define it. * THANKS: Update. Reported by Heiko Schlichting, via Julien Élie. 2010-01-24 Ralf Wildenhues Fix substitution of carriage return on Darwin. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Set ac_cs_awk_cr to '\\r', so that sed portably expands this to '\r' rather than a literal carriage return, to fix substitution on Darwin. Regression introduced in 2.63b. Report by Peter O'Gorman. 2010-01-21 Dmitry V. Levin Fix test failure when a shell uses $TMPDIR for here-documents. * tests/tools.at (autotools and whitespace in file names): Create $TMPDIR before potential use like in other whitespace tests. 2010-01-20 Paolo Bonzini Add recommendation on (not) unsetting IFS. * doc/autoconf.texi (Special shell variables): Explain why it's better not to unset IFS. 2010-01-19 Ralf Wildenhues config.status: consistent exit status with nonexistent config file input. * lib/autoconf/status.m4 (_AC_OUTPUT_MAIN_LOOP): Ensure we exit with status 1 rather than with that of 'false', for reproducibility. (AC_OUTPUT): Ensure to exit 1 in case of config.status failure. * tests/torture.at (Missing templates): Also test code path for $srcdir != '.'. Report by Tim Rice. 2010-01-13 Eric Blake Fix previous example. * doc/autoconf.texi (Here-Documents): Touch up the example to match output to sample command line. Document here-doc pitfall. * doc/autoconf.texi (Here-Documents): Mention problem with <<- operator. Reported by Jim Meyering. 2010-01-12 Eric Blake Typo fix in earlier commit. * doc/autoconf.texi (Autoconf Language): Fix typo. 2010-01-12 Ralf Wildenhues Allow AC_FUNC_MKTIME to work with C++. * lib/autoconf/functions.m4 (AC_FUNC_MKTIME): ANSIfy KnR function definitions. Use `const char*' for character literals; cast them to `char*' for putenv. 2010-01-11 Ralf Wildenhues Export AUTOM4TE in tests/atlocal.in, for aclocal. * tests/atlocal.in: Set and export $AUTOM4TE, for aclocal. Report by Tim Rice. 2010-01-08 Eric Blake Make autotest example act better with automake. * doc/autoconf.texi (Making testsuite Scripts): Rely on automake feature for recommended autotest snippet, following our own use. Clarify language on handling of opening parenthesis. * doc/autoconf.texi (Autoconf Language): Give an example of improper argument passing. * THANKS: Update. Reported by Juan Carlos Hurtado. 2010-01-06 Ralf Wildenhues Don't fail autom4te preselection test due to different Automake. * tests/tools.at (autom4te preselections): If the cache test fails, extract the Automake version from the toplevel Makefile.in file of the source tree; skip, rather than fail the test group if the automake program has a different version. * THANKS: Update. Report by Dieter Jurzitza, fix suggested by Eric Blake. 2010-01-06 Peter Breitenlohner Ralf Wildenhues Fix AC_CONFIG_LINKS to generated files when srcdir is absolute. * lib/autoconf/status.m4 (_AC_OUTPUT_LINK): Check $ac_source, not $srcdir, for being relative or absolute. * tests/torture.at (AC_CONFIG_LINKS): New test. (AC_CONFIG_LINKS and identical files): Extend test, avoid some forks. Report, patch and testcase example by Peter Breitenlohner. 2010-01-05 Eric Blake Improve release automation. * maint.mk (gnulib_dir, gnulib-version, bootstrap-tools) (announcement): Copy from latest gnulib maint.mk. * cfg.mk (announce_gen, gpg_key_ID): Delete. (bootstrap-tools): Override the default. Update upstream files. * GNUmakefile: Update via 'make fetch'. * build-aux/announce-gen: Likewise. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * build-aux/gendocs.sh: Likewise. * build-aux/gnupload: Likewise. * build-aux/move-if-change: Likewise. * build-aux/update-copyright: Likewise. * build-aux/vc-list-files: Likewise. * doc/standards.texi: Likewise. * cfg.mk (update-copyright-env): Enforce wrap column. Update copyright year. All files changed to add 2010, via 'make update-copyright'. 2009-12-31 Bruno Haible Improve documentation on Solaris tr bugs. * doc/autoconf.texi (Limitations of Usual Tools) : Refine description of NUL handling by Solaris tr. 2009-12-31 Eric Blake Another tr tweak. * doc/autoconf.texi (Limitations of Usual Tools) : Clarify previous commit. Reported by Ralf Wildenhues. 2009-12-29 Eric Blake Improve documentation on tr portability. * doc/autoconf.texi (Limitations of Usual Tools) : Refine description of NUL handling. Document set size issue. Reported by Bruno Haible. Fix comment in AC_CHECK_DECLS. * lib/autoconf/general.m4 (AC_CHECK_DECL): Document the includes argument to the shell function. 2009-12-15 Ralf Wildenhues Add testsuite exposure for shtool usage. * tests/foreign.at (shtool): New test. Report by Dmitry Grebeniuk. 2009-12-12 Eric Blake Improve wording about m4 quote characters. * doc/autoconf.texi (Autoconf Language): Autoconf quote characters come from m4sugar, not raw m4. (Active Characters): Mention that it is m4sugar which changes quotes from `' to []. * THANKS: Update. Suggested by Josef Vukovic. 2009-12-12 Ralf Wildenhues Revert "Improve AC_CONFIG_AUX_DIRS a bit." to fix shtool usage. * lib/autoconf/general.m4 (AC_CONFIG_AUX_DIRS): Revert test for shtool as install script. Regression introduced in 2.64. * NEWS, THANKS: Update. Report by Dmitry Grebeniuk. This reverts commit 93d9386de9c1320afed43f1337ac5ddb2d2dcbb4. 2009-12-09 Ralf Wildenhues Fix NEWS description for AC_FUNC_MMAP entry. * NEWS: Update. Fix 2.65 AC_TYPE_INT*_T macro body text regression. * lib/autoconf/types.m4 (_AC_TYPE_INT_BODY): Move helper enum definition to prologue section, to avoid syntax error. * NEWS, THANKS: Update. Report by Pierre Ynard. 2009-12-09 Paolo Bonzini Fix `recursion' test failure. * tests/m4sugar.at (recursion): Use empty diversion, not 0. 2009-12-05 Stefano Lattarini Ralf Wildenhues Document Solaris/Heirloom sh set -e issue with command substitutions. * doc/autoconf.texi (Limitations of Builtins): Fix typos `set -d' in previous example. Document failure to honor && lists with set -e and a command substitution in the failing command. Report and initial patch by Stefano Lattarini against Automake. 2009-12-04 Eric Blake Warn if using unnamed diversion. * lib/m4sugar/m4sugar.m4 (_m4_divert, m4_divert_push): Add optional parameter, which controls warning. (m4_divert_pop, m4_cleardivert, m4_divert_require) (_m4_require_call): Adjust callers. * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Likewise. * tests/m4sh.at (AT_DATA_LINENO): Avoid triggering the warning. * tests/m4sugar.at (AT_CHECK_M4SUGAR_TEXT, m4@&t@_append) (m4@&t@_text_wrap, recursion): Likewise. (m4@&t@_warn, m4@&t@_divert_stack): Adjust expected output. * tests/tools.at (autom4te and whitespace in file names) (autoconf: the empty token): Avoid triggering the warning. (autoconf: AC_PRESERVE_HELP_ORDER): New test. * tests/mktests.sh (ac_exclude_list): Retire prior test. * NEWS: Document the warning. * doc/autoconf.texi (Redefined M4 Macros) , : Make even more explicit that using these directly is discouraged. (Diversion support): Further warn against improper diversion changes. : Give an example of proper use. Reported by Mike Frysinger. 2009-11-30 Ralf Wildenhues manual: AC_SEARCH_LIBS also prepends to LIBS. * doc/autoconf.texi (Libraries): Document that AC_SEARCH_LIBS prepends to LIBS, just like AC_CHECK_LIB. 2009-11-27 Paolo Bonzini Bump m4.m4 serial number. * m4/m4: Bump serial number to 10. 2009-11-27 Harald van Dijk Fix m4 detection test on dash. * m4/m4 (AC_PROG_GNU_M4): Use AS_ECHO. 2009-11-24 Ralf Wildenhues Fix AC_FUNC_MMAP regression with C++ compiler in 2.65. * lib/autoconf/functions.m4 (AC_FUNC_MMAP): Use const char* for the constant string. Cast void* to char* for assignment. * NEWS, THANKS: Update. Report by Michal Čihař. Add pgfortran to list of Fortran 95+ compilers. * lib/autoconf/fortran.m4 (_AC_F95_FC): Add pgfortran before pgf95. Based on report by Jeff Squyres. 2009-11-22 Bruno Haible Fix failure of test 35 when the user has a .autom4te.cfg file. * tests/tools.at (autom4te cache creation): Skip the test if the user has a .autom4te.cfg file. 2009-11-21 Eric Blake Release Version 2.65. * NEWS: Mention the release. Prepare for release. * build-aux/announce-gen: Sync from upstream. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * cfg.mk (gnu_rel_host, url_dir_list): Move... * maint.mk: ...here, copying ideas from gnulib. (major): Rename... (stable): ...to this, copying gnulib. * HACKING (release): Document changes in process. Avoid spurious newline in traced macros. * bin/autoreconf.in (tracing): Drop newline before parsing traced arguments; regression from 2009-11-14. 2009-11-20 Eric Blake Allow absolute names in AT_TESTED. * lib/autotest/general.m4 (AT_INIT) : Check for absolute names before path walk. * THANKS: Update. Suggested by Allan Clark. 2009-11-14 Ralf Wildenhues Fix AC_CONFIG_SUBDIRS tracing in autoreconf. * bin/autoreconf.in (autoreconf_current_directory): Collapse newlines in the autoconf trace output, similar to how automake invokes autoconf, so that newlines do not matter in the argument to AC_CONFIG_SUBDIRS. * tests/torture.at (Deep Package): Expose this issue in the test. * THANKS: Update. Report by Nathan Schulte. 2009-11-09 Eric Blake Fix AC_FUNC_MMAP for cygwin. * lib/autoconf/functions.m4 (AC_FUNC_MMAP): Make the test more portable: Actually check for , and only use MAP_FIXED on an address previously returned from mmap. * THANKS: Update. Reported by Corinna Vinschen. 2009-11-04 Eric Blake Redocument AS_DIRNAME, even with its flaws. * doc/autoconf.texi (Common Shell Constructs) : Restore documentation, since dirname mentions it. Reported by Peter Johansson. Update upstream files. * build-aux/announce-gen: Synchronize from upstream. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * build-aux/gendocs.sh: Likewise. * build-aux/git-version-gen: Likewise. * build-aux/texinfo.tex: Likewise. * build-aux/update-copyright: Likewise. * doc/standards.texi: Likewise. * lib/Autom4te/Channels.pm: Likewise. * lib/Autom4te/Configure_ac.pm: Likewise. * lib/Autom4te/FileUtils.pm: Likewise. * lib/Autom4te/Struct.pm: Likewise. * lib/Autom4te/XFile.pm: Likewise. 2009-11-04 Ralf Wildenhues Coverage for autom4te cache creation issues. * tests/tools.at (autom4te cache creation): New test. 2009-11-03 Ralf Wildenhues Fix testsuite failures with SHELL=zsh. * tests/statesave.m4 (AC_STATE_SAVE): Ignore argv and ARGC when comparing configure variables. 2009-11-03 Eric Blake and Ralf Wildenhues Update NEWS for recent fixes. * NEWS: Add some entries. 2009-10-31 Ralf Wildenhues Micro-optimization of config.status substitution. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): No need to concatenate an empty second string, when we have exactly 148 characters to substitute. * tests/torture.at (Substitute a 2000-byte string): Add test exposure for runs of backslashes near the 148 character limit. Fix testsuite failure on AIX 4.3.3. * lib/autoconf/general.m4 (_AC_RUN_LOG_LIMIT): Remove conftest.err also if it is empty. Fix testsuite failure on IRIX and AIX. * tests/torture.at (Substitute and define special characters): Double the backslash before the double-quote in AC_DEFINE_UNQUOTED, as documented for here-documents. 2009-10-31 Eric Blake Fix cross-manual link to gcc. * doc/autoconf.texi (Portable C and C++): Provide uref rather than xref when building for html. Reported via Karl Berry. Update authors. * AUTHORS: Document recent copyright assignments. 2009-10-31 Ralf Wildenhues Fix AC_OPENMP configure message for non-C compilers. * lib/autoconf/lang.m4 (AC_LANG_DEFINE): Accept as additional fourth arg the compiler variable name, defined in _AC_CC($1). (_AC_CC): New language dispatch macro. * lib/autoconf/erlang.m4 (AC_LANG(Erlang)): Adjust. * lib/autoconf/fortran.m4 (AC_LANG(Fortran 77), AC_LANG(Fortran)): Likewise. * lib/autoconf/c.m4 (AC_LANG(C), AC_LANG(C++)) (AC_LANG(Objective C), AC_LANG(Objective C++)): Likewise. (AC_OPENMP): Use _AC_CC instead of $CC. Do not fail OpenMP tests on systems without aclocal. * tests/c.at (AC_OPENMP and C, AC_OPENMP and C++): Override `ACLOCAL=true' for autoreconf, the tests don't need aclocal. * tests/fortran.at (AC_OPENMP and Fortran 77) (AC_OPENMP and Fortran): Likewise. 2009-10-31 Bruno Haible Ralf Wildenhues Improve cache variable documentation. * doc/autoconf.texi (AC_PROG_AWK, AC_PROG_GREP, AC_PROG_EGREP, AC_PROG_FGREP, AC_PROG_INSTALL, AC_PROG_MKDIR_P, AC_PROG_LEX, AC_PROG_YACC, AC_CHECK_PROG, AC_CHECK_PROGS, AC_PATH_PROG, AC_PATH_PROGS): Don't suggest to use the cache variable, only to override it, or preferably, a non-cache variable associated with the test. (AC_PROG_SED): Likewise. Fix name of cache variable. (AC_FUNC_GETMNTENT): Fix name cache variable. (AC_FUNC_LSTAT): Fix typo. 2009-10-31 Ralf Wildenhues Fix AC_OPENMP for Fortran (F77 and FC). * lib/autoconf/fortran.m4 (AC_LANG_FUNC_LINK_TRY(Fortran): New. * tests/c.at (AC_C_RESTRICT and C++, AC_OPENMP and C) (AC_OPENMP and C++): New tests. * tests/fortran.at (AC_OPENMP and Fortran 77) (AC_OPENMP and Fortran): New tests. * THANKS: Update. Report by Bart Oldeman. Perl coverage convenience targets. * Makefile.am (PERL_COVERAGE_DB, PERL_COVERAGE_FLAGS) (PERL_COVER): New variables. (check-coverage, check-coverage-run, check-coverage-report) (clean-coverage): New phony targets. (clean-local): Depend on clean-coverage. 2009-10-28 Eric Blake Fix corner cases in AS_LITERAL_IF and AS_TR_SH. * lib/m4sugar/m4sh.m4 (AS_LITERAL_IF): Fix bug with unbalanced parens. Move guts... (_AS_LITERAL_IF): into new helper. (AS_TR_SH, AS_TR_CPP): Fix bugs with expansion of wrong macro. Move guts... (_AS_TR_SH, _AS_TR_SH_LITERAL, _AS_TR_SH_INDIR, _AS_TR_CPP) (_AS_TR_CPP_LITERAL, _AS_TR_CPP_INDIR): ...into new helpers. (AS_VAR_PUSHDEF): Hoist m4_require, by moving guts... (_AS_VAR_PUSHDEF): ...into new helper. * tests/m4sh.at (AS@&t@_LITERAL_IF): Enhance test. Minor optimizations to m4sh. * lib/m4sugar/m4sh.m4 (AS_VAR_IF, AS_IDENTIFIER_IF) (AS_LITERAL_IF): Parse fewer bytes during expansion, by visiting if-true and if-false arguments only once. Optimize m4_escape for common case. * lib/m4sugar/m4sugar.m4 (m4_escape): Don't use regex if string is already sane, by copying from AS_LITERAL_IF. Move guts... (_m4_escape): ...into new helper. Fix m4_text_wrap handling of quoted whitespace. * lib/m4sugar/m4sugar.m4 (m4_escape): New macro. (m4_text_wrap): Use it to avoid issues with embedded [ and ]. * tests/m4sugar.at (m4@&t@_text_wrap): Test it. * NEWS: Document this. * doc/autoconf.texi (Text processing Macros) : Likewise. Reported by Mike Frysinger. 2009-10-27 Eric Blake Mention another feature of AC_RUN_IFELSE. * doc/autoconf.texi (Runtime) : Mention that compiled test program still exists during if-true branch. * THANKS: Update. Reported by Stefano Lattarini, suggestion by Ralf Wildenhues. 2009-10-26 Paolo Bonzini Pass Autom4te path down to programs that autoreconf invokes. * bin/autoreconf.in (autom4te): New variable. Export its value as $ENV{'AUTOM4TE'}. Suggested by Peter Johansson. * THANKS: Update. 2009-10-20 Eric Blake Fix AC_TYPE_UINT64_T on Tru64 with gcc 3.4.4. * lib/autoconf/types.m4 (_AC_TYPE_UNSIGNED_INT_BODY) (_AC_TYPE_INT_BODY): Avoid undefined behavior of attempting shift wider than type. * NEWS: Document this. Reported by Rainer Orth. 2009-10-17 Ralf Wildenhues Fix a couple of index entries in the manual. * doc/autoconf.texi (Polymorphic Variables): Fix index entries for AS_VAR_APPEND, AS_VAR_ARITH. 2009-10-15 Eric Blake Fix typos in INSTALL. * doc/install.texi (Basic Installation, Installation Names): Fix typos in last patch. Reported by Ralf Wildenhues. Improve INSTALL wording. * doc/install.texi (Basic Installation): Clarify installcheck behavior. (Installation Names): Mention that --prefix only overrides directory locations not specified on the command line. Prefer /alternate/directory over /path/to. Remove a sentence targeted to the developer, not the user. * THANKS: Update. Suggested by Alfred M. Szmidt. 2009-10-15 Peter Breitenlohner Fix typos in documentation. * doc/autoconf.texi (Cache Variable Index): Fix typo. (Libraries) : Mention 'none required' result. 2009-10-09 Bruno Haible Ralf Wildenhues Recommend `sh -n' debugging, and public result variables for macros. * doc/autoconf.texi (Debugging): Recommend to use "bash -n configure". Recommend the use of result variables as an alternative to run-if-true/run-if-false parameters. 2009-10-05 Bruno Haible * doc/autoconf.texi (Particular Functions): Swap sections about AC_FUNC_MBRTOWC and AC_FUNC_MEMCMP. 2009-10-01 Paolo Bonzini Unconditionally check for junk ./--version after mkdir search loop. * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Always check for presence of ./--version. Reported by Eric Blake. 2009-09-22 Ralf Wildenhues Clarify documentation about Solaris sed quantifier restriction. * doc/autoconf.texi (Limitations of Usual Tools) : '*' does not work after subexpressions, \{M,N\} only after one-character expressions. From GCC PR 38923. 2009-09-21 Eric Blake Fit configure output in 80 columns. * lib/autoconf/functions.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Shorten message. 2009-09-18 Ralf Wildenhues Use consistent notation for cache variables. * doc/autoconf.texi (Generic Programs): Remove `$' before variable name. Documentation of specific and general cache variables. * doc/autoconf.texi (Default Includes, Alternative Programs) (Particular Programs, Generic Programs, Files, Libraries) (Function Portability, Particular Functions, Generic Functions) (Particular Headers, Generic Headers, Declarations) (Generic Declarations, Particular Structures, Particular Types) (Specific Compiler Characteristics) (Generic Compiler Characteristics, C Compiler, System Services): Document lots of cache variables. * NEWS: Update. Suggested by Bruno Haible. New cache variable index in the manual. * doc/autoconf.texi: Define new index `CA' for cache variables. (caindex): New macro. (Cache Variable Index): New appendix node. (Top, Indices): Adjust menus. (Cache Variable Names, Site Defaults): Adjust text. * doc/Makefile.am (CLEANFILES): Add files generated for CA index. New FAQ node: Debugging. * doc/autoconf.texi (Debugging): New node. (Top, FAQ): Adjust menus. Report by Bruno Haible. Document AM_MAKEFLAGS workaround to the macro override problem. * doc/autoconf.texi (Macros and Submakes): Automake makefiles provide AM_MAKEFLAGS to help with overriding macros in submake invocations. Prompted by bug report from Bruno Haible. 2009-09-15 Peter Breitenlohner Implement and document Objective C++ support. * lib/autoconf/c.m4 (AC_LANG(Objective C++), AC_LANG_OBJCXX) (AC_LANG_PREPROC(Objective C++), AC_PROG_OBJCXXCPP) (AC_LANG_COMPILER(Objective C++), AC_PROG_OBJCXX) (_AC_PROG_OBJCXX_G): New macros. (_AC_ARG_VAR_CPPFLAGS, _AC_ARG_VAR_LDFLAGS) (_AC_ARG_VAR_LIBS): Adjusted. * doc/autoconf.texi (Objective C++ Compiler): New node. (Preset Output Variables): Document OBJCXXFLAGS. (Language Choice): Document `Objective C++' language. * NEWS: Updated. * tests/local.at (AT_CHECK_ENV): Ignore AC_SUBSTed Objective C++ related variables. 2009-09-15 Ralf Wildenhues Work around DJGPP shell function return bug with command substitutions. DJGPP bash 2.04 has a bug in that `return $ac_retval' done in a shell function which also contains a command substitution causes the shell to barf. For more details and a fix see: Possible workaround include putting the `return' in a subshell or calling another function to set the status. * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY) (_AC_COMPILE_IFELSE_BODY, _AC_LINK_IFELSE_BODY) (_AC_RUN_IFELSE_BODY, _AC_COMPUTE_INT_BODY): Use AS_SET_STATUS instead of `return'. * doc/autoconf.texi (Common Shell Constructs, Shell Functions): Document the issue. * THANKS: Update. Report by Rugxulo and Reuben Thomas. DJGPP fix: Do not redirect standard input in configure scripts. * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): If $DJGPP is nonempty, do not dup fd 0 to AS_ORIGINAL_STDIN_FD, do not close fd 0. 2009-09-14 Eric Blake Quote result of m4_toupper and m4_tolower. * lib/m4sugar/m4sugar.m4 (m4_tolower, m4_toupper): Quote result. * lib/autotest/general.m4 (AT_KEYWORDS): Adjust caller. * tests/m4sugar.at (m4@&t@_toupper and m4@&t@_tolower): New test. * NEWS: Document this. * THANKS: Update. Reported by Sam Steingold. 2009-09-14 Ralf Wildenhues DJGPP fix: remove both conftest and conftest.exe. The DJGPP compiler may create both `a.out' and `a.exe' without -o, and both `conftest' and `conftest.exe' with `-o conftest', but not with `-o conftest.exe'. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_O): Also remove `conftest' without $ac_exeext suffix. DJGPP fix: do not try to source /dev/null as cache or site file. * lib/autoconf/general.m4 (AC_SITE_LOAD, AC_CACHE_LOAD): Do not load the cache or site file if it is `/dev/null', as DJGPP treats it as a regular file, but the shell then warns about it later. Fixes several test suite failures on DJGPP. testsuite: pass $configure_options to configure invocations. * tests/local.at (AT_CHECK_CONFIGURE): Add $configure_options to configure command line. * tests/autotest.at, tests/base.at, tests/c.at, tests/torture.at: Likewise for each configure invocation. * README-hacking: Document configure_options. testsuite: improve Erlang tests portability, overridability. * tests/autotest.at (Erlang Eunit unit tests): Use "no" as value-if-not-found for Erlang tools. * tests/erlang.at: Likewise. Also, use AS_EXIT instead of plain exit. 2009-09-13 Ralf Wildenhues * bin/autoupdate.in: Fix typos in comments. Improve autotest testsuite summary message. * lib/autotest/general.m4 (AT_INIT): Hint at the toplevel log only if not $at_debug_p. Always hint at the per-test output. Four new autoupdate tests, expected failures. * tests/tools.at (autoupdating macros recursively) (autoupdating with m4@&t@_pushdef, autoupdating with AC_REQUIRE) (autoupdating with complex quoting): New tests. Fix description of AC_CHECK_LIB regarding other deplibs. * doc/autoconf.texi (Libraries): Library linking may not fail even without missing additional libs. 2009-09-12 Eric Blake Track recent copyright assignments. * AUTHORS: Update. Improve documentation on quoting. * doc/autoconf.texi (Autoconf Language): Clarify quoting example. * THANKS: Update. Reported by santilín. 2009-09-11 Ralf Wildenhues New config.status option --config. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Implement --config. * doc/autoconf.texi (config.status Invocation): Document it. * NEWS: Update. * tests/torture.at (configure invocation): Test it. Suggested several times, by several people, in the past. 2009-09-10 Eric Blake Document that AS_INIT is automatically used. * doc/autoconf.texi (Initialization Macros) : Add words to clarify that only bare-bones scripts need a direct AS_INIT. Suggested by Reuben Thomas. Clarify portability pitfall of test. * doc/autoconf.texi (Limitations of Builtins) : Give more reasons why -a and -o are not portable. Reported by Reuben Thomas. 2009-09-10 Ralf Wildenhues Document sed limitation with escaped metacharacters. * doc/autoconf.texi (Limitations of Usual Tools) : Use `%' rather than `/' as delimiter in an example `s' command. Document inconsistent treatment of escaped metacharacters. * THANKS: Update. Report by Dave Korn, with additional input from Paolo Bonzini and Eric Blake. Document temporary directory `$tmp' for use in config.status. * doc/autoconf.texi (Configuration Actions): Document `$tmp'. * NEWS: Update. 2009-09-09 Ralf Wildenhues Update License to GPLv3+ including new Autoconf Exception. * NEWS, README: Update licensing information. * COPYING.EXCEPTION: New file. * Makefile.am (EXTRA_DIST): Distribute it. * cfg.mk (autom4te-update): Remove copyright change warning. * lib/autoconf/autoconf.m4, lib/autoconf/autoheader.m4, lib/autoconf/autoscan.m4, lib/autoconf/autotest.m4, lib/autoconf/autoupdate.m4, lib/autoconf/c.m4, lib/autoconf/erlang.m4, lib/autoconf/fortran.m4, lib/autoconf/functions.m4, lib/autoconf/general.m4, lib/autoconf/headers.m4, lib/autoconf/lang.m4, lib/autoconf/libs.m4, lib/autoconf/oldnames.m4, lib/autoconf/programs.m4, lib/autoconf/specific.m4, lib/autoconf/status.m4, lib/autoconf/types.m4, lib/autotest/autotest.m4, lib/autotest/general.m4, lib/autotest/specific.m4, lib/m4sugar/foreach.m4, lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4: Update exception statement, bump to GPLv3. * bin/autoconf.as, bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in: Bump to GPLv3+, adjust --version output to reflect the GPLv3+ and the Autoconf Exception. * lib/Autom4te/C4che.pm, lib/Autom4te/ChannelDefs.pm, lib/Autom4te/General.pm, lib/Autom4te/Request.pm, lib/autom4te.in, lib/autoscan/autoscan.pre, lib/emacs/autoconf-mode.el, lib/emacs/autotest-mode.el, lib/freeze.mk, tests/atlocal.in, tests/autoscan.at, tests/autotest.at, tests/base.at, tests/c.at, tests/compile.at, tests/erlang.at, tests/foreign.at, tests/fortran.at, tests/local.at, tests/m4sh.at, tests/m4sugar.at, tests/mktests.sh, tests/semantics.at, tests/statesave.m4, tests/suite.at, tests/tools.at, tests/torture.at, tests/wrapper.as: Bump to GPLv3+. Allow to work on systems without Fcntl::flock implementation. * configure.ac (PERL_FLOCK): New substitution variable with test whether Fcntl::flock is implemented by the system. * bin/Makefile.am (edit): Substitute @PERL_FLOCK@. * bin/autom4te.in: Call XFile::lock only if flock is implemented. 2009-09-04 Reuben Thomas (tiny change) Mention the Autoconf archive. * doc/autoconf.texi (Coding Style): Add a link. 2009-08-30 Bruno Haible Document another Solaris tr pitfall. * doc/autoconf.texi (Limitations of Usual Tools) : Mention that Solaris /usr/bin/tr does not only have problems with replacing NUL bytes but discards all NUL bytes from the input. 2009-09-04 Eric Blake Improve wording about what goes before AC_INIT. * doc/autoconf.texi (Initializing configure): Update wording. (Versioning) : Remove misleading text, to match autoscan's behavior. * THANKS: Update. Reported by NightStrike, with input from Ralf Wildenhues. 2009-09-04 Thomas Jahns (tiny change) Fix illegal tab character in Fortran source. * lib/autoconf/fortran.m4 (AC_FC_SRCEXT): Change TAB back to multiple spaces; regression introduced 2008-10-23. * NEWS: Mention this. * THANKS: Update. 2009-08-22 Romain Lenglet Fix AT_CHECK_EUNIT for versions of Erlang/OTP without init:stop/1. * lib/autotest/specific.m4 (AT_CHECK_EUNIT): Support older versions of Erlang/OTP with an erlang:stop() function that doesn't take arguments. 2009-08-22 Ralf Wildenhues Drop unneeded line in Eunit test. * tests/autotest.at (Erlang Eunit unit tests): Do not copy install-sh. Fix build dependencies for Erlang macro files. * lib/freeze.mk (autotest_m4f_dependencies): Add $(src_libdir)/autotest/specific.m4. * tests/Makefile.am (AUTOCONF_FILES): Add erlang.m4. 2009-09-19 Paolo Bonzini Use a separate program to test whether the compiler works. * lib/autoconf/erlang.m4 (_AC_LANG_NULL_PROGRAM(Erlang)): New. * lib/autoconf/lang.m4 (AC_LANG_DEFINE): Copy _AC_LANG_NULL_PROGRAM. (_AC_LANG_NULL_PROGRAM(), _AC_LANG_NULL_PROGRAM): New. (_AC_COMPILER_EXEEXT_DEFAULT): Print here "whether the xyz compiler works", before exiting. (_AC_COMPILER_EXEEXT_WORKS): Merge into _AC_COMPILER_EXEEXT_CROSS, remove the "whether the xyz compiler works" message, use conftest$ac_cv_exeext instead of $ac_file. (_AC_COMPILER_EXEEXT): Try _AC_COMPILER_EXEEXT_DEFAULT using the null program, and clean conftest.out only after _AC_COMPILER_EXEEXT_CROSS. (AC_NO_EXECUTABLES): Use _AC_LANG_NULL_PROGRAM. (_AC_COMPILER_OBJEXT): Use _AC_LANG_NULL_PROGRAM. 2009-08-18 Bruno Haible Document Solaris tr range and NUL limitations. * doc/autoconf.texi (Limitations of Usual Tools): Mention that Solaris /usr/bin/tr does not support ranges, nor the '\0' octal escape. 2009-08-14 Eric Blake Simplify version control metadata. * .cvsignore: Delete. * bin/.cvsignore: Likewise. * config/.cvsignore: Likewise. * doc/.cvsignore: Likewise. * lib/.cvsignore: Likewise. * lib/autoconf/.cvsignore: Likewise. * lib/Autom4te/.cvsignore: Likewise. * lib/autoscan/.cvsignore: Likewise. * lib/autotest/.cvsignore: Likewise. * lib/emacs/.cvsignore: Likewise. * lib/m4sugar/.cvsignore: Likewise. * man/.cvsignore: Likewise. * tests/.cvsignore: Likewise. * bin/.gitignore: Likewise. * build-aux/.gitignore: Likewise. * config/.gitignore: Likewise. * doc/.gitignore: Likewise. * lib/.gitignore: Likewise. * lib/autoconf/.gitignore: Likewise. * lib/Autom4te/.gitignore: Likewise. * lib/autoscan/.gitignore: Likewise. * lib/autotest/.gitignore: Likewise. * lib/emacs/.gitignore: Likewise. * lib/m4sugar/.gitignore: Likewise. * man/.gitignore: Likewise. * tests/.gitignore: Likewise. * .gitignore: Consolidate all rules into one file. Normalize remaining copyright lines. * BUGS: Reformat copyright line, using UPDATE_COPYRIGHT_FORCE. * NEWS: Likewise. * README-hacking: Likewise. * TODO: Likewise. * lib/Autom4te/ChannelDefs.pm: Likewise. * lib/autoconf/fortran.m4: Likewise. * lib/autoconf/general.m4: Likewise. * lib/autoconf/lang.m4: Likewise. * lib/autotest/general.m4: Likewise. * maint.mk: Likewise. * tests/compile.at: Likewise. Improve copyright updating. * build-aux/update-copyright: Resynchronize from upstream. * maint.mk (update-copyright): Simplify based on gnulib. (update-copyright-env): New variable. * cfg.mk (update-copyright-exclude-regexp): Delete. (update-copyright-env): New override. * .x-update-copyright: New file. * lib/Autom4te/Makefile.am: Add copyright. * lib/Autom4te/Channels.pm: Revert copyright update to upstream file. * lib/Autom4te/Configure_ac.pm: Likewise. * lib/Autom4te/FileUtils.pm: Likewise. * lib/Autom4te/Struct.pm: Likewise. * lib/Autom4te/XFile.pm: Likewise. Update copyright. * AUTHORS: Include 2009 in copyright. * lib/Autom4te/C4che.pm: Likewise. * lib/Autom4te/Channels.pm: Likewise. * lib/Autom4te/Configure_ac.pm: Likewise. * lib/Autom4te/FileUtils.pm: Likewise. * lib/Autom4te/General.pm: Likewise. * lib/Autom4te/Request.pm: Likewise. * lib/Autom4te/Struct.pm: Likewise. * lib/autoconf/Makefile.am: Likewise. * lib/autoconf/autoconf.m4: Likewise. * lib/autoconf/autoscan.m4: Likewise. * lib/autoconf/autoupdate.m4: Likewise. * lib/autoconf/functions.m4: Likewise. * lib/autoconf/libs.m4: Likewise. * lib/autoconf/oldnames.m4: Likewise. * lib/autoconf/types.m4: Likewise. * lib/autoscan/Makefile.am: Likewise. * lib/autoscan/autoscan.pre: Likewise. * lib/autotest/Makefile.am: Likewise. * lib/autotest/autotest.m4: Likewise. * lib/emacs/autoconf-mode.el: Likewise. * lib/emacs/autotest-mode.el: Likewise. * lib/freeze.mk: Likewise. * lib/m4sugar/foreach.m4: Likewise. * man/Makefile.am: Likewise. * tests/atlocal.in: Likewise. * tests/autoscan.at: Likewise. * tests/foreign.at: Likewise. * tests/fortran.at: Likewise. * tests/mktests.sh: Likewise. * tests/semantics.at: Likewise. * tests/suite.at: Likewise. * tests/wrapper.as: Likewise. Prepare to bulk update copyright years. * build-aux/update-copyright: New file. * cfg.mk (gnulib-update): Sync it from gnulib. (update-copyright-exclude-regexp): New variable. (web-manual): Move... * maint.mk (web-manual): ...here, to match gnulib. (update-copyright): New target, copied from gnulib's maint.mk (it would be nice to sync this file...). (build_aux): New macro. (VC_LIST, emit_upload_commands): Use it. * build-aux/texinfo.tex: Resynchronize from upstream. * lib/autoconf/general.m4 (_AC_COPYRIGHT_YEARS): Reformat to meet expected pattern. * lib/autotest/general.m4 (_AT_COPYRIGHT_YEARS): Likewise. 2009-08-12 Paolo Bonzini Fix testsuite log capturing for tests 183 and 186. * tests/autotest.at (AT_CHECK_AT_PREP): Prepend AT_dir to testsuite log file for AT_CAPTURE_FILE. 2009-08-10 Ralf Wildenhues Ensure we do not regress with AC_CHECK_MEMBERS. * tests/semantics.at (AC_CHECK_MEMBERS): Expose the recent AC_CHECK_MEMBERS fix. (AC_CHECK_MEMBER): New test group. 2009-08-10 Jeff Squyres (tiny change) Fix typo in AC_REQUIRE description. * doc/autoconf.texi (Prerequisite macros): Fix typo. 2009-08-10 Paolo Bonzini Fix description of the macro generated by AC_CHECK_MEMBERS. * lib/autoconf/types.m4 (_AC_CHECK_MEMBERS): Fix regex replacement. Reported by Bruno Haible. 2009-08-07 Romain Lenglet * lib/autoconf/erlang.m4 (AC_LANG(Erlang)): Make AC_RUN_IFELSE fail if the test module doesn't compile. 2009-08-02 Paolo Bonzini Use exit code to detect no occurrences with grep. * tests/autotest.at (Erlang Eunit unit tests): Fix grep invocation. 2009-08-01 Romain Lenglet Paolo Bonzini * lib/autotest/specific.m4 (AT_CHECK_EUNIT): New file. * lib/autotest/Makefile.am (dist_autotestlib_DATA): Add specific.m4. * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Add definitions of variables used by AT_CHECK_EUNIT macro: ERL, ERLC, ERLCFLAGS. * tests/autotest.at (Erlang Eunit unit tests): Add test for macro AT_CHECK_EUNIT. * doc/autoconf.texi (Writing Testsuites): Document macro AT_CHECK_EUNIT. * NEWS: Mention macro AT_CHECK_EUNIT. 2009-07-30 Paolo Bonzini Joel E. Denny Clarify comparison of echo, printf, and AS_ECHO*. * doc/autoconf.texi (Limitations of Builtins): In echo's entry, give a reason why printf is better than echo. In printf's entry, cross-reference echo's entry. 2009-07-30 Paolo Bonzini Add back AH_CHECK_HEADERS. * lib/autoconf/general.m4 (AH_CHECK_HEADERS): New. * NEWS: Create new section. 2009-07-29 Ralf Wildenhues testsuite: avoid bogus hostname match from inner test logs. * tests/autotest.at (Hard fail): Check more restrictively for passed tests, so that hostnames recorded in the log file do not wrongly match. Report by Ludovic Courtès. 2009-07-26 Eric Blake Release Version 2.64. * NEWS: Mention the release. * README: This release is stable. * HACKING (release): Use dist-xz, not dist-lzma. Document some optional features in INSTALL. * doc/install.texi (Basic Installation): Mention that INSTALL is generic, and that not all packages implement all features. Mention 'make distcheck' for maintainers, and 'make installcheck' for users. Mention the GNU Coding Standards. (Installation Names): Mention DESTDIR vs. 'make prefix= install' as ways to alter the configuration, with caveats of each. Move --program-prefix discussion... (Optional Features): ...here. Mention --enable-silent-rules and use of make V=0. Basic improvements to INSTALL. * doc/install.texi (Basic Installation): Use better markup. (Multiple Architectures): Introduce the term VPATH. (Installation Names): Mention that --prefix must be absolute. * doc/autoconf.texi (Preset Output Variables) (Installation Directory Variables): Consistently refer to GNU Coding Standards. Update some upstream files. * build-aux/config.guess: Resynchronize from upstream. * build-aux/config.sub: Likewise. * build-aux/texinfo.tex: Likewise. * build-aux/vc-list-files: Likewise. * doc/standards.texi: Likewise. 2009-07-25 Eric Blake Recognize new m4sugar keywords. * lib/emacs/autoconf-mode.el (autoconf-current-defun): Recognize m4_define_default, m4_defun_init, m4_defun_once. (autoconf-font-lock-keywords): Likewise. Require m4 1.4.6, and fix testsuite to support this version. * m4/m4.m4 (AC_PROG_GNU_M4): Reject m4 1.4.5, now that we use regexp it can't handle. * NEWS: Mention minimum version bump. * README: Likewise. * README-hacking: Likewise. * doc/autoconf.texi (Introduction, Why GNU M4): Likewise. * tests/tools.at (autom4te --trace and whitespace): Update test so still work with older m4 line numbers. * tests/m4sugar.at (m4@&t@_require: nested): Likewise. Reported by Ralf Wildenhues. 2009-07-25 Bruno Haible Clarify autom4te debugging tips. * doc/autoconf.texi (Debugging via autom4te): Fix example from previous commit, and add clarification. 2009-07-25 Eric Blake Document some autom4te debugging tips. * doc/autoconf.texi (Debugging via autom4te): New node. Suggested by Bruno Haible. Fix font-lock. * configure.ac (ac_cv_unsupported_fs_chars): Make editing easier. Let autoheader see through m4 macros in AC_DEFINE. * lib/autoconf/general.m4 (AC_DEFINE_TRACE): Expand macro before tracing its name. * lib/autoconf/autoheader.m4 (AH_VERBATIM, AH_TEMPLATE): Likewise, for using the macro in a template file. * tests/tools.at (autoheader and macros): New test. * NEWS: Mention this. Reported by Bruno Haible. Improve NEWS wording. * NEWS: Use more accurate statement. Suggestedy by Ralf Wildenhues. 2009-07-24 Eric Blake Fix AS_EXIT for FreeBSD sh. * lib/m4sugar/m4sh.m4 (AS_EXIT): Always supply an argument to the shell function, since $? is not reliable on function entry. (_AS_EXIT_PREPARE): Simplify to assume argument. Reported by Ralf Wildenhues. 2009-07-23 Eric Blake Run more tests under Solaris. * tests/local.at (AT_CHECK_AUTOCONF): Don't skip entire test group when passing over syntax checks. 2009-07-23 Romain Lenglet Clean up temporary files generated by Erlang macros. * lib/autoconf/erlang.m4 (AC_ERLANG_CHECK_LIB) (AC_ERLANG_SUBST_ROOT_DIR, AC_ERLANG_SUBST_LIB_DIR) (AC_ERLANG_SUBST_ERTS_VER): Delete conftest.out; renamed erlang_cv_* cache variables into ac_cv_erlang_*. * lib/autoconf/general.m4 (AC_RUN_IFELSE): Delete conftest.beam files generated by Erlang compiler. * tests/local.at (AT_CHECK_ENV): Ignore variables defined by Erlang macros. * tests/erlang.at (AT_SETUP_ERLANG): Delete; replace all uses by AT_CHECK_MACRO. * tests/Makefile.am (AUTOCONF_FILES): Revert previous addition of generated Erlang tests; they are all hand-tested. Add autotests for Erlang macros. * tests/erlang.at: Added tests for all macros in erlang.m4. * tests/Makefile.am (TESTSUITE_HAND_AT, AUTOCONF_FILES): Added erlang.at. * tests/suite.at: Likewise. * tests/compile.at (AC_LANG, AC_LANG_PUSH & AC_LANG_POP): Added test for extension of Erlang files. (Multiple languages): Use correct m4 quoting. * NEWS: Mention this. 2009-07-22 Eric Blake Fix test of autom4te from stdin. * tests/tools.at (autom4te cache locking): Make stdin request explicit, so that --force is properly used. 2009-07-16 Eric Blake Don't hide leading space in autom4te --trace output. * bin/autom4te.in (handle_traces): Don't flatten leading and trailing space, since tracing spacing bugs can be useful. * tests/tools.at (autom4te --trace and whitespace): New test. 2009-07-13 Eric Blake Document that $srcdir can be used during configure. * doc/autoconf.texi (Preset Output Variables): Add a paragraph. * THANKS: Update. Reported by Monty Taylor. 2009-07-13 Eric Blake Disable asynchronous job notification for parallel tests. * lib/autotest/general.m4 (AT_INIT) : Turn off notify mode, since zsh leaves it on after 'emulate sh'. * doc/autoconf.texi (Limitations of Builtins) : Document that job control options are not portable. Guarantee that exit status trumps output matching. * doc/autoconf.texi (Writing Testsuites) : Document this better. * tests/autotest.at (Skip, parallel skip): Enhance tests. Fix nits in recent patches. * configure.ac (ac_cv_dir_trailing_space): Avoid $status, for zsh. * doc/autoconf.texi (Writing Testsuites) : Tweak wording. (Introduction): Recommend m4 1.4.13. * README: Likewise. * m4/m4.m4 (AC_PROG_GNU_M4): Likewise. Use long option --gnu rather than -g. 2009-07-13 Paolo Bonzini Introduce AT_SKIP_IF and AT_FAIL_IF * NEWS: Mention AT_SKIP_IF and AT_FAIL_IF. * doc/autoconf.texi (Autotest): Document them. * lib/autotest/general.m4 (_AT_LINE_ESCAPED, AT_SKIP_IF, AT_FAIL_IF, _AT_CHECK_EXIT): New. (AT_CHECK): Use _AT_LINE_ESCAPED. * tests/autotest.at: Add tests for AT_SKIP_IF and AT_FAIL_IF. Use AT_SKIP_IF. * tests/local.at: Use AT_SKIP_IF. 2009-07-13 Paolo Bonzini Use m4 -g when available. * m4/m4.m4: Unset POSIXLY_CORRECT during first test. Test for -g. Warn user if he has POSIXLY_CORRECT set but -g is not supported. * bin/Makefile.am: Substitute @M4_GNU@ into generated files. * bin/autom4te.in: Pass @M4_GNU@ to m4. 2009-07-13 Eric Blake Fix previous patch. * lib/autotest/general.m4 (at_fn_check_prepare_notrace): Use proper m4 quoting. (_AT_DECIDE_TRACEABLE): Likewise. 2009-07-13 Paolo Bonzini * lib/autotest/general.m4 (at_fn_check_prepare_notrace): Use $at_trace_echo. Add new REASON argument. (at_fn_check_prepare_trace): Do not call at_fn_check_prepare_notrace. Use $at_check_filter_trace. (at_fn_check_prepare_dynamic): Use at_fn_check_prepare_notrace. (at_traceon): Initialize to ':'. (at_traceoff): Remove, use 'set +x' instead throughout. (at_check_filter_trace, at_trace_echo): New shell variables. Initialize them if tracing is requested. (_AT_DECIDE_TRACEABLE): Adjust call to at_fn_check_prepare_notrace. 2009-07-12 Paolo Bonzini Move atlocal feature tests to configure * configure.ac: Test for unsupported characters in files and directories here... * tests/atlocal.in: ... and not here. 2009-07-09 Eric Blake Fix test typo. * tests/m4sh.at (AS@&t@_INIT_GENERATED): Close fd, rather than creating file named -. Fix testsuite under dash. * tests/m4sh.at (LINENO stack, AS@&t@_BASENAME, AS@&t@_DIRNAME) (AS@&t@_ECHO and AS@&t@_ECHO_N, AS@&t@_EXIT, AS@&t@_MKDIR_P) (AS@&t@_VERSION_COMPARE, as_me, Negated classes in globbing) (Functions Support, Functions and return Support) (Nested AS@&t@_REQUIRE_SHELL_FN, Nested AS@&t@_REQUIRE) (AS@&t@_REQUIRE_SHELL_FN and m4@&t@_require, AS@&t@_HELP_STRING) (AS@&t@_IF and AS@&t@_CASE, AS@&t@_FOR, AS@&t@_LITERAL_IF) (AS@&t@_VAR basics, AS@&t@_VAR_APPEND, AS@&t@_VAR_ARITH) (AS@&t@_INIT cleanup, AS@&t@_INIT_GENERATED, AS@&t@_MESSAGE_FD) (_AS@&t@_CLEAN_DIR, ECHO_C): Allow testing different CONFIG_SHELL options during the testsuite run. Reported by Ralf Wildenhues. 2009-07-09 Ralf Wildenhues Ignore messages on stderr when testing for the zsh issue. * tests/autotest.at (AT_SKIP_PARALLEL_TESTS): Ignore stderr. 2009-07-07 Eric Blake Skip parallel tests when zsh 'set -m' fails. * tests/autotest.at (AT_SKIP_PARALLEL_TESTS): Skip test if set -m is not supported. Reported by Ralf Wildenhues. Make parallel testsuite more portable. * lib/autotest/general.m4 (AT_INIT) : Avoid <>; instead open write descriptor in each group and read descriptor in main driver. * tests/autotest.at (AT_SKIP_PARALLEL_TESTS): Relax condition. 2009-07-03 Eric Blake Avoid syntax error in ash. * lib/autotest/general.m4 (AT_INIT) : Avoid syntax errors on shells that don't recognize <>. * tests/autotest.at (AT_SKIP_PARALLEL_TESTS): Also skip parallel tests for this reason. Skip based on the shell to be tested, not the shell driving the testsuite. (parallel syntax error): Rearrange similar to previous patch. (parallel test execution): Defer skip until after serial tests. 2009-07-02 Eric Blake Skip test on shells that can't catch syntax failure. * tests/autotest.at (Syntax error): Skip test if shell aborts on syntax error (AIX ksh88) or doesn't detect it (zsh). * doc/autoconf.texi (Limitations of Builtins) <.>: Mention these limitations. Reported by Ralf Wildenhues. 2009-06-30 Jan Madzik (tiny change) Ralf Wildenhues Avoid AIX 6.1 ksh88 ECHO_C command substitution bug. * lib/m4sugar/m4sh.m4 (_AS_ECHO_N_PREPARE): Ensure more than one character is output with `\c'; reset echo output state if buggy ksh was detected, and set ECHO_T instead of ECHO_C. * doc/autoconf.texi (Limitations of Builtins): Document it. * tests/m4sh.at (ECHO_C): New test. * THANKS: Update. 2009-06-27 William Pursell (tiny change) Fix grammaro in documenation. * doc/autoconf.texi (Guidelines): Fix grammaro. 2009-06-17 Eric Blake Fix AC_CHECK_HEADER infloop for gcc. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_NEW) (_AC_CHECK_HEADER_OLD): Give up on AU_DEFUN, and manually warn about obsoletion, to avoid infinite loop in gcc. Reported by Ralf Wildenhues. 2009-06-15 Eric Blake Add m4_copy_force, m4_rename_force. * lib/m4sugar/m4sugar.m4 (m4_copy_force, m4_rename_force): New macros. * tests/m4sugar.at (m4@&t@_defn): Test them. * doc/autoconf.texi (Redefined M4 Macros) : Document them. * NEWS: Likewise. Suggested by Ralf Wildenhues. Reinstate _AC_CHECK_HEADER_OLD for gcc. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_NEW) (_AC_CHECK_HEADER_OLD): Provide autoupdate versions, since gcc and others used these undocumented macros. Reported by Ralf Wildenhues. 2009-06-12 Ralf Wildenhues Fix concurrent autom4te.cache directory creation race. * bin/autom4te.in: Do not error out if another `autom4te' instance created the cache directory before we could. 2009-06-11 Steven G. Johnson and Eric Blake Create a file in test program when detecting cross-compilation. * lib/autoconf/lang.m4 (_AC_LANG_IO_PROGRAM): New macro, returns program that creates a file. (_AC_COMPILER_EXEEXT,_AC_COMPILER_EXEEXT_WORKS): Call new macro and document why it's needed to robustly detect cross-compiling. (AC_LANG_DEFINE): Copy implementation across similar languages. * lib/autoconf/c.m4 (_AC_LANG_IO_PROGRAM(C)): Implement new macro. * lib/autoconf/fortran.m4 (_AC_LANG_IO_PROGRAM(Fortran 77)): Likewise. * lib/autoconf/erlang.m4 (_AC_LANG_IO_PROGRAM(Erlang)): Likewise. 2009-06-11 Eric Blake Simplify AC_LANG(Fortran). * lib/autoconf/fortran.m4 (AC_LANG(Fortran)): Borrow from Fortran 77, which requires reordering portions of the file. (AC_LANG_PROGRAM(Fortran), AC_LANG_CALL(Fortran)): Now defined automatically. Clarify m4_copy semantics. * doc/autoconf.texi (Redefined M4 Macros) : Update documentation. * tests/m4sugar.at (m4@&t@_defn): Enhance test. 2009-06-06 Eric Blake Improve documentation on trap pitfalls. * doc/autoconf.texi (Limitations of Builtins) : Mention new Posix 2008 requirement on trap, and dash bug in implementing it. Mention various shell bugs with traps defined inside subshells. Mention older bash limitation with single-command exit trap. : Mention another 'set -e' limitation. Reported by Jens Schmidt. 2009-06-06 Jim Meyering Improve testsuite --help * lib/autotest/general.m4: Correct the example in ./testsuite --help. Improve wording. 2009-06-06 Eric Blake Document fallback behavior of AC_PROG_LEX. * doc/autoconf.texi (Particular Programs) : Mention why fallback is :, and that a --version check must be used to determine whether flex was found. Reported by Patrick Welche. 2009-05-28 Jim Meyering Fix syntax errors in autoconf.texi. * doc/autoconf.texi (Erlang Libraries): @-escape curly braces in example code. 2009-05-28 Romain Lenglet New AC_ERLANG_SUBST_ERTS_VER macro. * lib/autoconf/erlang.m4: Add macro AC_ERLANG_SUBST_ERTS_VER. * doc/autoconf.texi (Erlang Libraries): Document AC_ERLANG_SUBST_ERTS_VER. * NEWS: Likewise. * AUTHORS: Update Romain Lenglet's email address. * THANKS: Update. Suggested by Ruslan Babayev. 2009-05-26 Eric Blake Sanitize more problematic environment variables. * doc/autoconf.texi (Environment Variable Index): Add more entries, particularly for precious variables and known culprit variables. Needed to avoid overfull vbox. (Special Shell Variables) : Add variables known to cause misbehavior. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Unset variables known to cause problems. * THANKS: Update. Based on reports from Ilya Bobir and Joey Mingrone. 2009-05-21 Ralf Wildenhues Document VPATH = $(variable) issue in VPATH chapter. * doc/autoconf.texi (Variables listed in VPATH): New node. (Top, VPATH and Make): Adjust menus. (Build Directories): Refer to it. Prompted by report from Bruno Haible. 2009-05-19 Eric Blake Update uses of all-permissive license. * ChangeLog: Relicense under GPL. * ChangeLog.0: Likewise. * ChangeLog.1: Likewise. * ChangeLog.2: Likewise. * THANKS: Likewise. * m4/m4.m4: Use latest wording of FSF all-permissive license. * m4/make-case.m4: Likewise. * doc/install.texi: Likewise. * tests/statesave.m4: Relicense to match rest of testsuite; this file does not need all-permissive license since it is not designed for reuse by other packages. * BUGS: Relicense under all-permissive license. * HACKING: Likewise. * NEWS: Likewise. * README: Likewise. * README-alpha: Likewise. * README-hacking: Likewise. * TODO: Likewise. Update some upstream files. * build-aux/config.guess: Resynchronize from upstream. * build-aux/gnupload: Likewise. * build-aux/vc-list-files: Likewise. * build-aux/texinfo.tex: Likewise. * doc/gendocs_template: Likewise. Don't mention undocumented interface in NEWS. * NEWS: Correct earlier entry about AS_FOR. 2009-05-17 Ralf Wildenhues New manual section `Parallel Make'. * doc/autoconf.texi (Parallel Make): New node, document NetBSD `make -jN' quirks. (Top, Portable Make): Adjust menus. 2009-05-14 Ralf Wildenhues testsuite: skip `Multiple languages' test without C++ compiler. * tests/compile.at (Multiple languages): Skip test on systems without a C++ compiler. Report by Jim Meyering. 2009-05-13 Eric Blake Document zsh bug with empty commands. * doc/autoconf.texi (Special Shell Variables) : Add mention of more problems with $?. 2009-05-11 Patrick Welche (tiny change) Also try X11R7 when looking for X11 files, for NetBSD. * lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT): Also try directories with X11R7 in the name. 2009-05-01 Ralf Wildenhues Limit stderr logging for C compiler version. * lib/autoconf/general.m4 (_AC_RUN_LOG_LIMIT, _AC_DO_LIMIT): New internal macros, equivalent to _AC_RUN_LOG and _AC_DO, but with an optional additional argument to limit the number of lines of stderr output logged, defaulting to 10. * lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC): Use _AC_DO_LIMIT for capturing compiler version output. Also test -qversion, for the IBM xlc compiler. * lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise. * THANKS: Update. Report by Christian Rössel and John R. Cary against Libtool. 2009-04-24 Eric Blake Fix quoting of m4 macros in AT_CHECK. * lib/autotest/general.m4 (AT_CHECK): Expand prior to adding escapes, to avoid shell syntax errors caused by late macro expansion. * NEWS: Document this change. * tests/autotest.at (Metacharacters in command from M4 expansion): New test. manual: Use consistent spelling of here-document. * doc/autoconf.texi (Defining Symbols, Programming in M4sh) (Common Shell Constructs, Macro Names, Writing Testsuites): Fix spelling. Reported by Ralf Wildenhues. Make AT_CHECK_UNQUOTED more like AC_DEFINE_UNQUOTED. * lib/autotest/general.m4 (AT_CHECK_NOESCAPE): Keep older, undocumented semantics, where unbalanced " cannot be used in the stdout/stderr argument. (AT_CHECK_UNQUOTED): Treat " in stdout/stderr as a literal, since the text is used in double-quoted context. * tests/autotest.at (unquoted output): New test. * doc/autoconf.texi (Writing Testsuites) : Mention which shell expansions are handled. Rename AT_CHECK_NOESCAPE to AT_CHECK_UNQUOTED. * lib/autotest/general.m4 (AT_CHECK_NOESCAPE): Deprecate, in favor of new spelling... (AT_CHECK_UNQUOTED): ...for consistency with AC_DEFINE_UNQUOTED. * doc/autoconf.texi (Writing Testsuites) : Document the rename. * NEWS: Likewise. * tests/autotest.at (Binary output, Cleanup): Adjust tests. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Likewise. Reported by Ralf Wildenhues. 2009-04-22 Ralf Wildenhues New test to ensure autom4te cache file locking works. * tests/tools.at (autom4te cache locking): New test. Report by Eric Blake. 2009-04-22 Paolo Bonzini manual: another grammar improvement. * doc/autoconf.texi (Fortran Compiler): Avoid dependency on pronunciation of `FCFLAGS_f90'. 2009-04-23 Eric Blake Change FOO placeholder to use @var{text} instead. * doc/autoconf.texi (Configuration Actions): Rename AC_CONFIG_FOOS to AC_CONFIG_@var{ITEMS}. * doc/autoconf.texi (config.status Invocation): Likewise. (AC_FOO_IFELSE vs AC_TRY_FOO): Rename node... (AC_ACT_IFELSE vs AC_TRY_ACT): ...to this. 2009-04-22 Eric Blake Add m4_argn. * lib/m4sugar/m4sugar.m4 (m4_argn): New macro. * NEWS: Document it. * doc/autoconf.texi (Looping constructs) : Likewise. : Improve documentation. * tests/m4sugar.at (m4 lists): New test. 2009-04-22 Ralf Wildenhues Improve description of AC_PROG_CC_C89 and AC_PROG_CC_C99. * doc/autoconf.texi (C Compiler): Document that AC_PROG_CC_C89 and AC_PROG_CC_C99 prefer extended over strict conformance modes. Report by Vincent Lefèvre. 2009-04-21 Ralf Wildenhues Revert bogus change in last commit. * doc/autoconf.texi (Initialization Macros): Revert change. Spotted by Eric Blake. manual: fix trivial grammar errors. * doc/autoconf.texi (Fortran Compiler, Initialization Macros) (Limitations of Usual Tools, Pretty Help Strings) (config.status Invocation): Fix `a' vs. `an' errors. Report by Eric Blake. 2009-04-21 Eric Blake Shuffle maintainer-specific rules. * Makefile.am (maintainer-check-tests): Delete. (autom4te-update): Move... * cfg.mk (autom4te-update): ...here. (fetch): Depend on autom4te-update. Split... (gnulib-update): ...into new rule. Import move-if-change from gnulib. * maint.mk (maintainer-distcheck): Absorb former maintainer-check rule. * build-aux/move-if-change: New file, undistributed. * .gitattributes: Handle new upstream file. * .gitignore: Ignore maintainer cruft. * HACKING: Update maintainer instructions. * build-aux/config.guess: Update from upstream. * build-aux/config.sub: Likewise. * build-aux/gendocs.sh: Likewise. * build-aux/texinfo.tex: Likewise. * doc/gendocs_template: Likewise. * doc/standards.texi: Likewise. 2009-04-19 Ralf Wildenhues Sync autom4te perl modules from Automake. * lib/Autom4te/Channels.pm: Sync from Automake. * lib/Autom4te/FileUtils.pm: Likewise. * lib/Autom4te/XFile.pm: Likewise. Adjust channel definitions for new Automake `ordered' flag. * lib/Autom4te/ChannelDefs.pm (Autom4te::ChannelDefs): Set `ordered' flag to zero for channels `fatal', `automake', and `verb'. This has currently no effect on actual semantics but avoids a consistency check needed for Automake's usage of the Channels.pm code. manual: clarify m4_if synopsis. * doc/autoconf.texi (Redefined M4 Macros): Rewrite synopsis of m4_if in the presence of more than three arguments. Improve and clarify `config.status' usage documentation. * doc/autoconf.texi (config.status Invocation): Fix markup in synopsis. Use `tag' instead of `file' notation for the non-option arguments, to be consistent with the documentation of the AC_CONFIG_* macros. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Likewise, use `tag' notation for non-option arguments. Report by John Calcote. 2009-04-15 Eric Blake Test that autotest handles binary output. * tests/autotest.at (Binary output): New test. Suggested by Ralf Wildenhues. Add stdout-nolog and ignore-nolog to AT_CHECK. * lib/autotest/general.m4 (AT_DIFF_STDERR(stderr-nolog)) (AT_DIFF_STDERR(ignore-nolog), AT_DIFF_STDOUT(stdout-nolog)) (AT_DIFF_STDOUT(ignore-nolog)): New macros. * tests/autotest.at (Logging): New test. * doc/autoconf.texi (Writing Testsuites) : Document the new logging actions. * NEWS: Likewise. Reported by Ralf Wildenhues. Teach AT_CHECK about hard failures. * lib/autotest/general.m4 (AT_INIT) : Handle hard failures. * doc/autoconf.texi (Writing Testsuites) : Document AT_CHECK_NOESCAPE and exit status 99. * NEWS: Likewise. * tests/autotest.at (Hard fail, Cleanup): New tests. 2009-04-14 Eric Blake Fix yesterday's regression in AS_IF. * lib/m4sugar/m4sh.m4 (_AS_IF_ELSE): Don't corrupt $? in else branch; it is up to the user to avoid syntax errors. * tests/m4sh.at (AS@&t@_IF and AS@&t@_CASE): Adjust test. 2009-04-14 Ralf Wildenhues Add traces for AM_SILENT_RULES. * lib/autom4te.in (Automake-preselections): Trace AM_SILENT_RULES. 2009-04-13 Eric Blake Improve documentation related to expanded-before-required. * doc/autoconf.texi (Expanded Before Required): Add a case study. (Running the Compiler) : Remind users that running a compile test will AC_REQUIRE the compiler check. (Macro Definitions) : Contrast AC_DEFUN and m4_define. (C Compiler) : Mention the fact that only first invocation of this macro checks for $EXEEXT, and that many other macros use it via AC_REQUIRE. Reported by Andreas Schwab. Mention latest rules about make and set -e. * doc/autoconf.texi (Failure in Make Rules): Posix is now clear that make must use set -e. (Limitations of Builtins) : Clarify more about set -e behavior. Improve documentation about if exit status. * doc/autoconf.texi (Limitations of Builtins) : Mention that exit status bugs don't affect modern targets. Reported by Andreas Schwab. Add cross-reference to new macros. * doc/autoconf.texi (Text processing Macros) : Reference the new m4_ifblank. Suggested by Mike Frysinger. Make AS_IF, AS_CASE, and AS_FOR more robust to blank arguments. * lib/m4sugar/m4sh.m4 (_AS_CASE, _AS_CASE_DEFAULT, AS_FOR, _AS_IF) (_AS_IF_ELSE, AS_IF): Avoid syntax error on blank argument, including a macro with an empty expansion. * NEWS: Mention this. * tests/m4sh.at (AS@&t@_IF and AS@&t@_CASE, AS@&t@_FOR): Update tests. Reported by Mike Frysinger. Add m4_blank and friends. * lib/m4sugar/m4sugar.m4 (m4_blank, m4_nblank, m4_default_nblank) (m4_default_nblank_quoted): New macros. * NEWS: Document them. * doc/autoconf.texi (Conditional constructs): Likewise. * tests/m4sugar.at (m4sugar shorthand conditionals): New test. Suggested by Mike Frysinger. 2009-04-13 Eric Blake Finish upgrade to GFDL 1.3. * doc/autoconf.texi (copying): Use correct license; comment change was missed on 2008-11-04. 2009-04-10 Eric Blake Test parallel handling of syntax error. * tests/autotest.at (parallel syntax error): New test. Suggested by Ralf Wildenhues. 2009-04-10 Ralf Wildenhues Document awk and config.status line length limitations. * doc/autoconf.texi (Configuration Actions): The input to config.status should have reasonable line length. (Limitations of Usual Tools): Document IRIX, HP-UX awk input line length limit. Report by Bruno Haible. Skip `Multiple languages' test if CC is a C++ compiler. * tests/compile.at (Multiple languages): Before starting the test proper, build and run a configure script that tests the C compiler only, and skips the test if this is found to be a C++ compiler. Report by Eric Blake. Note that AC_DEFUN is needed for aclocal. * doc/autoconf.texi (Coding Style): Public third-party macros should be AC_DEFUN'ed. Report by John Calcote. 2009-04-10 Eric Blake Add undocumented _AS_CLEAN_DIR. * lib/m4sugar/m4sh.m4 (_AS_CLEAN_DIR): New macro; fixes m4 quoting in previous patch. * lib/autotest/general.m4 (AT_INIT) : Use new macro. * tests/m4sh.at (_AS@&t@_CLEAN_DIR): New test. Reported by Ralf Wildenhues. 2009-04-09 Eric Blake Avoid problems caused by deleting in-use directory. * lib/autotest/general.m4 (AT_INIT) : Only remove the contents of $at_group_dir, not the directory itself. Fix regression in empty test. * lib/autotest/general.m4 (AT_SETUP): Prep AT_ingroup for fallback use in empty test. Fixes regression introduced 2009-04-06. (_AT_CHECK): Undo fallback when a test is not empty. (AT_CLEANUP): Expand AT_ingroup before deleting. 2009-04-09 Paolo Bonzini Make a less conservative cross-compilation guess for AC_FUNC_UTIME_NULL. * lib/autoconf/functions.m4 (AC_FUNC_UTIME_NULL): Assume not crosscompiling to an obsolete system. 2009-04-08 Ralf Wildenhues Automake relies on the undocumented `_AC_COMPILER_EXEEXT' macro. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT): Document that Automake relies on this macro. 2009-04-06 Eric Blake Reduce testsuite size. * tests/statesave.m4: New file. * tests/Makefile.am (EXTRA_DIST): Distribute it. * tests/local.at (AT_CONFIGURE_AC): Reuse file, rather than repeating inline definition of AC_STATE_SAVE. (AT_CHECK_ENV): Factor code... (_AT_CHECK_ENV): ...into shell function. * tests/m4sh.at (AT_DATA_LINENO): Avoid churn in testsuite. Handle shell comments in AT_CHECK. * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): Handle # in test correctly. Latent bug in handling shell comment was first fixed 2008-11-20, but regressed two patches later. * tests/autotest.at (Shell comment in command): New test. * NEWS: Document the fix. Hard fail any test with syntax errors. * lib/autotest/general.m4 (AT_INIT) : Guarantee test failure on syntax error, rather than inheriting status from previous test. * tests/autotest.at (Syntax error): New test. 2009-03-31 Eric Blake Beta Release Version 2.63b. * NEWS: Mention the release. * README: Clarify that this is a beta release. * build-aux/texinfo.tex: Synchronize from upstream. * .x-sc_trailing_blank: Exempt more upstream files. 2009-03-30 Eric Blake Fix testsuite failures under zsh. * tests/local.at (AT_CHECK_ENV): Exempt $argv and $ARGC, which are set by zsh -c 'emulate sh'. Reported by Ralf Wildenhues. For now, skip parallel tests under less-tested shells. * tests/autotest.at (AT_CHECK_AT): Add pre-test argument. (Tested programs, Startup error messages, AT_CHECK_AT_TITLE) (Fallacy, Skip, errexit, Long test source lines) (Debugging a successful test, Debugging script and environment) (Debugging a failed test, Using atlocal) (Choosing where testsuite is run): Adjust callers. (AT_SKIP_PARALLEL_TESTS): New macro, to skip parallel tests except under zsh, bash, or when TEST_PARALLEL_AUTOTEST is defined. Makes it easier to avoid testsuite hangs for users with dash or other less-tested shell. (parallel test execution, parallel truth, parallel fallacy) (parallel skip, parallel errexit) (parallel autotest and signal handling): Use it. * BUGS: Mention this. 2009-03-24 Andris Pavenis (tiny change) Fix awk substitution of carriage returns on DJGPP. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Fix typo in generation of ac_cs_awk_cr. * THANKS: Update. 2009-03-24 Aaron W. LaFramboise (tiny change) Work around cygwin bash igncr mode. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Fall back to bash carriage returns if ac_cr lost \r from ``. * THANKS: Update. Suggested by Eric Blake. 2009-03-24 Eric Blake Fix underquoted example in manual. * doc/autoconf.texi (Common Shell Constructs) : Properly m4-quote #. * THANKS: Update spelling. Reported by Matěj Týč. 2009-03-18 Eric Blake Manual: mention more expr pitfalls. * doc/autoconf.texi (Limitations of Usual Tools) : Mention HP-UX limitation, and $ ambiguity. * THANKS: Update. Reported by Jens Schmidt, in http://bugs.debian.org/466990. 2009-03-17 Jim Meyering Manual: fix a typo. * lib/m4sugar/m4sh.m4: s/are/is/ => "there is no indirection" 2009-03-17 Eric Blake Use test consistently in examples. * doc/autoconf.texi (Subdirectories, Caching Results) (Common Shell Constructs, Prerequisite Macros, Coding Style) (Changed Results, Particular Programs, Defining Symbols): Protect against arbitrary user strings. (Multiple Cases): Mention why $fstype does not need protection. Reported by Reuben Thomas. Improve confusing section names. * doc/autoconf.texi (Specifying Names): Rename node... (Specifying Target Triplets): ...to this. (Generic Programs): Adjust references. * doc/install.texi (System Type): Touch up formatting. * THANKS: Update. Reported by Tim Freeman, in http://bugs.debian.org/312873. Remove historical inaccuracy. * doc/autoconf.texi (Portable Shell): Don't perpetuate myth about #!/bin/sh needing a space. Reported by Reuben Thomas. Recommend AS_HELP_STRING more prominently. * doc/autoconf.texi (External Software): Reduce mention of hand-written help strings. Reported by Reuben Thomas. 2009-03-16 Eric Blake Fix 'make pdf'. * doc/autoconf.texi (Balancing Parentheses): Fix usage of @itemize. Reported by Ralf Wildenhues, fix suggested by Karl Berry. 2009-03-14 Eric Blake Resync upstream files. * GNUmakefile: Run 'make fetch'. * build-aux/announce-gen: Likewise. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * build-aux/gnupload: Likewise. * build-aux/texinfo.tex: Likewise. * build-aux/vc-list-files: Likewise. * doc/gnu-oids.texi: Likewise. * doc/standards.texi: Likewise. 2009-03-09 Ralf Wildenhues New test for SunStudio `restrict' handling. * tests/c.at (AC_C_RESTRICT and C++): New test. Prompted by bug report from Rolf Vandevaart. 2009-03-08 Ralf Wildenhues Manual: testsuite depends on package.m4. * doc/autoconf.texi (Making testsuite Scripts): In the example makefile snippet, $(TESTSUITE) depends on $(srcdir)/package.m4. 2009-03-02 Allan Caffee (tiny change) Fix a typo in comment for AS_LITERAL_IF. * lib/m4sugar/m4sh.m4 (AS_LITERAL_IF): Update a comment that fell out of date when this function was moved/renamed in 59ecd766. * THANKS: Update. 2009-03-02 Eric Blake Improve wording for AS_ESCAPE. * doc/autoconf.texi (Common Shell Constructs) : Touch up documentation. * lib/m4sugar/m4sh.m4 (_AS_ESCAPE): Fix comment typos. Reported by Ralf Wildenhues. 2009-02-24 Eric Blake Use pkgdatadir consistently. * bin/Makefile.am (edit): Substitute pkgdatadir, not datadir. * lib/Makefile.am (edit): Likewise. * lib/autom4te.in (Autoconf-without-aclocal-m4, Autotest, M4sh) (M4sugar): Use @pkgdatadir@, not @datadir@. * bin/autoheader.in ($datadir): Likewise. * bin/autom4te.in ($datadir): Likewise. * bin/autoreconf.in ($datadir): Likewise. * bin/autoscan.in ($datadir): Likewise. * bin/autoupdate.in ($datadir): Likewise. * bin/ifnames.in ($datadir): Likewise. * doc/autoconf.texi (Installation Directory Variables): Update example to be consistent; focus on $(bindir) as an autoconf variable, and mention that $(pkgdatadir) comes from automake. Reported by Reuben Thomas. 2009-02-19 Eric Blake Use m4_translit more efficiently in AS_ESCAPE. * lib/m4sugar/m4sh.m4 (_AS_ESCAPE): Alter API to take first byte of set separately from rest. (AS_ESCAPE, _AS_QUOTE_MODERN, AS_TR_SH, AS_VAR_GET): Adjust callers. * lib/autoconf/autoheader.m4 (AH_VERBATIM): Avoid duplicate characters in translit request. * doc/autoconf.texi (Common Shell Constructs) : Document the macro. * NEWS: Likewise. Mention recently documented macros. * NEWS: Update list of new documentation. 2009-02-14 Ralf Wildenhues Add index for config.site. * doc/autoconf.texi (Site Defaults): Add index for config.site. * THANKS: Update. Report by Stephen P. Schaefer. 2009-02-12 Eric Blake Fix m4_set speed regression introduced 2008-12-18. * lib/m4sugar/m4sugar.m4 (_m4_stack_reverse): Alter API to avoid creating larger argument on each iteration. (m4_stack_foreach_sep, m4_stack_foreach_sep_lifo) (_m4_set_contents_2): Adjust all four-argument callers. 2009-02-05 Eric Blake Mention new AC_DEFUN_ONCE clients. * NEWS: Mention recent semantic changes. Reported by Ralf Wildenhues. 2009-02-03 Eric Blake Use AC_DEFUN_ONCE for some one-shot AC_PROG macros. * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Switch to AC_DEFUN_ONCE, since this is a one-shot macro. (AC_PROG_INSTALL): Likewise. 2009-02-03 Eric Blake Mention that packagers should not pre-set CFLAGS. * doc/autoconf.texi (Preset Output Variables) : Copy advice given by automake on handling variables reserved by GNU Coding Standards. Reported by Karl Berry. Document lib64 in config.site. * doc/autoconf.texi (Site Defaults): Fix typo in FHS sample file. Mention use of lib64. * THANKS: Update. Reported by Tom Browder, with help from Peter Breitenlohner. 2009-01-28 Eric Blake Use AC_DEFUN_ONCE for uncontroversial one-shot macros. * lib/autoconf/headers.m4 (AC_HEADER_ASSERT): Switch to AC_DEFUN_ONCE, since this is a one-shot macro. * lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise. * lib/autoconf/general.m4 (AC_CANONICAL_BUILD) (AC_CANONICAL_HOST, AC_CANONICAL_TARGET): Likewise. 2009-01-28 Eric Blake Reduce blank lines in AC_DEFUN_ONCE macros. * lib/m4sugar/m4sugar.m4 (m4_defun_once): Avoid redundant blank line when a defun_once macro is required. (_m4_defun_once): New helper macro, for less memory use. * tests/m4sugar.at (m4@&t@_require: nested): Adjust test. Silence another false positive expand-before-require. * lib/m4sugar/m4sugar.m4 (_m4_defun_pro_outer) (_m4_defun_epi_outer, _m4_require_call, m4_provide): Track name that caused a diversion change, not just diversion number. (m4_require): Factor... (_m4_require_check): ...into new macro, which also checks whether diversion that performed the expansion has been collected. * tests/m4sugar.at (m4@&t@_require: nested): Enhance test. Reported by Ralf Wildenhues. 2009-01-28 Eric Blake Fix AC_C_RESTRICT for Sun Studio 12 C++. * lib/autoconf/c.m4 (AC_C_RESTRICT): Newer Sun Studio C provides __restrict__ rather than _Restrict, which still trips up Sun Studio 12 C++. * THANKS: Update. Reported by Rolf Vandevaart. 2009-01-28 Eric Blake Fix years in copyright notices. * lib/m4sugar/m4sugar.m4 (m4_copyright_condense): New macro, undocumented for now. * lib/m4sugar/Makefile.am (version.m4): Add m4_PACKAGE_YEAR, m4_PACKAGE_URL. (RELEASE_YEAR): New macro, copied from bin/Makefile.am. * lib/autoconf/general.m4 (_AC_COPYRIGHT_YEARS): New macro. (AC_COPYRIGHT): Add undocumented third parameter. (_AC_INIT_COPYRIGHT): Avoid need to bump copyright years. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Likewise. (AT_COPYRIGHT): Add undocumented third parameter. * tests/local.at (AT_COPYRIGHT): Don't add an extra copyright parameter; the generic copyright given by autotest is sufficient since we are the package that owns autotest. 2009-01-27 Eric Blake Use URLs in --help output, part 3: testsuite. * doc/autoconf.texi (Writing Testsuites): Mention autotest namespace. (Writing Testsuites) : Mention mandatory macros. (Making testsuite Scripts): Document AT_PACKAGE_URL. * tests/Makefile.am (package.m4): Follow our own advice. * lib/autotest/general.m4 (AT_INIT): Give the user a hint about package.m4. Enhance --help output. (_AT_COPYRIGHT_YEARS): New macro, to make copyright bump easier. Use URLs in --help output, part 2: configure. * lib/autoconf/general.m4 (_AC_INIT_COPYRIGHT): Bump copyright date. (_AC_INIT_PACKAGE): Support optional URL parameter, mapped to AC_PACKAGE_URL. (_AC_INIT_DEFAULTS, _AC_INIT_PREPARE): Substitute it. (_AC_INIT_HELP): Use it in './configure --help' output. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Likewise, for './config.status --help'. Bump copyright date. * doc/autoconf.texi (Initializing configure) : Document new parameter. * NEWS: Likewise. * tests/tools.at (autoheader): Adjust test. * tests/torture.at (@%:@define header templates) (Torturing config.status): Likewise. Use URLs in --help output, part 1: autoconf executables. * bin/autoconf.as (usage): Make output consistent with recent change in gnulib version-etc module. * bin/autoheader.in ($help): Likewise. * bin/autom4te.in ($help): Likewise. * bin/autoreconf.in ($help): Likewise. * bin/autoscan.in ($help): Likewise. * bin/autoupdate.in ($help): Likewise. * bin/ifnames.in ($help): Likewise. 2009-01-27 Peter Breitenlohner (tiny change) Quote traced macros passed from autom4te to M4. * bin/autom4te (handle_m4): Apply shell_quote to macro names. * tests/tools.at (autom4te --trace and unusual macro names): New test. * THANKS: Update. 2009-01-26 Eric Blake Improve AC_DEFUN_ONCE semantics. * lib/m4sugar/m4sugar.m4 (m4_defun_once): Rewrite to be no-op, rather than warning, on second use, and make sure first use never occurs out of order. * tests/m4sugar.at (m4@&t@_require: one-shot initialization): Enhance test. * tests/base.at (AC_REQUIRE & AC_DEFUN_ONCE: [Require, expand], (AC_REQUIRE & AC_DEFUN_ONCE: [Expand, require]): Adjust tests. * NEWS: Document this. * doc/autoconf.texi (Macro Definitions) : Mention AC_DEFUN_ONCE. (Prerequisite Macros) : Likewise. (Expanded Before Required): Likewise. (One-Shot Macros) : Document new semantics. Reported by Bruno Haible, with suggestion by Paolo Bonzini. 2009-01-24 Eric Blake Fix typos in recent patches. * lib/m4sugar/m4sugar.m4: Improve m4_defun comments. * doc/autoconf.texi (Expanded Before Required): Fix typos. Reported by Ralf Wildenhues. Revert change to AC_DIR_HEADER. * lib/autoconf/headers.m4 (AC_DIR_HEADER): Explicitly expanding AC_HEADER_DIRENT no longer triggers a warning, and helps the user who decides they don't need the obsolete AC_FUNC_CLOSEDIR_VOID. Reported by Paolo Bonzini. 2009-01-22 Eric Blake Silence a false positive expand-before-require case. * lib/m4sugar/m4sugar.m4 (m4_provide): Track the diversion in which a macro was provided. (m4_require): Compare diversion numbers, rather than m4_require nesting, when determining direct requires. * tests/m4sugar.at (m4@&t@_require: nested): Test it. Reported by Ralf Wildenhues, affecting Libtool. 2009-01-21 Eric Blake Fix out-of-order expansion with expand-before-require. * lib/m4sugar/m4sugar.m4 (m4_require): Redundantly expand a required macro when issuing expand-before-require warning. * doc/autoconf.texi (Prerequisite Macros): Adjust documentation. (Expanded Before Required): New node. * tests/m4sugar.at (m4@&t@_require: nested): Adjust test. * NEWS: Mention this fix. Suggested by Bruno Haible. Warn if macro is provided before indirectly required. * lib/m4sugar/m4sugar.m4 (m4_provide): Track the set of all macros provided since last outermost defun. (_m4_defun_pro_outer): Empty the set. (_m4_require_call): Distinguish between direct and indirect requires, and remove required macros from the set. (m4_require): Check the set, in order to warn. * tests/m4sugar.at (m4@&t@_require: nested): Remove xfail, and add test case for direct requires. 2009-01-20 Eric Blake Clean up some bugs caught by preliminary dependency validation. * lib/autoconf/headers.m4 (AC_DIR_HEADER): Don't invoke AC_HEADER_DIRENT, since AC_FUNC_CLOSEDIR_VOID requires it. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL) (_AS_SHELL_SANITIZE): Fix quoting bugs. 2009-01-19 Eric Blake Improve AC_REQUIRE documentation. * doc/autoconf.texi (Macro Definitions) : Add @defmac, and mention interaction with AC_REQUIRE. (Prerequisite Macros) : Give more detail on user ordering constraint bug, and how to fix it. * tests/m4sugar.at (m4@&t@_require: nested): New test. Speed up m4_require. * lib/m4sugar/m4sugar.m4 (_m4_divert_dump): Change semantics to always be defined, as either empty or a number. (_m4_defun_pro_outer, _m4_defun_epi_outer): Treat _m4_divert_dump as a stack, rather than a one-shot macro. (_m4_require_call): Expect third argument to be pre-expanded. (m4_divert_require, m4_require): Adjust clients accordingly. * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Likewise. 2009-01-17 Eric Blake Avoid underfull hbox. * doc/autoconf.texi (Installation Directory Variables): Reword to fit on line. 2009-01-14 Ralf Wildenhues Ignore `set -e'-related failure of NetBSD sh. * tests/m4sh.at (AS@&t@_EXIT): Skip test if (NetBSD) shell fails to finish EXIT trap after set -e. 2009-01-06 Eric Blake Maintainer cleanups. * cfg.mk (web-manual): Use new feature of gendocs. (fetch): Fetch gendocs. * Makefile.am (EXTRA_DIST): Distribute new file. * doc/Makefile.am (EXTRA_DIST): Likewise. * .gitattributes: Ignore whitespace in upstream files. * HACKING (Other web updates): Update Free Software Directory instructions. (Upload): No longer mention xdelta. * maint.mk (xd-delta): Likewise. * build-aux/gendocs.sh: New upstream file. * doc/gendocs_template: Likewise. * build-aux/announce-gen: Resync from upstream. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * build-aux/gnupload: Likewise. * build-aux/texinfo.tex: Likewise. 2008-12-30 Eric Blake Make it easier to track diversion bugs. * lib/m4sugar/m4sugar.m4 (_m4_divert_raw, _m4_undivert): New internal macros, which are easier to trace than m4_builtin. (m4_cleardivert, m4_divert, m4_divert_push, m4_divert_pop) (m4_undivert): Use them. (_m4_require_call): Likewise. Use fewer macros. * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): Fix typo. 2008-12-26 Bruno Haible Improve multiarch detection. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Make detection of options indicating a universal build more reliable. 2008-12-28 William Pursell (tiny change) Use AS_CASE in documented example. * doc/autoconf.texi (Using the System Type): Use AS_CASE in example instead of raw case. 2008-12-23 Eric Blake Make m4_dumpdef more useful with M4 1.6. * lib/m4sugar/m4sugar.m4 (_m4_dumpdef): New macro. (m4_init): Install it for new enough m4. * tests/m4sugar.at (m4@&t@_dumpdef): Enhance test. * doc/autoconf.texi (Redefined M4 Macros) : Mention lack of sorting. 2008-12-24 Bruno Haible Improve INSTALL for HP-UX. * doc/install.texi (Particular Systems): For HP-UX, also recommend -D_XOPEN_SOURCE=500. Needed for the declaration of mbstate_t on HP-UX 11.11. 2008-12-22 Bruno Haible Improve INSTALL for Haiku. * doc/install.texi (Particular Systems): Add a recommendation which prefix to use on Haiku. 2008-12-19 Eric Blake Fix typo in previous commit. * doc/autoconf.texi (Set manipulation Macros) : Fix typo. Document some recently added macros. * lib/m4sugar/m4sugar.m4 (m4_map_args_w): Add optional sep parameter. * doc/autoconf.texi (Looping constructs) : Document new macros. (Set manipulation Macros) : Likewise. * tests/m4sugar.at (m4@&t@_stack, M4 loops): Enhance tests. * NEWS: Document new macros. 2008-12-18 Eric Blake Fix separator in m4_stack_foreach_sep. * lib/m4sugar/m4sugar.m4 (_m4_stack_reverse): Separate separator from prefix. * tests/m4sugar.at (m4@&t@_stack): Enhance test. 2008-12-18 Eric Blake Mention limitation of M4 1.4.x on builtin tokens. * doc/autoconf.texi (Redefined M4 Macros) : Document ramification of M4 1.4.x's inability to pass builtin tokens through text macros. (Evaluation Macros) : Likewise. * tests/m4sugar.at (m4@&t@_defn): Enhance test. * NEWS: Mention subtle change in m4_dumpdef semantics. Document m4_version_prereq. * doc/autoconf.texi (Number processing Macros) : Add documentation. * NEWS: Mention it. Reported by Bruno Haible. 2008-12-10 Jim Meyering AC_HEADER_ASSERT: don't say assertions are disabled when they're not * lib/autoconf/headers.m4 (AC_HEADER_ASSERT): Do not make configure report "checking whether to enable assertions... no", when they are in fact enabled. This is solely a bug in the output of configure. In spite of saying "no", NDEBUG was not defined in that case. Also, as noted by Eric Blake, leave assertions enabled upon --enable-assert=INVALID. 2008-12-09 Eric Blake Fix m4_location inside m4_wrap with m4 1.4.5. * lib/m4sugar/m4sugar.m4 (m4_undefine): Redefine m4_location inside wrapped text if older m4 is detected. Reported by William Pursell. 2008-12-08 William Pursell (tiny change) and Eric Blake Fix AC_HEADER_ASSERT w.r.t. --enable-assert. * lib/autoconf/headers.m4 (AC_HEADER_ASSERT): Honor --enable-assert, rather than treating it as a synonym for --disable-assert. * NEWS: Document the fix. 2008-12-06 William Pursell (tiny change) Fix AC_HEADER_ASSERT to honor --enable-assert, rather than treat --enable-assert and --disable-assert equivalently. * lib/autoconf/headers.m4 (AC_HEADER_ASSERT): Check value of $enableval. 2008-12-05 William Pursell (tiny change) Fix some typos and grammatical errors in documentation. * doc/autoconf.texi: Clean up some bad use of English. 2008-12-03 Eric Blake Improve AC_STATE_SAVE. * tests/local.at (AC_STATE_SAVE): Avoid ls -1, and use one less process by hoisting the uniqueness check into sed. * doc/autoconf.texi (Limitations of Usual Tools) : Mention MacOS bug. 2008-12-02 Eric Blake Avoid MacOS readdir bug in testsuite. * tests/local.at (AC_STATE_SAVE): Avoid spurious failures due to duplicated ls entries. * THANKS: Update. Reported by Bruce Dugan and others. 2008-11-29 Ralf Wildenhues * lib/autotest/general.m4 (AT_JOB_FIFO_FD): Hide zsh 4.3.4 error messages about `set -m'. 2008-11-27 Ralf Wildenhues Fix a couple of test failures with dash. * tests/autotest.at (AT_CHECK_AT_TITLE_CHAR): Normalize exit status of `cd'. * tests/m4sh.at (AS_MESSAGE_LOG_FD): Remove script before regeneration, to avoid timing effects. 2008-11-25 Eric Blake Add m4_cleardivert. * lib/m4sugar/m4sugar.m4 (m4_cleardivert): New macro. * lib/autotest/general.m4 (AT_INIT): Use it. * lib/autoconf/general.m4 (_AC_INIT_NOTICE): Likewise. * tests/m4sugar.at (m4@&t@_divert_stack): Test it. * doc/autoconf.texi (Diversion support) : Document it. * NEWS: Likewise. Suggested by Paolo Bonzini. Add safety check for m4_expand vs. diversions. * lib/m4sugar/m4sugar.m4 (m4_expand): Make more robust against diverted text. * doc/autoconf.texi (Evaluation Macros) : Document new safety check. 2008-11-24 Eric Blake Fix typo in AS_MESSAGE_LOG_FD patch. * lib/m4sugar/m4sh.m4 (AS_ERROR): Check correct condition. 2008-11-23 Ralf Wildenhues More reliable signal handling in Autotest. * lib/autotest/general.m4 (Driver loop): Rewrite signal handler. Start parallel jobs in their own process group, enabling job control in the shell if possible, for better signal handling. Deal with INT, TERM, and HUP in the testsuite driver. In the parallel driver, propagate TSTP to jobs either as TSTP or as STOP (to avoid fork bombs with ksh). Inside the job processes, add PIPE handler to write back the job token, so the master process does not hang. Disable the parallel driver if job control is not provided or if trap does not understand signal names. * tests/autotest.at (parallel autotest and signals): New test, exercises INT, TERM, and PIPE, serial and parallel, with and without `make' in the loop. Kudos to Richard Stevens for writing APUE. 2008-11-22 Eric Blake Fix testsuite failure on Solaris. * tests/torture.at (AT_CHECK_CONFIG_CREATION_NOWRITE): Normalize failure status to 1. 2008-11-21 Eric Blake Clean up AS_MESSAGE_LOG_FD usage. * lib/m4sugar/m4sh.m4 (AS_MESSAGE_FD, AS_MESSAGE_LOG_FD) (AS_ORIGINAL_STDIN_FD): Provide default M4sh values. (_AS_ECHO_LOG, AS_MESSAGE, _AS_ERROR_PREPARE, AS_ERROR): Simplify usage. (AS_INIT_GENERATED): Don't shuffle an unchanged AS_MESSAGE_FD. * tests/m4sh.at (AS@&t@_INIT_GENERATED): Update test. (AS@&t@_MESSAGE_FD): New test. * doc/autoconf.texi (Initialization Macros) : Give more details about fd manipulation. (File Descriptor Macros): Describe M4sh defaults for the fds. 2008-11-21 Eric Blake Use shell function for AS_ERROR. * lib/m4sugar/m4sh.m4 (_AS_ERROR_PREPARE): New macro, defining a new shell function. (AS_ERROR): Use it. (_AS_LINENO_PREPARE): Break circular dependency. (AS_PREPARE, _AS_PREPARE): Initialize for child scripts. 2008-11-21 Eric Blake Fix typos in recent testsuite improvements. * lib/autotest/general.m4 (AT_INIT) : Fix typo. * NEWS: Clarify the potential impact to users. * tests/autotest.at (AT_DATA_AUTOTEST): New macro, patterned after AT_DATA_M4SUGAR. (AT_CHECK_AT_PREP, AT_CHECK_AT_TITLE): Use it. (unusual file names): Test that the recent echo fix does not regress. Fix quoting bug that made the test a no-op. Reported by Paolo Bonzini and Ralf Wildenhues. 2008-11-21 Eric Blake Use modern m4sh constructs in autoconf. * bin/autoconf.as (exit_missing_arg, getopt): Use AS_ERROR, rather than AS_EXIT. Change the semantics of AS_EXIT without argument. * lib/m4sugar/m4sh.m4 (_AS_EXIT_PREPARE): When defaulting, use $? even if it is 0. (AS_ERROR): Guarantee non-zero status. * bin/autoconf.as (exit_missing_arg, getopt): Revert prior change; we want non-zero status. * tests/m4sh.at (AS@&t@_EXIT): Update test accordingly. * doc/autoconf.texi (Common Shell Constructs) : Update the documentation. : Don't overly restrict implementation. (Printing Messages) : Describe better default. Suggestions by Paolo Bonzini and Ralf Wildenhues. 2008-11-21 Eric Blake Add @anchors within Builtins and Usual Tools lists. * doc/autoconf.texi (Limitations of Builtins) (Limitatations of Usual Tools): Add anchors for tools called out by name. Adjust callers to narrow in on tool of interest. Move case statement style discussion to m4 quoting section. * doc/autoconf.texi (Limitations of Builtins): Move comparison of quoting styles... (Balancing Parentheses): ...to this new node. Suggested by Ralf Wildenhues. 2008-11-20 Eric Blake Factor more common code out of AT_CHECK into shell function. * lib/autotest/general.m4 (_AT_CHECK): Avoid echo bug if AT_LINE starts with -. Move preparations... (AT_INIT) : ...into these new shell functions. : Inline into only caller. (_AT_DECIDE_TRACEABLE): Use them to condense testsuite size. 2008-11-20 Eric Blake Handle version numbers as decimal, even if they start with 0. * lib/m4sugar/m4sugar.m4 (_m4_version_unletter): Avoid interpreting leading zeros as octal. 2008-11-20 Eric Blake Speed up AT_CHECK. * lib/autotest/general.m4 (AT_CHECK, AT_CHECK_UNQUOTED): Expand third and fourth arguments once. (_AT_CHECK): Don't re-expand expected output. Rearrange code for fewer scans of arguments. (AT_CHECK): Update caller. (AT_INIT) : Drop parameter. * tests/m4sugar.at (m4@&t@_split): Protect test with quadrigraphs. Fix XFAIL related to AT_CHECK. * lib/autotest/general.m4 (AT_CHECK, AT_CHECK_UNQUOTED): Expand first argument once. (_AT_CHECK): Don't re-expand commands. * tests/autotest.at (Multiline command from M4 expansion): Remove XFAIL. * tests/tools.at (autoupdating AU_ALIAS): Quote unbalanced paren. * NEWS: Document the fallout. 2008-11-20 Eric Blake Reduce forks in AC_DEFINE. * lib/autoconf/general.m4 (_AC_DEFINE_Q_PRINT): New macro. (_AC_DEFINE_Q): Use it to avoid forks for all AC_DEFINE and most AC_DEFINE_UNQUOTED. * lib/autoconf/fortran.m4 (_AC_FC_WRAPPERS): Properly quote #. * tests/torture.at (Substitute and define special characters): (Define to a 2000-byte string): Enhance tests to cover AC_DEFINE_UNQUOTED. (@%:@define header templates): Enhance test to cover #. 2008-11-20 Eric Blake Improve m4_expand robustness, part 2. * lib/m4sugar/m4sugar.m4 (m4_expand): Support unterminated comments, by wrapping old implementation... (_m4_expand): ...as this, and renaming old core... (_m4_expand_): ...to this. (m4_text_box): Use lighter-weight _m4_expand. * lib/m4sugar/m4sh.m4 (_AS_DETECT_EXPAND) (_AS_DETECT_BETTER_SHELL, AS_FUNCTION_DESCRIBE): Likewise. * lib/autotest/general.m4 (AT_KEYWORDS): Likewise. * tests/m4sugar.at (m4@&t@_expand): Enhance test. * tests/autotest.at (AT_CHECK_AT_TITLE_CHAR): Likewise. * doc/autoconf.texi (Evaluation Macros) : Mention new functionality. Improve m4_expand robustness, part 1. * lib/m4sugar/m4sugar.m4 (_m4_expand): Tolerate unquoted unbalanced `)'. * tests/m4sugar.at (m4@&t@_expand): New test. 2008-11-20 Eric Blake Add m4_chomp, m4_esyscmd_s. * lib/m4sugar/m4sugar.m4 (m4_esyscmd_e, m4_chomp, m4_chomp_all): New macros. * doc/autoconf.texi (Redefined M4 Macros) : Document them. (Text processing Macros) : Likewise. * NEWS: Likewise. * tests/m4sugar.at (m4@&t@_esyscmd_s): New test. Remove _m4_index. * lib/m4sugar/m4sugar.m4 (_m4_index): Delete; it is more efficient to make callers guarantee a match. (m4_init): Adjust caller. * lib/autoconf/status.m4 (_AC_CONFIG_COMPUTE_DEST): Likewise. * lib/autoconf/general.m4 (_AC_DEFINE_Q): Likewise. Describe different hacks for balancing ')' in case statements. * doc/autoconf.texi (Limitations of Builtins) : Add an exposition on various quoting styles. 2008-11-20 Eric Blake Speed up _AS_QUOTE. * lib/m4sugar/m4sh.m4 (_AS_QUOTE_IFELSE): Inline into... (_AS_QUOTE): ...here, delete unused second parameter, and factor choice into... (_AS_QUOTE_MODERN, _AS_QUOTE_OLD): ...new helpers. 2008-11-20 Alfred G. de Wijn (tiny change) For consistency, make temporary variable match language name. * lib/autoconf/fortran.m4 (_AC_PROG_FC_G, _AC_PROG_FC_V_OUTPUT): Match the save/test variables' names to the FFLAGS/FCFLAGS being saved. * THANKS: Update. 2008-11-19 Eric Blake Improve testsuite generation. * tests/local.at (AT_DATA_M4SUGAR, AT_DATA_M4SH) (AT_DATA_AUTOCONF): Escape all quadrigraphs, not just @&t@. Use fewer macros. 2008-11-18 Eric Blake Use fn for shell functions, func for autoconf CHECK_FUNCS. * lib/autoconf/functions.m4 (AC_CHECK_FUNC): Abbreviate shell function names. * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE) (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE) (AC_CHECK_DECL, AC_COMPUTE_INT): Likewise. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL) (_AC_CHECK_HEADER_COMPILE, _AC_CHECK_HEADER_PREPROC): Likewise. * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW, _AC_TYPE_INT) (_AC_TYPE_UNSIGNED_INT, AC_CHECK_MEMBER): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_WORK, _AS_EXIT_PREPARE) (AS_EXIT, AS_SET_STATUS, _AS_UNSET_PREPARE, _AS_MKDIR_P) (_AS_MKDIR_P_PREPARE, _AS_VAR_APPEND_PREPARE, AS_VAR_APPEND) (_AS_VAR_ARITH_PREPARE, AS_VAR_ARITH): Likewise. * doc/autoconf.texi (Shell Functions): Likewise. 2008-11-18 Eric Blake Alter default value of AS_EXIT. * lib/m4sugar/m4sh.m4 (_AS_EXIT_PREPARE): Let as_func_exit parameter be optional. (AS_EXIT): Use it to make better default. (_AS_DETECT_BETTER_SHELL): Use new default. * bin/autoconf.as (exit_missing_arg, getopt): Likewise. * lib/autoconf/status.m4 (AC_OUTPUT): Likewise. * tests/m4sh.at (AS@&t@_EXIT): Update test. * doc/autoconf.texi (Common Shell Constructs) : Mention new default behavior. (Limitations of Builtins) : Adjust to use new default. * NEWS: Mention the semantic change. Suggested by Ralf Wildenhues. Update example to match actual Tru64 behavior. * doc/autoconf.texi (Limitations of Builtins) : Correct the example. Reported by Ralf Wildenhues. Add AS_SET_STATUS, make AS_EXIT more efficient. * lib/m4sugar/m4sh.m4 (_AS_EXIT_PREPARE, AS_SET_STATUS): New macros. (AS_EXIT): Rewrite to avoid forks. (_AS_SHELL_SANITIZE): Avoid AS_EXIT prior to shell functions. (AS_PREPARE, _AS_PREPARE): Add new preparation. * doc/autoconf.texi (Common Shell Constructs) : Document. * NEWS: Mention new macro. * tests/m4sh.at (AS@&t@_EXIT): New test. (BASENAME_TEST): Sort. Document Tru64 bug with 'set -e'. * doc/autoconf.texi (Limitations of Builtins) : Mention a bug in mixing 'set -e' with 'trap .. 0'. Reported by Ralf Wildenhues. Document a Solaris /bin/sh bug with 'set -e'. * doc/autoconf.texi (Shell Functions): Mention the bug. 2008-11-17 Eric Blake Detect empty list in AS_FOR. * lib/m4sugar/m4sh.m4 (AS_FOR): Handle iteration over $@ properly. * tests/m4sh.at (AS@&t@_FOR): Enhance test to catch it. Reported by Paolo Bonzini. 2008-11-16 Ralf Wildenhues Use a different workaround for an automake quirk. * tests/Makefile.am (AUTOMAKE_OPTIONS): Remove. (distclean_generic): New helper variable, to fool automake. ($(distclean_generic)): Depend on clean-local, to prevent the race in the two rules with accessing and removing $(TESTSUITE). Report by Eric Blake. * lib/m4sugar/m4sh.m4 (_AS_VAR_ARITH_PREPARE): Simplify, avoid unbalanced parentheses from last change. Spotted by Eric Blake, fix suggested by Paolo Bonzini. Fix exit status of expr version of as_func_arith. * lib/m4sugar/m4sh.m4 (_AS_VAR_ARITH_PREPARE): Count an exit status of 1 of expr also as success, to avoid failure if the computation result is zero. Fixes test failures with IRIX sh, where the expr variant of as_func_arith is used. Do not use read-only variable $status. * tests/compile.at (AC_RUN_IFELSE): Use $estatus instead of $status, for zsh. 2008-11-15 Eric Blake Use the new AS_FOR function. * lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Use new abstraction for cleaner code. * lib/autoconf/headers.m4 (AC_CHECK_HEADERS): Likewise. Add AS_FOR, undocumented for now. * lib/m4sugar/m4sh.m4 (AS_FOR): New macro. * tests/m4sh.at (AS@&t@_FOR): New test. Suggested by Paolo Bonzini. 2008-11-13 Eric Blake Optimize single-argument loop. * lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Avoid forks when loop only has one argument. * lib/autoconf/headers.m4 (AC_CHECK_HEADERS): Likewise. 2008-11-13 Eric Blake Fix AS_ESCAPE usage bugs. * lib/m4sugar/m4sh.m4 (_AS_VAR_APPEND_PREPARE) (_AS_VAR_ARITH_PREPARE): Expand macros prior to adding shell escapes. (AS_TR_SH, AS_VAR_GET): Use _AS_ESCAPE for speed. * doc/autoconf.texi (Polymorphic Variables) : Document caveat due to conditional AS_ESCAPE. * tests/m4sh.at (AS@&t@_VAR basics): Enhance test. 2008-11-12 Eric Blake Whitespace reduction in configure. * lib/autoconf/autoheader.m4 (AH_VERBATIM): Avoid empty lines. * lib/autoconf/general.m4 (_AC_INIT_PREPARE, AC_CHECK_FILES): Likewise. (_AC_DEFINE_Q): Restore empty line, since some clients in the wild depend on it. 2008-11-12 Eric Blake Make M4sh, not autoconf, guarantee sane $SHELL. * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Move setting of SHELL... * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): ...to here. * doc/autoconf.texi (Initialization Macros): Document the effect on SHELL. * tests/m4sh.at (AS@&t@_INIT_GENERATED): New test. Reported by Ralf Wildenhues. 2008-11-12 Ralf Wildenhues Wrap keywords in `testsuite --list' output. * lib/autotest/general.m4 (AT_INIT): Rewrite --list awk script, avoid lint warnings from gawk, wrap keyword lists to stay below 80 characters per line if possible. * tests/autotest.at (Keyword wrapping): New test. * tests/local.at (AT_COPYRIGHT): Bump copyright years. * doc/autoconf.texi (Conditional constructs, Macro Names): Fix typos. 2008-11-10 Eric Blake Work around <=m4-1.4.9 bug in m4_format. * lib/m4sugar/m4sugar.m4 (_m4_index): New internal macro. (m4_init): Only use it in older m4. * lib/autoconf/general.m4 (_AC_DEFINE_Q): Use it to avoid m4_format bug in older m4. * lib/autoconf/status.m4 (_AC_CONFIG_COMPUTE_DEST): Likewise. Reported by Bob Proulx. 2008-11-10 Eric Blake Match upstream standards.texi. * doc/standards.texi: Resync from upstream. * doc/fdl-1.3.texi: Rename... * doc/fdl.texi: ...to this. * doc/Makefile.am (autoconf_TEXINFOS, standards_TEXINFOS): Update users. * doc/autoconf.texi (GNU Free Documentation License): Likewise. * cfg.mk (fetch): Likewise. Yet more FDL 1.3 fallout. * NEWS: Mention manual license change. 2008-11-10 Eric Blake Avoid some regex uses. * lib/autoconf/general.m4 (_AC_DEFINE_Q): Use m4_format rather than m4_bpatsubst to grab string prefix. * lib/autoconf/status.m4 (_AC_CONFIG_REGISTER) (_AC_CONFIG_REGISTER_DEST, AC_CONFIG_SUBDIRS): Likewise. (_AC_FILE_DEPENDENCY_TRACE_COLON): Use m4_translit instead of m4_bpatsubst to change bytes. (_AC_CONFIG_DEPENDENCY_DEFAULT): Use m4_index rather than m4_bmatch to find byte. (_AC_CONFIG_COMPUTE_DEST): New helper macro. Use more efficient macros in AC_CONFIG_SUBDIRS. * lib/autoconf/status.m4 (_AC_CONFIG_FOOS, AC_CONFIG_SUBDIRS): Use m4_map_args_w. (_AC_OUTPUT_FILE): Use m4_map_args_sep and m4_map_args. (_AC_OUTPUT_FILE_ADJUST_DIR): New helper macro. Use more efficient macros in AC_CHECK_FILES and AC_CHECK_DECLS. * lib/autoconf/general.m4 (AC_CHECK_FILES): Use m4_map_args_w, and avoid typo. (AC_CHECK_DECLS, AC_CHECK_DECLS_ONCE): Use m4_map_args_sep. (_AC_CHECK_FILES, _AC_CHECK_DECLS, _AC_CHECK_DECL_ONCE): New helper macros. (AC_LIBSOURCES): Use m4_map_args. Use more efficient macros in AC_CHECK_TYPES. * lib/autoconf/types.m4 (AC_CHECK_TYPES, AC_CHECK_MEMBERS): Use m4_map_args_sep. (_AC_CHECK_TYPES, _AC_CHECK_MEMBERS): New helper macros. Use more efficient macros in AC_CHECK_HEADERS. * lib/autoconf/headers.m4 (AH_CHECK_HEADERS) (AH_CHECK_HEADERS_DIRENT): Rename... (_AH_CHECK_HEADER, _AH_CHECK_HEADER_DIRENT): ...and take only one argument, rather than a list. (AC_CHECK_HEADERS, AC_CHECK_HEADERS_ONCE): Adjust callers to use m4_map_args_w. (AC_HEADER_DIRENT): Adjust caller to use m4_map_args. (_AC_CHECK_HEADER_ONCE): New helper macro. Use more efficient macros in AC_CHECK_FUNCS. * lib/autoconf/functions.m4 (_AH_CHECK_FUNCS): Rename... (_AH_CHECK_FUNC): ...and take only one argument, rather than a list. (AC_CHECK_FUNCS, AC_CHECK_FUNCS_ONCE): Adjust callers to use m4_map_args_w. (_AC_CHECK_FUNC_ONCE): New helper macro. (AC_REPLACE_FUNCS): Use m4_map_args_w. Use more efficient macro in AT_INIT. * lib/autotest/general.m4 (AT_INIT): Use m4_map_args. 2008-11-10 Eric Blake More FDL 1.3 fallout. * cfg.mk (fetch): Add gnu-oids.texi, drop fdl.texi. * doc/Makefile.am (standards_TEXINFOS): Reflect upstream dependency changes. * doc/fdl.texi: Delete. * doc/gnu-oids.texi: New upstream file. * doc/standards.texi: Resync from upstream. * doc/make-stds.texi: Likewise. * build-aux/announce-gen: Likewise. * build-aux/texinfo.tex: Likewise. 2008-11-10 Clinton Roy (tiny change) Pass autoreconf -I to aclocal -I * bin/autoreconf.in (parse_args): Pass --include to aclocal. * doc/autoconf.texi (autoreconf Invocation): Updates for above. * NEWS: Document it. * THANKS: Update. 2008-11-10 Eric Blake Try 'print -r --' as a non-forking variant of 'printf %s\\n'. * lib/m4sugar/m4sh.m4 (_AS_ECHO_PREPARE): Cater to Solaris ksh. * doc/autoconf.texi (Limitations of Builtins) : Document the print workaround. Idea by Paolo Bonzini. 2008-11-10 Eric Blake Provide a section on all tools allowed in GNU Coding Standards. * doc/autoconf.texi (Limitations of Builtins) : Sort. : Add section. (Limitations of Usual Tools) : Make table entry consistent. Add sections. 2008-11-09 Paolo Bonzini Balance parentheses in _AC_CACHE_DUMP. * lib/autoconf/general.m4 (_AC_CACHE_DUMP): Balance parentheses without introducing \). 2008-11-07 Eric Blake Further doc updates for AC_CHECK_HEADER change. * doc/autoconf.texi (Generic Headers) : Mention new default, and make it more obvious that using [-] is generally broken. 2008-11-07 Eric Blake * ChangeLog: Enforce UTF-8 encoding. 2008-11-06 Eric Blake Skip preprocessor check in AC_CHECK_HEADERS_ONCE. * lib/autoconf/headers.m4 (_AC_HEADERS_EXPANSION): Provide fourth argument to speed up check. 2008-11-06 Eric Blake Speed up AC_CHECK_TYPE. * lib/autoconf/types.m4 (AC_CHECK_TYPE): Factor out $@, and avoid regex when enough arguments are present. 2008-11-06 Paolo Bonzini Remove three forks per _AC_RUN_LOG_STDERR in the common case. * lib/autoconf/general.m4 (_AC_RUN_LOG_STDERR): Avoid grep/rm/cat sequence when the program's stderr was empty, while providing a conftest.err file even in that case. (_AC_CACHE_DUMP): Fix mismatched parenthesis. 2008-11-06 Paolo Bonzini Change `present but cannot be compiled' behavior to use compiler result. * NEWS: Document it. * doc/autoconf.texi (Present But Cannot Be Compiled): Document it. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): Implement it and adjust warning. * tests/semantics.at (AC_CHECK_HEADERS): Test new semantics. 2008-11-05 Eric Blake Add m4_map_args_w. * lib/m4sugar/m4sugar.m4 (m4_map_args_w): New macro, undocumented for now. (_m4_split): Allow user control over separator. (m4_split): Adjust caller. (m4_foreach_w, m4_append_uniq_w, _m4_text_wrap): Rewrite to use m4_map_args_w. * tests/m4sugar.at (m4@&t@_append): Augment test keywords. (M4 loops): Test new interface. Use m4_set_map_sep in more places. * lib/m4sugar/m4sugar.m4 (m4_set_difference, m4_set_intersection) (m4_set_union): Use m4_set_map_sep rather than m4_set_foreach. * doc/autoconf.texi (Set manipulation Macros) : Enhance documentation. : Mention faster alternative. (Looping constructs) : Likewise. Unify m4_set_foreach and m4_set_map. * lib/m4sugar/m4sugar.m4 (m4_set_map_sep): New macro, undocumented for now. (m4_set_contents, m4_set_foreach, m4_set_list, m4_set_listc) (m4_set_map): Adjust callers. Use _m4_foreach in more places. * lib/m4sugar/foreach.m4 (m4_dquote_elt, m4_join, m4_joinall) (_m4_minmax, m4_set_add_all): Use _m4_foreach instead of m4_foreach. * lib/m4sugar/m4sugar.m4 (_m4_joinall): Use m4_map_args_sep instead of m4_foreach or m4_map_args. Unify _m4_foreach and _m4_map. * lib/m4sugar/m4sugar.m4 (_m4_map): Delete, merged with... (_m4_foreach): ...this. (m4_foreach, m4_map, m4_mapall, m4_map_sep, _m4_mapall_sep) (m4_map_args, m4_map_args_sep): Adjust callers. * lib/m4sugar/foreach.m4 (_m4_map): Rename... (_m4_foreach): ...to this, overwriting old definition. 2008-11-04 Eric Blake Add m4_map_args_sep, undocumented for now. * lib/m4sugar/m4sugar.m4 (m4_map_args_sep): New macro. (_m4_map): Change API to cover more of m4_map*. * lib/m4sugar/foreach.m4 (_m4_map): Adjust to new API. (m4_map_args): Delete. * tests/m4sugar.at (m4@&t@_map_args and m4@&t@_curry): Enhance test. Improve m4_for performance. * lib/m4sugar/m4sugar.m4 (_m4_for): Alter API to make it easier to avoid m4_define by some clients. (m4_for): Adjust caller. * lib/m4sugar/foreach.m4 (_m4_foreach, m4_case, m4_bmatch) (_m4_cond, _m4_bpatsubsts, _m4_shiftn, m4_do, m4_reverse) (_m4_map, m4_map_args, m4_map_args_pair, _m4_list_pad) (_m4_list_cmp): Likewise. 2008-11-04 Eric Blake Adjust expected output. * tests/torture.at (Missing templates): Reflect added quoting. Detected by Bob Proulx's buildbot. Reject arguments with leading =. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Detect case of missing variable name, with fewer forks. Quote invalid arguments in message, in case they include spaces. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS) (_AC_OUTPUT_MAIN_LOOP): Quote invalid arguments. * lib/autotest/general.m4 (AT_INIT): Likewise. * tests/base.at (configure arguments): Test this. Reported by Jeff Squyres. 2008-11-04 Eric Blake Upgrade to FDL 1.3. * cfg.mk (fetch): Add fdl-1.3.texi. * .gitattributes: Likewise. * doc/autoconf.texi (GNU Free Documentation License): Point to new upstream version. * doc/Makefile.am (autoconf_TEXINFOS): Likewise. (standards_TEXINFOS): Mention current dependence on older license. * doc/fdl-1.3.texi: New upstream file. * GNUmakefile: Resync from upstream. * build-aux/announce-gen: Likewise. * build-aux/texinfo.tex: Likewise. 2008-11-03 Ralf Wildenhues Point at AM_SUBST_NOTMAKE. * doc/autoconf.texi (Setting Output Variables): Add cross reference to new Automake macro AM_SUBST_NOTMAKE. 2008-11-03 Paolo Bonzini Eliminate a fork per invocation of AC_LANG_CONFTEST. * lib/autoconf/c.m4 (AC_LANG_CONFTEST(C)): Define instead of AC_LANG_SOURCE(C). * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Add a comment at the top of confdefs.h, which also works around cpp deficiencies. * lib/autoconf/lang.m4 (AC_LANG_DEFINE): Define AC_LANG_CONFTEST(xyz) (AC_LANG_CONFTEST): Dispatch based on _AC_LANG. (AC_LANG_CONFTEST()): New. 2008-11-03 Paolo Bonzini Reorganize definition of languages. * lib/autoconf/c.m4 (AC_LANG(C), AC_LANG(C++), AC_LANG(Objective C), _AC_LANG_ABBREV(C), _AC_LANG_ABBREV(C++), _AC_LANG_ABBREV(Objective C), _AC_LANG_PREFIX(C), _AC_LANG_PREFIX(C++), _AC_LANG_PREFIX(Objective C)): Replace definitions with usage of AC_LANG_DEFINE. (Sections 2b, 2c): Delete. (Sections 1b, 1c): Move after section 2a. * lib/autoconf/erlang.m4 (AC_LANG(Erlang), _AC_LANG_ABBREV(Erlang), _AC_LANG_PREFIX(Erlang), AC_LANG_SOURCE(Erlang)): Replace definitions with usage of AC_LANG_DEFINE. (AC_LANG_ERLANG): Define using AU_DEFUN. * lib/autoconf/fortran.m4 (AC_LANG(Fortran), AC_LANG(Fortran 77), _AC_LANG_ABBREV(Fortran), _AC_LANG_ABBREV(Fortran 77), _AC_LANG_PREFIX(Fortran), _AC_LANG_PREFIX(Fortran 77), _AC_LANG_SOURCE(Fortran), AC_LANG_SOURCE(Fortran 77)): Replace definitions with usage of AC_LANG_DEFINE. * lib/autoconf/lang.m4 (AC_LANG_DEFINE, AC_LANG_SOURCE()): New. 2008-11-03 Paolo Bonzini Use preprocessor in cpp tests. * tests/c.at (CPP tests): Use AC_CHECK_HEADERS(..., [-]). 2008-10-31 Paolo Bonzini Rename _AC_CHECK_HEADER_OLD and _AC_CHECK_HEADER_NEW. * lib/autoconf/headers.m4 (AC_CHECK_HEADER): Adjust naming. (_AC_CHECK_HEADER_PREPROC_BODY): New name of _AC_CHECK_HEADER_OLD_BODY. (_AC_CHECK_HEADER_COMPILE_BODY): New name of _AC_CHECK_HEADER_NEW_BODY. (_AC_CHECK_HEADER_PREPROC): New name of _AC_CHECK_HEADER_OLD. (_AC_CHECK_HEADER_COMPILE): New name of _AC_CHECK_HEADER_NEW. * tests/semantics.at (AC_CHECK_HEADERS_OLD, AC_CHECK_HEADER_NEW): Give better name. 2008-10-31 Eric Blake Support multiple undiverts and dumpdefs at once. * lib/m4sugar/m4sugar.m4 (m4_dumpdefs, m4_undivert): Allow extra arguments. * doc/autoconf.texi (Redefined M4 Macros) , : Document argument list change. * tests/m4sugar.at (m4@&t@_divert_stack, m4@&t@_dumpdef): Test them. Simplify diversion stack handling. * lib/m4sugar/m4sugar.m4 (m4_divert_stack): Use fewer macros, and avoid extra newlines. (m4_divert_stack_push): Compute location here, rather than caller. (m4_divert_push): Update caller. (m4_divert): Likewise, and also adjust current diversion name. (m4_divert_pop): Simplify rule that diversion stack must never go empty. (_m4_require_call): Bypass diversion stack when collecting required macro text. (m4_init): Set current diversion without requiring m4_init. * lib/m4sugar/m4sh.m4 (AS_INIT): Avoid too many pops. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Schedule wrapped text to run prior to m4sugar cleanup. * doc/autoconf.texi (Text processing Macros) : Mention optional argument. (Conditional constructs) : Mention use of dnl. * NEWS: Undo blurb about m4_divert. * tests/m4sugar.at (m4@&t@_divert_stack): New test. Simplify expansion stack handling. * lib/m4sugar/m4sugar.m4 (m4_expansion_stack): Use fewer macros; always output 'top level'. (_m4_expansion_stack_entry): New macro, to format the string only when needed. (m4_expansion_stack_push): Only push a macro name. (m4_warn, _m4_defun_pro): Update callers. (m4_expansion_stack_pop, m4_expansion_stack_dump): Delete. (_m4_defun_epi, m4_fatal): Inline the calls. * tests/m4sugar.at (m4@&t@_expansion_stack): New test. 2008-10-30 Eric Blake Better documentation of AC_CHECK_HEADER's fourth argument. * doc/autoconf.texi (Generic Headers) : Mention how to suppress compiler or preprocessor header check. Reported by Jeff Squyres. 2008-10-30 Eric Blake Fix LINENO testsuite failure. * tests/m4sh.at (AT_DATA_LINENO): Use AS_LINENO_PREPARE, not undocumented _AS_PREPARE, and move unset earlier in script. Update LINENO documentation. * doc/autoconf.texi (Initialization Macros) : (Special Shell Variables) : Mention that LINENO support in child scripts may be broken. Modernize example. 2008-10-30 Paolo Bonzini Do not check for $LINENO in generated scripts. * lib/m4sugar/m4sh.m4 (_AS_PREPARE): Do not call _AS_LINENO_PREPARE, and explain why. 2008-10-30 Eric Blake Don't check for non-POSIX extensions in suggested tests. * lib/m4sugar/m4sh.m4 (_AS_VAR_APPEND_WORKS): Remove suggestion; we still use += if available, but should not reject shells (like dash) that don't provide it. (_AS_DETECT_SUGGESTED): Document a policy for m4sh. Reported by Paolo Bonzini. 2008-10-30 Paolo Bonzini Pass CONFIG_SHELL down to generated scripts, and re-export SHELL. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): If proceeding with a given CONFIG_SHELL, move it to SHELL. (AS_INIT_GENERATED): Re-export SHELL. 2008-10-30 Eric Blake Work around Solaris /bin/sh case bug. * lib/m4sugar/m4sh.m4 (_AS_CASE, _AS_CASE_DEFAULT): Always provide a non-empty command list. (AS_CASE): Always guarantee that a case will match. * doc/autoconf.texi (Limitations of Builtins) : Document the Solaris bug, and mention AS_CASE. 2008-10-30 Paolo Bonzini Require _AS_CR_PREPARE where appropriate. * lib/m4sugar/m4sh.m4 (_AS_PREPARE): Call _AS_CR_PREPARE. (AS_PREPARE): Require _AS_CR_PREPARE. Avoid walking the entire PATH when looking for a better shell. * lib/m4sugar/m4sh.m4 (_AS_SHELL_SANITIZE): Test shell characteristics as the PATH is walked. Add third argument to _AS_PATH_WALK * lib/m4sugar/m4sh.m4 (_AS_SHELL_SANITIZE): Do not call _AS_CR_PREPARE. (_AS_PATH_WALK): Add third optional argument. Trim down the length of the shell function test. * lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_WORK): Condense. 2008-10-29 Eric Blake Fix LINENO detection to work around bash and pdksh limitations. * lib/m4sugar/m4sh.m4 (_AS_LINENO_WORKS): Enhance the test, so that we can choose which of two tests to trust. (_AS_RUN): Set flag when alternate shell is running. (_AS_DETECT_EXPAND): New macro. (_AS_DETECT_BETTER_SHELL): Use it to massage LINENO tests. 2008-10-29 Eric Blake Mention proper fix for zsh users. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Recommend zsh version known to work. Suggested by Paolo Bonzini. Document current beta-quality status. * configure.ac: Reflect fact that change to git-version-gen produces -, but not always a letter, on non-release builds. * BUGS: Mention known issues. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Ask for help in debugging platforms with deficient shells. 2008-10-29 Eric Blake Alter signature of AS_INIT_GENERATED. * lib/m4sugar/m4sh.m4 (AS_INIT_GENERATED): Add parameters, and manage here-doc and chmod in place. This also allows future changes for optimizing the child via diversion/m4_wrap magic. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Update caller. * doc/autoconf.texi (Initialization Macros) : Update the documentation. 2008-10-29 Eric Blake Use _m4_stack_reverse in m4_set. * lib/m4sugar/m4sugar.m4 (_m4_set_contents_1) (_m4_set_contents_2): Rewrite to share _m4_stack_reverse implementation. (m4_set_contents, m4_set_foreach, m4_set_list, m4_set_listc) (m4_set_map): Adjust callers to new API. Add m4_stack_foreach_sep. * lib/m4sugar/m4sugar.m4 (m4_stack_foreach_sep) (m4_stack_foreach_sep_lifo): New macros. (_m4_stack_reverse): Adjust prototype, to support it. (m4_copy): Use fewer macros. * tests/m4sugar.at (m4@&t@_stack_foreach): Rename... (m4@&t@_stack): ...and add m4_stack_foreach_sep tests. 2008-10-29 Bruno Haible Mention Sun WorkShop 6.2 OpenMP bug. * doc/autoconf.texi (AC_OPENMP): Document portability pitfall. 2008-10-29 Paolo Bonzini Rewrite handling of diversion and expansion stack. * NEWS: Document stricter requirement on m4_init. * lib/m4sugar/m4sugar.m4 (m4_divert_stack): New, replacing _m4_divert_n_stack. (_m4_divert_stack_push): New. (m4_divert): Use _m4_divert_stack_push and replace m4_define with m4_popdef. (m4_divert_push): Use _m4_divert_stack_push. (m4_divert_pop): Use m4_divert_stack instead of _m4_divert_n_stack, pop _m4_divert_stack instead of m4_divert_stack. (m4_expansion_stack): New. Update comment above it. (m4_expansion_stack_push, m4_expansion_stack_pop): Work on _m4_expansion_stack instead of m4_expansion_stack. (m4_expansion_stack_dump): Check presence of _m4_expansion_stack instead of m4_expansion_stack. Use m4_expansion_stack's expansion instead of the definition, and compensate for the trailing newline in the expansion. (m4_warn, _m4_defun_pro, _m4_defun_epi): Check presence of _m4_expansion_stack instead of m4_expansion_stack. (m4_newline): Expand first argument after the newline. (m4_init): Use m4_divert_stack instead of _m4_divert_n_stack, * tests/m4sugar.at (m4_append, m4_text_wrap): Invoke m4_init. * tests/tools.at (whitespace in file names, the empty token): Likewise. 2008-10-28 Eric Blake Reduce forks while searching for better shell. * lib/m4sugar/m4sh.m4 (_AS_DETECT_REQUIRED) (_AS_DETECT_SUGGESTED): No need to provide extra subshell; _AS_RUN already does the job. (_AS_DETECT_BETTER_SHELL): Simplify AS_EXIT when not run in a trap 0 context. Undo needless efforts to protect $2 in $2_t. * lib/autoconf/types.m4 (_AC_TYPE_INT_BODY) (_AC_TYPE_UNSIGNED_INT_BODY): Reduce extra quoting. 2008-10-28 Ralf Wildenhues Fix parallel test execution output lossage. * lib/autotest/general.m4 (_AT_CHECK): Truncate files to hold standard output and standard error before the test, use append mode for writing. * THANKS: Update. Caught by Bob Proulx' build daemons, analysis and suggested fix by Stéphane Chazelas. 2008-10-28 Eric Blake Use m4_map_args in more places. * lib/m4sugar/m4sugar.m4 (m4_defn, m4_dumpdef, m4_popdef) (m4_undefine, m4_combine): Use m4_map_args, rather than m4_foreach. 2008-10-28 Eric Blake Override m4 1.4.x dumpdef, as it breaks autom4te. * lib/m4sugar/m4sugar.m4 (m4_dumpdef): New implementation. (m4_copy): Formatting touchup. * doc/autoconf.texi (Redefined M4 Macros) : Mention semantic differences as well as m4_dumpdefs. * NEWS: Likewise. * tests/m4sugar.at (m4@&t@_dumpdef): New test. 2008-10-28 Eric Blake Allow m4sugar to be used without autom4te, such as in bison. * lib/m4sugar/m4sugar.m4 (m4_text_wrap, m4_qlen): Document that alternate escape sequences can be used. (m4_text_box): Likewise. Don't output quadrigraphs. (m4_qdelta): Delete unused macro. 2008-10-28 Paolo Bonzini Add m4_stack_foreach and m4_stack_foreach_lifo. * lib/m4sugar/m4sugar.m4 (_m4_stack_reverse): New from _m4_copy. (m4_stack_foreach, m4_stack_foreach_lifo): New. (m4_copy): Use m4_stack_foreach and m4_curry. (_m4_dumpdefs_down, _m4_dumpdefs_up): Remove. (m4_dumpdefs): Rewrite using m4_stack_foreach_lifo. * tests/m4sugar.at (m4_stack_foreach): New test. 2008-10-28 Paolo Bonzini use a shell function for AC_TYPE_INTx_T * lib/autoconf/types.m4 (_AC_TYPE_INT_BODY, _AC_TYPE_UNSIGNED_INT_BODY): New. (_AC_TYPE_INT, _AC_TYPE_UNSIGNED_INT): Define and use a shell function. 2008-10-28 Paolo Bonzini * lib/autoconf/general.m4 (AC_CHECK_DECL): Fix AS_ESCAPE usage. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL, _AC_CHECK_HEADER_NEW): Likewise. * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW, AC_CHECK_MEMBER): Likewise. 2008-10-28 Paolo Bonzini * lib/autoconf/types.m4 (_AC_CHECK_MEMBER_BODY): New. (AC_CHECK_MEMBER): Define and use a shell function. 2008-10-27 Eric Blake Prefer m4_fatal over AC_FATAL. * lib/autoconf/types.m4 (AC_CHECK_SIZEOF, AC_CHECK_ALIGNOF) (AC_CHECK_MEMBER): Use non-obsolete macro name. * lib/autoconf/fortran.m4 (_AC_LIST_MEMBER_IF): Likewise. * lib/autoconf/general.m4 (AC_REQUIRE_AUX_FILE, AC_SUBST): Likewise. * lib/autoconf/lang.m4 (_AC_LANG_DISPATCH): Likewise. * lib/autoconf/status.m4 (_AC_CONFIG_DEPENDENCY_DEFAULT) (_AC_CONFIG_UNIQUE, _AC_CONFIG_REGISTER_DEST): Likewise. 2008-10-27 Eric Blake Avoid raw carriage return in scripts. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Generate CR via tr, rather than with literal byte. * THANKS: Update. Reported by Steven R. Loomis; patch suggested by Thomas Dickey. 2008-10-27 Eric Blake Use AS_VAR_ARITH. * lib/autotest/general.m4 (at_func_arith): Delete; replace all clients with AS_VAR_ARITH instead. * lib/autoconf/general.m4 (_AC_COMPUTE_INT_COMPILE): Use new macro. * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): Likewise. * tests/torture.at (Torturing config.status): Likewise. * tests/tools.at (autom4te --force): Likewise. Add AS_VAR_ARITH. * lib/m4sugar/m4sh.m4 (_AS_VAR_ARITH_PREPARE, _AS_VAR_ARITH_WORKS) (AS_VAR_ARITH): New macros. (_AS_PREPARE, AS_PREPARE): Emit preparation. * tests/m4sh.at (AS@&t@_VAR_ARITH): New test. * doc/autoconf.texi (Polymorphic Variables) : Document new macro. (Limitations of Usual Tools) : Mention portability problem if first argument starts with -. (Shell Substitutions) <$((expression))>: Mention it. * NEWS: Likewise. 2008-10-27 Eric Blake Use read, rather than `cat`, for safe one-line files. * lib/autotest/general.m4 (AT_CLEANUP): Avoid a fork, since it is known that the file has only one line and no \. * lib/autoconf/general.m4 (_AC_COMPUTE_INT_RUN): Likewise. 2008-10-27 Paolo Bonzini * lib/autoconf/general.m4 (_AC_COMPUTE_INT_COMPILE, _AC_COMPUTE_INT_RUN): Add IF-SUCCESS argument. (_AC_COMPUTE_INT_BODY): New. (AC_COMPUTE_INT): Define and use a shell function. 2008-10-27 Paolo Bonzini * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW_BODY): Extract test body here. Move head comment of _AC_CHECK_TYPE_NEW here. (_AC_CHECK_TYPE_NEW): Define a shell function and call it. 2008-10-27 Paolo Bonzini * lib/autoconf/general.m4 (_AC_CHECK_DECL_BODY): New. (AC_CHECK_DECL): Use a shell function. 2008-10-27 Paolo Bonzini * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_OLD, _AC_CHECK_HEADER_NEW): Use a shell function. 2008-10-25 Eric Blake Track recent copyright assignments. * AUTHORS: Update. 2008-10-25 Paolo Bonzini and Eric Blake Use a shell function for _AC_CHECK_HEADER_MONGREL. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL_BODY): New macro. (_AC_CHECK_HEADER_MONGREL): Use a shell function. 2008-10-25 Eric Blake Simplify _AS_PREPARE handling of functions. * lib/m4sugar/m4sh.m4 (AS_REQUIRE_SHELL_FN): Factor... (_AS_REQUIRE_SHELL_FN): ...into new helper macro. (_AS_PREPARE): Temporarily redefine AS_REQUIRE_SHELL_FN to make this task easier. (_AS_LINENO_PREPARE): Make more efficient. (_AS_MKDIR_P_PREPARE): Simplify use in _AS_PREPARE. (_AS_UNSET_PREPARE): Avoid blank newline. (AS_INIT): Emit as_func_unset alongside other functions. 2008-10-25 Eric Blake Document AS_EXIT. * doc/autoconf.texi (Common Shell Constructs) : Document this macro. (Limitations of Builtins): Mention AS_EXIT. * NEWS: Mention it. Use AS_EXIT in autoconf.as. * bin/autoconf.as: Consistently use AS_EXIT. 2008-10-24 Eric Blake Fix m4 underquoting in AC_PROG_INSTALL. * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Produce accurate character ranges. Speed up AC_CHECK_HEADER. * lib/autoconf/headers.m4 (AC_CHECK_HEADER): Factor out $@. 2008-10-24 Paolo Bonzini and Eric Blake Use a shell function for AC_CHECK_FUNC. * lib/autoconf/functions.m4 (_AC_CHECK_FUNC_BODY): New macro. (AC_CHECK_FUNC): Use a shell function. * lib/autoconf/c.m4 (AC_LANG_SOURCE(C)): Reduce number of forks. 2008-10-24 Eric Blake Work around fact that gnulib-tool doesn't use m4_copy. * lib/autoconf/general.m4 (AC_LIBOBJ, AC_LIBSOURCES): Defun, not define, so that an initial location is present, to account for fact that gnulib-tool pushes another AC_DEFUN'd macro on top. Make m4_defun_init more robust. * lib/m4sugar/m4sugar.m4 (m4_defun_init): Handle indirect macro names, and correct number of arguments. (m4_copy): Also set up location of the copy. (m4_defun): When copied, use current macro name, not original. * tests/m4sugar.at (m4@&t@_require: one-shot initialization): Update test. Optimize clients of AS_REQUIRE. * lib/m4sugar/m4sugar.m4 (m4_defun): Add undocumented third argument. (m4_defun_init): New undocumented macro. * lib/m4sugar/m4sh.m4 (_AS_ECHO_LOG, AS_MESSAGE, AS_BASENAME) (_AS_DIRNAME_EXPR, AS_DIRNAME, AS_ECHO, AS_ECHO_N, AS_TEST_X) (AS_LN_S, AS_MKDIR_P, _AS_PATH_WALK, AS_VERSION_COMPARE) (AS_TR_SH, AS_TR_CPP, AS_VAR_APPEND, AS_VAR_PUSHDEF): Use it to simplify these macros once the one-shot initialization is complete. * tests/m4sugar.at (m4@&t@_require: one-shot initialization): New test. Improve m4_copy. * lib/m4sugar/m4sugar.m4 (m4_copy): Add second implementation for public use. (_m4_copy): New macro, which preserves pushdef stacks. (_m4_defun_pro_outer): Bypass it, for speed. (m4_init): Bypass new implementation, since it breaks on m4_defn. * bin/autoupdate.in (handle_autoconf_macros): Likewise. * lib/autoconf/general.m4 (AC_PREREQ): Undefine before redefining, now that m4_copy checks this. * doc/autoconf.texi (Redefined M4 Macros) : Document this, as well as m4_rename. * lib/autoconf/autoconf.m4 (m4_copy): Temporarily redefine when renaming builtins, since it breaks on m4_ifdef. * NEWS: Likewise. * tests/m4sugar.at (m4@&t@_defn): Enhance test. 2008-10-24 Eric Blake AC_FUNC_GETGROUPS: Revert regression. * lib/autoconf/functions.m4 (AC_FUNC_GETGROUPS): Only set ac_cv_func_getgroups_works=no when it is not available. 2008-10-23 Eric Blake Whitespace cleanup. * lib/autoconf/fortran.m4: Consistently use tabs. 2008-10-23 Chikama Masaki (tiny change) For gfortran on sh, ignore -little. * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Add -little to list of ignored arguments. * THANKS: Update. 2008-10-23 Paolo Bonzini Eliminate empty lines after AC_*_IFELSE. * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE): Add a dnl at end. 2008-10-23 Paolo Bonzini Avoid a fork in _AC_RUN_LOG and _AC_RUN_LOG_STDERR * lib/autoconf/general.m4 (_AC_RUN_LOG, _AC_RUN_LOG_STDERR): Return a boolean status code based on $ac_status. 2008-10-23 Paolo Bonzini Ensure actions can look at conftest* files. * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY, _AC_COMPILE_IFELSE_BODY, _AC_LINK_IFELSE_BODY, _AC_RUN_IFELSE_BODY): Move rm commands, except IPA files and Apple debug symbols... (_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE, _AC_RUN_IFELSE): ...in here. * tests/compile.at: Add regression test. 2008-10-23 Eric Blake Remove excess dnl from m4sh. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL, _AS_PREPARE) (_AS_SHELL_FN_WORK, _AS_SHELL_SANITIZE, AS_IF, _AS_ECHO_LOG) (AS_MESSAGE, AS_ERROR, AS_BASENAME, _AS_BASENAME_PREPARE) (_AS_DIRNAME_EXPR, AS_DIRNAME, _AS_DIRNAME_PREPARE, AS_ECHO) (AS_ECHO_N, AS_TEST_X, AS_EXECUTABLE_P, _AS_ME_PREPARE) (_AS_LINENO_PREPARE, AS_LN_S, AS_MKDIR_P, _AS_PATH_WALK) (AS_SET_CATFILE, AS_HELP_STRING, AS_TMPDIR, AS_VERSION_COMPARE) (_AS_TR_SH_PREPARE, AS_TR_SH, _AS_TR_CPP_PREPARE, AS_TR_CPP) (_AS_TR_PREPARE, AS_VAR_APPEND, AS_VAR_PUSHDEF) (AS_INIT_GENERATED): Use fewer dnl in m4sh macro bodies. 2008-10-23 Paolo Bonzini and Eric Blake Use a shell function for _AC_RUN_IFELSE. * lib/autoconf/general.m4 (_AC_RUN_IFELSE_BODY): New macro. (_AC_RUN_IFELSE): Use a shell function. (_AC_RUN_LOG): Avoid subshell for logging. 2008-10-23 Eric Blake Formatting tweak: balance () with m4sh case statements. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL) (_AS_SHELL_SANITIZE, _AS_ECHO_N_PREPARE, _AS_ECHO_PREPARE) (AS_SET_CATFILE, _AS_TEST_PREPARE): Add strategic shell comments. (_AS_CASE, _AS_CASE_DEFAULT, AS_CASE): Rearrange newlines, to allow output of strategic shell comments. (AS_VERSION_COMPARE): Use AS_CASE. * tests/m4sh.at (AS@&t@_IF and AS@&t@_CASE): Enhance test. 2008-10-22 Jim Meyering AC_FUNC_GETGROUPS: always define $ac_cv_func_getgroups_works * lib/autoconf/functions.m4 (AC_FUNC_GETGROUPS): Always define the shell variable, $ac_cv_func_getgroups_works. Otherwise, if it is set to "yes" in the environment and configure is run on a system like mingw that lacks the getgroups function, it would mistakenly define HAVE_GETGROUPS. Reported by Simon Josefsson in . 2008-10-22 Paolo Bonzini and Eric Blake Use a shell function for _AC_LINK_IFELSE. * lib/autoconf/general.m4 (_AC_LINK_IFELSE_BODY): New macro. (_AC_LINK_IFELSE): Use a shell function. 2008-10-22 Eric Blake Fix autoconf logging commands. * lib/autoconf/general.m4 (AC_MSG_RESULT_UNQUOTED, _AC_EVAL) (_AC_EVAL_STDERR, AC_RUN_LOG): Respect as_lineno. (_AC_DO_ECHO): Likewise, and use fewer dnl. (_AC_RUN_LOG_STDERR): Avoid subshell for logging. 2008-10-22 Eric Blake Fix testsuite failure. * tests/mktests.sh (ac_exclude_list): Don't generate test for AC_REQUIRE_SHELL_FN. 2008-10-21 Eric Blake Improve wording related to automake and autotest. * doc/autoconf.texi (Making testsuite Scripts): Clarify wording in relation to automake. Mention dependency on package.m4. Consolidate examples. Define AUTOM4TE. * THANKS: Update. Reported by William Pursell. 2008-10-21 Eric Blake Allow AS_VAR_SET_IF in shell lists. * lib/m4sugar/m4sh.m4 (AS_VAR_SET_IF): Allow continuation of line. * lib/autoconf/general.m4 (AC_CACHE_VAL): Supply newline no longer provided by AS_VAR_SET_IF. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): Adjust clients. * lib/autoconf/libs.m4 (AC_SEARCH_LIBS): Likewise. * tests/m4sh.at (AS@&t@_VAR basics): Enhance test. Allow AS_VAR_IF in shell lists. * lib/m4sugar/m4sh.m4 (AS_VAR_IF): Allow continuation of line. * lib/autoconf/functions.m4 (AC_CHECK_FUNC): Adjust clients. * lib/autoconf/general.m4 (AC_CHECK_FILE, AC_CHECK_DECL): Likewise. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL) (_AC_CHECK_HEADER_NEW, _AC_CHECK_HEADER_OLD) (_AC_CHECK_HEADER_DIRENT): Likewise. * lib/autoconf/libs.m4 (AC_CHECK_LIB): Likewise. * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW, AC_CHECK_MEMBER): Likewise. * tests/m4sh.at (AS@&t@_VAR basics): Enhance test. Allow AS_CASE in shell lists. * lib/m4sugar/m4sh.m4 (AS_CASE): Always execute test, in case of side effects. Allow continuation of script on same line as esac. * lib/autoconf/c.m4 (AC_PROG_CC_STDC): Adjust client. * tests/m4sh.at (AS@&t@_IF and AS@&t@_CASE): Enhance test. * NEWS: Document the subtle change. Allow AS_IF in shell lists. * lib/m4sugar/m4sh.m4 (AS_IF): Always execute test, in case of side effects. Allow continuation of script on same line as fi. (_AS_DETECT_BETTER_SHELL): Adjust clients. (AS_VAR_IF, AS_VAR_SET_IF): For now, supply newline no longer given by AS_IF. * lib/autoconf/c.m4 (_AC_PROG_PREPROC_WORKS_IFELSE): Likewise. * lib/autoconf/general.m4 (_AC_ENABLE_IF): Likewise. (AC_EGREP_CPP, _AC_RUN_IFELSE): Adjust client. * lib/autoconf/libs.m4 (AC_SEARCH_LIBS): Likewise. * doc/autoconf.texi (Common Shell Constructs) : Fix typo. (Polymorphic Variables): Move mention of dnl to the only two AS_VAR functions that need it. 2008-10-21 Paolo Bonzini and Eric Blake Use a shell function for _AC_COMPILE_IFELSE. * lib/autoconf/general.m4 (_AC_COMPILE_IFELSE_BODY): New macro. (_AC_COMPILE_IFELSE): Use a shell function. 2008-10-21 Eric Blake Use AS_VAR_APPEND. * lib/autoconf/functions.m4 (AC_CHECK_FUNCS_ONCE): Use new macro. * lib/autoconf/general.m4 (_AC_INIT_PREPARE) (_AC_LIBOBJS_NORMALIZE): Likewise. * lib/autoconf/headers.m4 (AC_CHECK_HEADERS_ONCE): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS) (_AC_OUTPUT_CONFIG_STATUS, _AC_OUTPUT_MAIN_LOOP): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. Add AS_VAR_APPEND. * lib/m4sugar/m4sh.m4 (_AS_VAR_APPEND_PREPARE) (_AS_VAR_APPEND_WORKS, AS_VAR_APPEND): New macros. (AS_PREPARE, _AS_PREPARE): Emit preparation. * tests/m4sh.at (AS@&t@_VAR_APPEND): New test. * doc/autoconf.texi (Polymorphic Variables) : Document new macro. : Mention ramification of `""` rules. * NEWS: Mention new macro. 2008-10-21 Paolo Bonzini and Eric Blake Use a shell function for _AC_PREPROC_IFELSE. * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE_BODY): New macro. (_AC_PREPROC_IFELSE): Use a shell function. * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Factor for faster execution. (AS_REQUIRE_SHELL_FN): Bypass AS_REQUIRE if function has already been provided. 2008-10-21 Eric Blake Add banners to generated files. * lib/m4sugar/m4sh.m4 (_AS_SHELL_SANITIZE): Use m4_text_box for existing banner. (AS_INIT): Add new banners at strategic points. * lib/autoconf/general.m4 (AC_INIT): Alter banner location, and make consistent with other banners. * lib/autotest/general.m4 (AT_INIT): Make banners consistent. 2008-10-20 Paolo Bonzini Add AC_REQUIRE_SHELL_FN and the SHELL_FN diversion. * lib/autoconf/general.m4 (AC_REQUIRE_SHELL_FN): New. (m4_divert(SHELL_FN)): New. 2008-10-20 Eric Blake Avoid unportable use of echo in testsuite. * tests/m4sh.at (AS@&t@_VAR basics): Use AS_ECHO, since string contains backslash. 2008-10-18 Paolo Bonzini Make sure that nested AS_REQUIRE do not lose the desired diversion. * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Expand _m4_divert_desired before passing it to m4_divert_require, so that its content is not used anymore. * tests/m4sh.at (Nested AS_REQUIRE): New testcase. 2008-10-18 Eric Blake Document bugs in { } handling. * doc/autoconf.texi (Limitations of Builtins): Mention bug on empty list. Fix some testsuite failures introduced two days ago. * tests/m4sh.at (Nested AS@&t@_REQUIRE_SHELL_FN) (AS@&t@_REQUIRE_SHELL_FN and m4@&t@_require): Adjust to changed API. Reported by Ralf Wildenhues. 2008-10-18 Ralf Wildenhues Show how to extract single substitutions from config.status. * doc/autoconf.texi (config.status Invocation): Show example using `--file=-'. 2008-10-17 Eric Blake Add m4_curry. * lib/m4sugar/m4sugar.m4 (m4_curry, _m4_curry): New macros. * tests/m4sugar.at (m4@&t@_map_args): Rename... (m4@&t@_map_args and m4@&t@_curry): ...and add currying tests. * doc/autoconf.texi (Looping constructs) : Document currying as a way to add parameters. (Evaluation Macros) : Document the new macro. * NEWS: Likewise. Improve suggested test filtering. * lib/m4sugar/m4sh.m4 (_AS_DETECT_SUGGESTED_PRUNE): New macro, extracted from... (_AS_DETECT_BETTER_SHELL): ...here, to use faster API. No need to check for an empty required set. Add m4_set_map. * lib/m4sugar/m4sugar.m4 (m4_set_foreach): New macro. * tests/m4sugar.at (m4@&t@_set): Enhance test. * doc/autoconf.texi (Set manipulation Macros) : Document it. * NEWS: Likewise. Document m4_map_args. * lib/m4sugar/m4sugar.m4 (m4_transform, m4_transform_pair): Rename... (m4_map_args, m4_map_args_pair): ...to these names, and document. (m4_version_unletter): Use the interface. * lib/m4sugar/foreach.m4 (m4_map_args, m4_map_args_pair) (_m4_map_args_, _m4_map_args_pair_, _m4_map_args_pair_end): Perform same renames. * lib/m4sugar/m4sh.m4 (AS_CASE, AS_IF): Adjust callers. * tests/m4sugar.at (m4@&t@_map_args): New test. (recursion): Adjust caller. * tests/m4sh.at (AS@&t@_IF and AS@&t@_CASE): Likewise. * doc/autoconf.texi (Looping constructs) : Document this interface. * NEWS: Mention the new macros. 2008-10-17 Eric Blake Reduce vertical whitespace in configure. * lib/autoconf/general.m4 (AC_INIT): Silence newline output during m4 side effect initializations. * lib/m4sugar/m4sh.m4 (AS_PREPARE): Likewise. 2008-10-17 Eric Blake Document AS_VAR interfaces. * doc/autoconf.texi (Programming in M4sh): M4sh is now prime-time. (Polymorphic Variables): New node. * NEWS: Update accordingly. Test AS_VAR interfaces. * tests/m4sh.at (AS@&t@_VAR): New test. * lib/m4sugar/m4sh.m4 (AS_VAR_PUSHDEF): Force expansion of _AS_TR_SH_PREPARE at top level, rather than argument collection. (AS_TR_SH): Support command substitution. Add AS_VAR_COPY. * lib/m4sugar/m4sh.m4 (AS_VAR_COPY): New macro. (AS_VAR_IF): Use it, instead of the broken AS_VAR_GET. * lib/autoconf/general.m4 (AC_CACHE_CHECK): Likewise. * lib/autoconf/libs.m4 (AC_SEARCH_LIBS): Likewise. * lib/autotest/general.m4 (_AT_FINISH): Likewise. Sort AS_VAR_* interfaces. * lib/m4sugar/m4sh.m4 (AS_VAR_GET): Reduce output to one line. (AS_VAR_TEST_SET, AS_VAR_SET, AS_VAR_SET_IF, AS_VAR_POPDEF): Sort, no code changes. 2008-10-16 Eric Blake Allow comments before functions emitted by m4sh. * lib/m4sugar/m4sh.m4 (AS_REQUIRE_SHELL_FN): Add comment argument. Supply closing comment, to ease readability. (_AS_MKDIR_P_PREPARE): Adjust caller. (_AS_UNSET_PREPARE): Add comment. Add AS_FUNCTION_DESCRIBE. * lib/m4sugar/m4sh.m4 (AS_FUNCTION_DESCRIBE): New macro. * lib/autotest/general.m4 (AT_INIT): Use it. 2008-10-16 Eric Blake Speed up m4_qlen with caching. * lib/m4sugar/m4sugar.m4 (_m4_qlen): Renamed from old m4_qlen. (m4_qlen): Cache results for speed. 2008-10-16 Paolo Bonzini Add a testcase using more then one language. * tests/compile.at (Multiple languages): New test. 2008-10-16 Paolo Bonzini Fix Libtool's config.lt test. * lib/m4sugar/m4sh.m4 (_AS_PREPARE): Disable AS_REQUIRE while expanding it. 2008-10-15 Eric Blake Break circular require chain in _AS_LINENO_PREPARE. * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Ensure that logging is disabled when reporting LINENO failure, since logging requires LINENO. * doc/autoconf.texi (Initialization Macros): Recommend m4_pushdef, not m4_rename, since the latter is undocumented. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Avoid m4_rename, as it does not yet handle pushdef stacks. Reported by Ralf Wildenhues. 2008-10-15 Eric Blake Cleanups to previous patches. * doc/autoconf.texi (Portable Shell): Minor edits. (Limitations of Builtins): Touch up wording. * lib/m4sugar/m4sh.m4 (AS_LINENO_PUSH): Nuke trailing whitespace. (_AS_SHELL_SANITIZE): Wrap comments less than 80 columns. 2008-10-15 Paolo Bonzini Updates to shell portability documentation. * doc/autoconf.texi: Updates all references to "Portable Shell" and "Limitations of Builtins" to use three-argument commands. (Programming in M4sh): Document AS_ECHO, AS_ECHO_N, AS_UNSET. (Portable Shell): Move here discussion about "Where is the POSIX shell?" Mention that M4sh provides a SVR2 shell and takes care of unsetting variables if necessary. Talk about M4sh and not only Autoconf-generated scripts. (Special Shell Variables): Talk about M4sh and not only Autoconf-generated scripts. Don't talk about things that Autoconf does not do. Mention problems of $LINENO with shell functions. (Limitations of Builtins). Mention AS_ECHO and AS_ECHO_N. Move discussion of eval bugs before discussion on proper use of eval. Mention AS_IF. Reword why not to use "shift N". Mention "foo=; unset foo" trick. Include M4sh code that unsets MAIL for Bash 2.01. * NEWS: Update list of documented M4sh macros. 2008-10-15 Paolo Bonzini Assume a (possibly buggy) `unset' is present after a `better shell' was found. * lib/autoconf/general.m4 (_AC_CACHE_DUMP): Use AS_UNSET. * lib/autoconf/programs.m4 (AC_PROG_SED): Use AS_UNSET. * lib/m4sugar/m4sh.m4 (_AS_UNSET_PREPARE): Provide $as_unset as an alias for AS_UNSET, for backwards compatibility. (_AS_DETECT_BETTER_SHELL): Set BASH_ENV and ENV to /dev/null in case the shell does not support unset. (_AS_SHELL_SANITIZE): Work around Bash 2.01 bugs. Unset BASH_ENV. (AS_INIT, _AS_PREPARE, AS_PREPARE): Call it. (AS_UNSET): Assume it is there but it might fail if the variable is not set. Use it throughout instead of $as_unset. 2008-10-15 Paolo Bonzini Turn AS_SHELL_SANITIZE into a for-Libtool-only wrapper. * lib/m4sugar/m4sh.m4 (_AS_DETECT_REQUIRED, _AS_DETECT_SUGGESTED): Remove m4_require of _AS_DETECT_BETTER_SHELL. (_AS_CLEANUP): Add it here. (_AS_DETECT_BETTER_SHELL): Just expand the test instead of appending it to _AS_CLEANUP. (_AS_SHELL_SANITIZE): New name of the old AS_SHELL_SANITIZE macro. (AS_SHELL_SANITIZE): New macro hacking around Libtool misuse. (AS_PREPARE): Use _AS_SHELL_SANITIZE. (AS_INIT): Add m4_provide of itself. 2008-10-15 Paolo Bonzini Use "test x$foo = xyes" to avoid upsetting Libtool's sh.test. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL, _AS_SHELL_FN_WORK): Use "test x$foo = xyes". 2008-10-15 Paolo Bonzini Trim down the size of the better-shell test. * lib/m4sugar/m4sh.at (_AT_DETECT_BETTER_SHELL): Store the common snippets into shell variables. (_AS_RUN): Rewrite. 2008-10-15 Paolo Bonzini Support a stack of LINENO values for AS_MESSAGE. * lib/m4sugar/m4sh.m4 (_AS_ECHO_LOG): If defined, use $as_lineno as the line number emitted to the log file. (AS_LINENO_PUSH, AS_LINENO_POP): New. * tests/m4sh.at (LINENO Stack): New test. 2008-10-14 Eric Blake Correct previous patch. * doc/autoconf.texi (Shell Functions): Bash obeys Posix, after all. Document shell function environment pitfall. * doc/autoconf.texi (Shell Functions): Document bugs in bash, Solaris /bin/sh. 2008-10-14 Paolo Bonzini Use m4_require to implement AS_REQUIRE. * lib/m4sugar/m4sugar.m4 (_m4_require_call): Accept a third argument. (m4_require): Pass it. (m4_divert_require): New. * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Rewrite using m4_divert_require. Remove comment about differences with m4_require. * tests/m4sh.at (AS_REQUIRE_SHELL_FN and m4_require): Update to test the expected behavior. (Nested AS_REQUIRE_SHELL_FN): New test. 2008-10-13 Paolo Bonzini Test AS_LINENO_PREPARE. * tests/m4sh.at: Use documented AS_LINENO_PREPARE. 2008-10-13 Paolo Bonzini Test AS_ME_PREPARE. * tests/m4sh.at (as_me): New test. 2008-10-13 Paolo Bonzini Add and document AS_INIT_GENERATED. * lib/m4sugar/m4sh.m4 (AS_INIT_GENERATED): New. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Use it. * doc/autoconf.texi (Initialization macros): Document it. 2008-10-13 Eric Blake Use consistent shell function style. * lib/m4sugar/m4sh.m4 (_AS_PREPARE, AS_REQUIRE_SHELL_FN) (_AS_SHELL_FN_WORK): Imitate GNU Coding Standards for C functions. 2008-10-13 Paolo Bonzini * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Place names of contributors under m4 rather than shell comments. 2008-10-10 Paolo Bonzini * lib/m4sugar/m4sh.m4 (AS_ME_PREPARE, AS_LINENO_PREPARE): New. * doc/autoconf.texi (Initialization macros): Document them. (Portable Shell): Refer to AS_LINENO_PREPARE. * NEWS: Mention them. * bin/autoconf.as: Invoke AS_ME_PREPARE. * lib/autotest/general.m4: Likewise. 2008-10-10 Paolo Bonzini * doc/autoconf.texi (Programming in M4sh): Make its own chapter. 2008-10-10 Eric Blake Fix _AS_MKDIR_P usage. * lib/m4sugar/m4sh.m4 (_AS_MKDIR_P): Correct documentation to match implementation. (_AS_PREPARE, _AS_MKDIR_P_PREPARE): Adjust callers. * doc/autoconf.texi (Programming in M4sh) : Tweak wording to better match behavior. 2008-10-10 Paolo Bonzini * doc/autoconf.texi: Be less wary of shell functions. * NEWS: Document the increased use of shell functions. 2008-10-10 Paolo Bonzini * m4sugar/m4sh.m4 (_AS_MKDIR_P): New, from AS_MKDIR_P. Adjust meaning of as_mkdir_p to be `false' or a full `mkdir -p' command. (AS_MKDIR_P): Just dispatch to as_func_mkdir_p. (_AS_PREPARE): Define shell functions. (_AS_MKDIR_P_PREPARE): Set as_mkdir_p according to the above change. Define shell functions. 2008-10-09 Eric Blake Only prepare $as_me if it will be used. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Avoid unconditional preparation. (_AS_ECHO_LOG): Depend on $LINENO preparation. (AS_MESSAGE): Depend on $as_me preparation. (AS_TMPDIR): Use AS_ERROR, rather than a hand-rolled copy. 2008-10-09 Paolo Bonzini * m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Delay setting as_me until the M4SH-INIT diversion using _AS_ME_PREPARE. (_AS_PREPARE): Invoke _AS_EXPR_PREPARE before _AS_BASENAME_PREPARE and _AS_DIRNAME_PREPARE, and _AS_BASENAME_PREPARE and _AS_ME_PREPARE before _AS_LINENO_PREPARE. (AS_PREPARE): Include all the AS_REQUIREs manually. (_AS_ME_PREPARE): New. (_AS_LINENO_PREPARE): Use m4_defun. 2008-10-09 Paolo Bonzini * m4sugar/m4sh.m4 (_AS_BASENAME_EXPR, _AS_DIRNAME_EXPR): Do not require _AS_EXPR_PREPARE. (_AS_BASENAME_PREPARE, _AS_DIRNAME_PREPARE): Do it here. (_AS_PREPARE): Add _AS_BASENAME_PREPARE. 2008-10-08 Eric Blake Resync from gnulib. * cfg.mk (cvs_executable_files, cvs_files): Rewrite... (fetch): ...into new target. (executable-update): Delete, now that it is unused. * maint.mk (update, local_updates, cvs_files, gnulib_repo) (wget-update, cvs-update): Likewise. * HACKING (Update the foreign files): Document new procedure. * GNUmakefile: Resync from upstream, via new 'make fetch'. * build-aux/config.guess: Likewise. 2008-10-08 Paolo Bonzini * lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_SPY): Remove. (AS_INIT): Do not call it. 2008-10-08 Paolo Bonzini * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Expand _AS_UNSET_PREPARE in M4SH-SANITIZE. 2008-10-08 Eric Blake Avoid repeating required shell tests in suggested set. * lib/m4sugar/m4sh.m4 (_AS_DETECT_REQUIRED, _AS_DETECT_SUGGESTED): Use m4_set, rather than m4_expand_once/m4_append. (_AS_DETECT_SUGGESTED): Adjust to new storage layout, and filter required tests out of suggested tests. Reported by Paolo Bonzini. 2008-10-08 Paolo Bonzini Add m4sh keyword to all m4sh.at tests. * tests/m4sh.at: Add m4sh keyword to all tests. Fix comment pastos. 2008-10-08 Ralf Wildenhues Document AS_VERSION_COMPARE. * doc/autoconf.texi (Programming in M4sh): Document AS_VERSION_COMPARE. * NEWS: Update. Do not write to testsuite log fd before initialization. * lib/autotest/general.m4 (AS_MESSAGE_LOG_FD, AT_JOB_FIFO_FD): Define fds only when initializing the log fd so early error messages do not try to write to it. * tests/autotest.at (Startup error messages): New test. * NEWS: Document this 2.63 regression. 2008-10-07 Eric Blake Ensure _AS_CLEANUP is defined. * lib/m4sugar/m4sh.m4 (_AS_CLEANUP): Give initial definition. * tests/m4sh.at (AS@&t@_INIT cleanup): Expose the need for this. Improve m4sh maintainability. * lib/m4sugar/m4sh.m4: Sort macros for sanitizing the shell; no code change. Fix m4 quoting in previous patch. * lib/m4sugar/m4sh.m4 (AS_REQUIRE_SHELL_FN): Determine diversion name prior to invoking AS_REQUIRE. Reported by Ralf Wildenhues. 2008-09-18 Paolo Bonzini and Eric Blake Add a separate diversion for shell functions. * lib/m4sugar/m4sh.m4 (M4SH-INIT-FN): New diversion. (AS_REQUIRE): Accept diversion parameter. (AS_REQUIRE_SHELL_FN): Use it. 2008-10-06 Eric Blake Add m4_default_quoted. * lib/m4sugar/m4sugar.m4 (m4_default_quoted): New macro. (m4_for, m4_expand_once, m4_text_wrap, m4_text_box): Use it. * doc/autoconf.texi (Conditional constructs): Document it. * NEWS: Likewise. Fix build with case-insensitive make, again. * Makefile.am (pkgdata_DATA): Protect by MAKE_CASE_SENSITIVE. Reported via Keith Marshall, originally by newthinker in . 2008-10-06 Bruno Haible Warn about /usr/ucb on Solaris. * doc/install.texi (Particular Systems): Recommend putting /usr/ucb late in PATH, if at all. 2008-10-03 Ralf Wildenhues Fix more testsuite hang corner cases. * lib/autotest/general.m4: Use the serial code path if no test is to be run. * tests/autotest.at (parallel test execution): Test -j and -jN with `-k notmatched'. 2008-10-02 Ralf Wildenhues Fix hang with `testsuite -k notmatched'. * lib/autotest/general.m4: Do not reset $at_jobs if it is equal to one. Fixes hang with `-k notmatched'. 2008-10-02 Eric Blake Document more binary file portability traps. * doc/autoconf.texi (Limitations of Usual Tools) : Remind reader that NUL and sed don't always mix. : Mention Solaris /usr/ucb/tr bug with \0. 2008-10-02 Ralf Wildenhues Implement parallel Autotest test execution: testsuite --jobs. * lib/autotest/general.m4 (AT_JOB_FIFO_FD): New macro. (AT_INIT): : New variable. Accept -j, -jN, --jobs[=N], document them in --help output. Implement parallel driver loop using a FIFO, enabled with --jobs and if mkfifo works; otherwise, fall back to sequential loop. (AT_SETUP): Store, do not output summary progress line if parallel. * tests/autotest.at (parallel test execution, parallel truth) (parallel fallacy, parallel skip): New tests. * doc/autoconf.texi (testsuite Invocation): Document -j, --jobs, the mkfifo requirement, and that --errexit may cause concurrent jobs to finish. * NEWS: Update. 2008-09-20 Eric Blake Fix sample isinf definition. * doc/autoconf.texi (Function Portability) : Filter out NaN first. * THANKS: Update. Reported by David Cournapeau. 2008-09-16 Eric Blake Fix Erlang regression, introduced 2006-11-17. * lib/autoconf/erlang.m4 (AC_LANG(Erlang)): Avoid M4 comment caused by underquoting. * NEWS: Mention this fix. * THANKS: Update. Reported by BJ Terry. 2008-09-13 Ralf Wildenhues * lib/autoconf/general.m4 (AC_CONFIG_AUX_DIRS): Improve a bit. Mention Solaris sh ':' redirection bug. * doc/autoconf.texi (File Descriptors): Redirecting ':' in a loop causes bogus optimization with Solaris sh. 2008-09-10 Eric Blake Avoid testsuite bug when autom4te cache is disabled by user. * tests/tools.at (autoconf: forbidden tokens, basic): Enable cache, even if user normally disabled it. Reported by Bruno Haible. Avoid testsuite bug in presence of verbose config.site. * tests/base.at (Input/Output): Nullify config.site during test. Reported by Bob Friesenhahn. 2008-09-09 Eric Blake Release Version 2.63. * NEWS: Mention the release. Formatting tweaks to the manual. * doc/autoconf.texi (Introduction, Systemology) (File System Conventions, Portable C and C++) (Floating Point Portability): Allow URLs to split as needed. (Indices): Add entries, to work around texinfo bug on indices that start too close to a page break. (Particular Functions): Mention ftello. (Introduction, Language Choice): Use @enddots at sentence end. Resync from gnulib. * cfg.mk (cvs_executable_files, cvs_files): Update list of files, although for now, they are still manually sync'd. * build-aux/gnupload: Update. * build-aux/config.sub: Likewise. * GNUmakefile: Likewise. 2008-09-06 Eric Blake Mention that Automake already supports VPATH. * doc/autoconf.texi (Build Directories): Details in this section only apply to users avoiding automake. * THANKS: Update. Reported by Matej Tyc. Relax tone when warning about cross-compiler names. * lib/autoconf/programs.m4 (_AC_TOOL_WARN): Support cross-compiles with poorly named tools; the issue has been reported too many times in the last four years to pull support. * doc/autoconf.texi (Specifying Names, Generic Programs): Update documentation accordingly. * THANKS: Update. Reported by Josef Tran and others, wording suggested by Ralf Wildenhues. 2008-09-01 Eric Blake Improve AC_C_BIGENDIAN. * doc/autoconf.texi (C Compiler) : Mention that universal builds require a config header. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Enhance comments. Check AH_HEADER at the last possible moment, so that users can use AC_CONFIG_HEADER after this macro. Reported by Stepan Kasal. Fix manual date information. * doc/autoconf.tex: UPDATED refers to the day the manual was built, not the release date of Autoconf. Based on a bison patch by Akim Demaille. 2008-08-27 Eric Blake Fix off-by-one bug in _m4_shiftn. * lib/m4sugar/foreach.m4 (_m4_shiftn): Handle case when shifting all arguments. * tests/m4sugar.at (M4 loops): Test it. Reported by Akim Demaille. 2008-08-26 Eric Blake Improve INSTALL formatting. * doc/install.texi [!autoconf]: Ensure first paragraphs are indented like all others in a plain text rendering. * Makefile.am ($(srcdir)/INSTALL): Ensure plaintext formatting. Reported by Bruno Haible. 2008-08-26 Stepan Kasal Check for case sensitive make. * m4/make-check.m4 (AC_PROG_MAKE_CASE_SENSITIVE): New macro,... * configure.ac: ... called here. * Makefile.am ($(abs_srcdir)/INSTALL, INSTALL): Return to... ($(srcdir)/INSTALL): ...this, but enclose the rule in "if MAKE_CASE_SENSITIVE". 2008-08-26 Eric Blake Update invocation documentation. * doc/autoconf.texi (autoscan Invocation): Mention --debug. (autoreconf Invocation): Mention -v. (autom4te Invocation): Tie --freeze to -F, not -f. (autoupdate Invocation): Mention --prepend-include. * doc/install.texi (configure Invocation): Mention --help=short, --help=recursive, -n/--no-create, --prefix. Avoid TABs. * bin/autoscan.in ($help): Omit space before `...'. * bin/ifnames.in ($help): Likewise. * bin/autoconf.as (Usage): Likewise. * bin/autoreconf.in ($help): Likewise. * bin/autoheader.in ($help): Likewise. * bin/autom4te.in ($help): Likewise. * bin/autoupdate.in ($help): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Use `[OPTION]...', rather than `[OPTIONS]'. Mention --silent. Indent --file correctly. Don't let frozen __m4_version__ break downgrade to m4 1.4.x. * bin/autom4te.in: Adjust comments, now that we rely on 1.4.5+. (files_to_options): Avoid inheriting __m4_version__ from frozen file if current M4 does not support it. 2008-08-25 Eric Blake Adjust to recent m4 1.6 change to support m4_debugmode(d). * lib/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine): Move freeze-time decision of using faster 1.6 implementation... (m4_init): ...to a runtime decision, and add use of new debugmode flag. 2008-08-22 Peter O'Gorman Limit AC_C_BIGENDIAN univeral checks to Mac OS X. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Limit the check to __APPLE_CC__ with possible -arch flags. * NEWS: Document it. 2008-08-22 Ralf Wildenhues * NEWS: Fix typo. 2008-08-22 Eric Blake * TODO: Add an item for additional m4sugar looping constructs. Suggested by Ralf Wildenhues. Add reminder to keep dual implementations in sync. * lib/m4sugar/m4sugar.m4: Add comments. * lib/m4sugar/foreach.m4: Likewise. Suggested by Ralf Wildenhues. 2008-08-22 Peter Eisentraut (tiny change) Format warning and error messages to match GCS. * lib/autoconf/general.m4 (_AC_INIT_DIRCHECK) (_AC_INIT_PARSE_ARGS, _AC_CACHE_DUMP): Start warning and error messages with a lowercase letter, end them without punctuation. * lib/autoconf/lang.m4 (AC_NO_EXECUTABLES): Likewise. * lib/autoconf/libs.m4 (AC_PATH_X): Likewise. * lib/autoconf/status.m4 (AC_OUTPUT, _AC_OUTPUT_MAIN_LOOP): Likewise. * tests/fortran.at (GNU Fortran): Likewise. * tests/torture.at (Deep Package): Likewise. 2008-08-21 Eric Blake Avoid extra side effects in m4sugar list expansion. * lib/m4sugar/m4sugar.m4 (m4_mapall_sep, m4_list_cmp): Wrap around... (_m4_mapall_sep, _m4_list_cmp_raw): ...new helpers, to avoid duplicate side effects. (m4_version_compare): Adjust caller. * lib/m4sugar/foreach.m4 (m4_list_cmp): Rename... (_m4_list_cmp_raw): ...to match m4sugar. * doc/autoconf.texi (Looping constructs): Document the behavior of side effects. * tests/m4sugar.at (M4 loops, m4@&t@_map, m4@&t@_version_compare): Ensure only one side effect. (recursion): Fix test typo. Reported by Ralf Wildenhues. 2008-08-21 Ralf Wildenhues * TODO: Add item for compiler default flags. Suggested by Bruno Haible. * tests/m4sh.at (AS_IF and AS_CASE): Set the expansion limit back to 1000. 2008-08-21 Eric Blake Formatting improvements. * doc/autoconf.texi: Use @file and @command, rather than @code, where appropriate. Document another make bug. * doc/autoconf.texi (The Make Macro SHELL): Mention bug in BSD make, GNU make <= 3.80. Tweak wording about SHELL in Makefile. * doc/autoconf.texi (The Make Macro SHELL): Stronger wording on the importance of proper SHELL settings. Reported by Bruno Haible, in http://lists.gnu.org/archive/html/bug-libtool/2008-04/msg00029.html. 2008-08-20 Ralf Wildenhues Avoid timestamp races for updated input. * tests/m4sh.at (AS_IF and AS_CASE): Use `autom4te --force' for second script. * tests/tools.at (autotools and whitespace in file names): Add --force for repeated invocations. 2008-08-20 Bruno Haible Add section to INSTALL about particular systems. * doc/install.texi (Particular systems): New node. * doc/autoconf.texi: Adjust menus. 2008-08-19 Bruno Haible and Peter O'Gorman Mention universal binaries in INSTALL. * doc/install.texi (Compiling For Multiple Architectures): Explain how to create universal binaries on MacOS X. 2008-08-19 Jim Meyering Eric Blake Ralf Wildenhues Avoid shell parse errors after interrupt due to empty ``. * doc/autoconf.texi (Shell Substitutions): Document the issue. * lib/m4sugar/m4sh.m4 (AS_VAR_IF): New function. * lib/autoconf/functions.m4 (AC_CHECK_FUNC): Use it in place of "test AS_VAR_GET([...]) = yes" * lib/autoconf/general.m4 (AC_CHECK_FILE, AC_CHECK_DECL): Likewise. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): Likewise. (_AC_CHECK_HEADER_NEW, _AC_CHECK_HEADER_OLD): Likewise. (_AC_CHECK_HEADER_DIRENT): Likewise. * lib/autoconf/libs.m4 (AC_CHECK_LIB): Likewise. * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW, AC_CHECK_MEMBER): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Use temporary variable to work around the issue. * tests/foreign.at (Libtool): Quote result of command substitution. 2008-08-18 Eric Blake Test m4_transform without tickling shell bugs. * tests/m4sh.at (AS@&t@_IF and AS@&t@_CASE): Relax test to something more manageable. * tests/m4sugar.at (recursion): Move stress test of m4_transform_pair here. Reported by Ralf Wildenhues. Let 'git diff' give better context for doc updates. * .gitattributes (*.texi*): Add new entry. * README-hacking: Mention how to use it. Inspired by a coreutils patch by Jim Meyering. 2008-08-15 Eric Blake Fix m4_map regression from 2007-10-16. * lib/m4sugar/m4sugar.m4 (_m4_apply): New macro. (m4_map): Ignore empty sublists. For a list consisting of only an empty sublist, this restores 2.61 behavior of being a no-op. (m4_map_sep): Likewise, and expand separator. (m4_mapall, m4_mapall_sep): New macros, to regain 2.62 behavior. (_m4_map): Rewrite, to be common base for all four variants. * lib/m4sugar/foreach.m4 (_m4_map): Adjust to new prototype. * tests/m4sugar.at (m4@&t@_map): Add tests. * doc/autoconf.texi (Looping constructs) : Document new macros, and mention ramifications of expanded separator. * NEWS: Mention the change. 2008-08-14 Eric Blake Implement m4_transform_pair, to speed up AS_IF. * lib/m4sugar/m4sugar.m4 (m4_transform, m4_transform_pair): New macros, undocumented for now. * lib/m4sugar/foreach.m4 (m4_transform, m4_transform_pair): Also the m4 1.4.x counterparts. * lib/m4sugar/m4sh.m4 (AS_IF, AS_CASE): Use it. * tests/m4sh.at (AS@&t@_IF and AS@&t@_CASE): Test it. 2008-08-14 Ralf Wildenhues * lib/autoconf/programs.m4 (AC_PATH_TARGET_TOOL) (AC_CHECK_TARGET_TOOL, AC_CHECK_TARGET_TOOLS): Require, do not warn about previous AC_CANONICAL_TARGET. (AC_CHECK_TARGET_TOOL): Add missing `$' making the macro unusable in the non-cross-compiling case. * NEWS, THANKS: Update. Report by Dave Erickson. 2008-08-12 Eric Blake Optimize m4_bmatch. * lib/m4sugar/foreach.m4 (m4_bmatch): Provide linear implementation for m4 1.4.x. * tests/m4sugar.at (m4@&t@_bmatch): New test. (recursion): Test the linear nature. * NEWS: Document the fix. Fix m4_cond corner case. * lib/m4sugar/foreach.m4 (_m4_cond): Ensure alternate implementation allows concatenation with subsequent text. * tests/m4sugar.at (m4@&t@_cond): Enhance test. Add test for m4_cond. * tests/m4sugar.at (m4@&t@_cond): New test. Reported by Ralf Wildenhues. 2008-08-06 Eric Blake Fix autoheader 2.62 regression on AC_DEFINE([__EXTENSIONS__]). * lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS): Use a unique key for the AH_VERBATIM. * tests/c.at (AC_USE_SYSTEM_EXTENSIONS): New test. * NEWS: Mention the fix. Reported by Andreas Schwab, analyzed by Stepan Kasal. Add linear m4_cond for m4 1.4.x. * lib/m4sugar/m4sugar.m4 (m4_cond): Split into... (_m4_cond): ...this, for fewer macros per iteration. * lib/m4sugar/foreach.m4 (_m4_cond): New implementation. * tests/m4sugar.at (recursion): Test it. * NEWS: Document the linear guarantee. Speed up diversion handling. * lib/m4sugar/m4sugar.m4 (m4_divert, m4_divert_push) (m4_divert_pop, m4_divert_text): Avoid dnl for fewer macro expansions. AC_C_CHAR_UNSIGNED is not strictly necessary. * doc/autoconf.texi (C Compiler) : Mention a portable alternative to this macro. * THANKS: Update. Reported by Hallvard B Furuseth. Update some files from upstream. * GNUmakefile: Update. * build-aux/announce-gen: Likewise. * build-aux/config.guess: Likewise. * build-aux/config.sub: Likewise. * build-aux/git-version-gen: Likewise. * build-aux/texinfo.tex: Likewise. * build-aux/vc-list-files: Likewise. * doc/make-stds.texi: Likewise. * doc/standards.texi: Likewise. 2008-08-04 Ralf Wildenhues Fix AC_CONFIG_FILES([$var]) 2.62 regression. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Flatten whitespace in $ac_config_files and $ac_config_headers. * tests/torture.at (Parameterized AC_CONFIG_FILES): New test. Report by Andreas Schwab and Per Øyvind Karlsen. * THANKS: Update. 2008-07-30 Eric Blake Fix bugs in previous version of m4_bpatsubsts. * lib/m4sugar/foreach.m4 (_m4_bpatsubsts): Don't expand $1, and allow concatenation with subsequent text. * tests/m4sugar.at (m4@&t@_bpatsubsts): Enhance test. 2008-07-29 Eric Blake Add linear m4_bpatsubsts for m4 1.4.x. * lib/m4sugar/m4sugar.m4 (m4_bpatsubsts): Match documentation about anchors, even for only one substitution. * lib/m4sugar/foreach.m4 (_m4_bpatsubsts): New implementation. * doc/autoconf.texi (Conditional constructs) : Clarify behavior with regard to quoting. * tests/m4sugar.at (recursion): Test scaling of m4_bpatsubsts. (m4@&t@_bpatsubsts): New test. * NEWS: Document the linear guarantee. Tweak m4_do semantics. * lib/m4sugar/m4sugar.m4 (m4_do): Don't concat final argument with subsequent text. * lib/m4sugar/foreach.m4 (m4_do): Don't concat intermediate arguments, and avoid infinite loop. * doc/autoconf.texi (Evaluation Macros) : Document the behavior. * tests/m4sugar.at (m4@&t@_do): New test. Optimize m4_for. * lib/m4sugar/m4sugar.m4 (m4_for): Use fewer macros. (_m4_for): Take additional parameter, for fewer m4_indir calls. * lib/m4sugar/foreach.m4 (_m4_foreach, _m4_shiftn, m4_do) (m4_reverse, _m4_list_pad, _m4_list_cmp): Adjust all callers. * doc/autoconf.texi (Looping constructs) : Document subtle semantic change caused by the optimization. * tests/m4sugar.at (M4 loops): Test the new semantics. One more m4_list_cmp tweak. * lib/m4sugar/m4sugar.m4 (_m4_list_cmp_1): Don't defer shift. * lib/m4sugar/foreach.m4 (m4_list_cmp): Fix comment. * tests/m4sugar.at (recursion): Test both directions of list disparity. Add m4_reverse, and improve m4_list_cmp. * lib/m4sugar/m4sugar.m4 (m4_reverse): New macro. (m4_list_cmp): Rewrite to give linear behavior with M4 1.6 on an m4_reverse'd list. * lib/m4sugar/foreach.m4 (m4_reverse): Add the M4 1.4.x counterpart. * tests/m4sugar.at (recursion): Test it. * doc/autoconf.texi (Evaluation Macros) : Document it. (Text processing Macros) : Cross-reference to m4_set. * NEWS: Mention new macro. 2008-07-28 Eric Blake Avoid _m4_shiftn for m4 1.6 speedup. * lib/m4sugar/m4sugar.m4 (m4_foreach, _m4_foreach, m4_map) (_m4_map, m4_map_sep): Rewrite recursion to use one less m4_if. * lib/m4sugar/foreach.m4 (_m4_map): Accomodate changed signature. Implement O(n) unique element set creation. * lib/m4sugar/m4sugar.m4 (m4_set_add, m4_set_add_all) (m4_set_contains, m4_set_contents, m4_set_delete) (m4_set_difference, m4_set_dump, m4_set_empty, m4_set_foreach) (m4_set_intersection, m4_set_list, m4_set_listc, m4_set_remove) (m4_set_size, m4_set_union): New macros. * lib/m4sugar/foreach.m4 (m4_set_add_all): Add O(n) fallback for m4 1.4.x. * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS, AC_SUBST): Use new m4_set API for the set most likely to be large. * doc/autoconf.texi (Set manipulation Macros): New node. * NEWS: Mention new macros. * tests/m4sugar.at (m4@&t@_set): New test. 2008-07-25 Eric Blake Avoid infinite aclocal loop. * lib/m4sugar/m4sugar.m4 (m4_init): Bypass m4_include tracing, so that aclocal doesn't insist on finding m4sugar/foreach.m4. Provide O(n) replacement macros for M4 1.4.x. * lib/m4sugar/foreach.m4: New file. (m4_foreach, m4_case, _m4_shiftn, m4_do, m4_dquote_elt, _m4_map) (m4_join, m4_joinall, m4_list_cmp, _m4_minmax): Replace m4sugar macros based on $@ recursion [fast on M4 1.6, but quadratic on M4 1.4.x] with versions based on m4_for/m4_foreach [slow on 1.6, but linear on 1.4.x]. * lib/m4sugar/m4sugar.m4 (m4_init): Dynamically load new file if older M4 is assumed. (m4_map_sep): Optimize. (m4_max, m4_min): Refactor, by adding... (_m4_max, _m4_min, _m4_minmax): ...more efficient helpers. (m4_defn, m4_popdef, m4_undefine): Use foreach recursion. * lib/m4sugar/Makefile.am (dist_m4sugarlib_DATA): Distribute new file. * tests/m4sugar.at (M4 loops): Add a stress test that takes forever if m4_foreach and friends are quadratic. * NEWS: Mention this. 2008-07-21 Eric Blake Ignore undefined macros, necessary with m4 1.6. * bin/autoupdate.in (_au___undefine): New macro,... (_au__undefine): ...wrapped by ifdef to silence m4 warnings. Reported by Ralf Wildenhues. Resync with gnulib. * GNUmakefile: Grab from upstream, to fix issue where 'make install' would allow installation of stale version string. 2008-07-19 Eric Blake Support multiple arguments to m4_defn, m4_popdef, and m4_undefine. * lib/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine): Loop through all variables, per POSIX and newer m4. (_m4_text_wrap): Exploit the looping capabilities. * tests/m4sugar.at (m4@&t@_defn): Test this. * NEWS: Document it. * doc/autoconf.texi (Redefined M4 Macros) : Likewise. Reduce overhead of m4_builtin([defn]). * lib/m4sugar/m4sugar.m4 (_m4_defn, _m4_popdef, _m4_undefine): New internal macros, which are slightly more efficient than m4_builtin([defn]) and company. (m4_defn, m4_popdef, m4_undefine, m4_warn, m4_ifset) (_m4_dumpdefs_up, _m4_dumpdefs_down, _m4_wrap, m4_for) (_m4_divert_n_stack, m4_divert_pop, m4_expansion_stack_push) (m4_expansion_stack_dump, _m4_defun_pro, _m4_defun_epi) (_m4_defun_epi_outer, _m4_require_call, m4_combine, m4_append) (_m4_append_uniq, m4_append_uniq_w, _m4_text_wrap, m4_text_box) (m4_version_prereq): Use them. Use warnings from m4 when available. * lib/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine): Don't define slower wrapper if m4 will warn on our behalf; key off of __m4_version__, added alongside the new warnings in m4 1.6. * tests/m4sugar.at (m4@&t@_defn): New test. 2008-07-18 Eric Blake Add m4_joinall. * lib/m4sugar/m4sugar.m4 (m4_joinall, _m4_joinall): New macros. * tests/m4sugar.at (m4@&t@_join): Test them. * doc/autoconf.texi (Text processing Macros) : Document m4_joinall. * NEWS: Likewise. 2008-07-17 Stepan Kasal and Eric Blake Improve documentation of config.h.in template rules. * doc/autoconf.texi (Header Templates): Mention rules on comments and whitespace, and that the user cannot rely on #undef to survive through config.status. 2008-07-16 Eric Blake Revert m4_prepend; it is less efficient, and unused by bison. * lib/m4sugar/m4sugar.m4 (m4_prepend, m4_prepend_uniq) (m4_prepend_uniq_w): Delete addition from 2008-07-11. (_m4_grow_uniq_1): Rename back... (_m4_append_uniq): ...to this. * NEWS: Revert NEWS blurb. * doc/autoconf.texi (Text processing Macros) : Delete. * tests/m4sugar.at (m4@&t@_prepend): Delete. 2008-07-15 Eric Blake Avoid failure if version.m4 is omitted but m4_PACKAGE_* unused. * lib/m4sugar/m4sugar.m4 (m4_version_compare): Provide alternate definition for non-Autoconf clients of m4sugar. 2008-07-14 Eric Blake Tighten bound of potential speed of m4_append. * doc/autoconf.texi (Text processing Macros) : If m4 is fixed, m4_append can be linear rather than O(n log n). * lib/m4sugar/m4sugar.m4 (m4_append, m4_append_uniq): Fix comments. Analysis by Bruno Haible. 2008-07-11 Eric Blake Inherit improvements from bison's fork of m4sugar. * lib/m4sugar/m4sugar.m4 (m4_PACKAGE_VERSION): Ignore failure to find version.texi, since bison does not provide it. (m4_prepend): Add new macro, from bison. (m4_prepend_uniq, m4_prepend_uniq_w): Add new macros, for completeness. (_m4_append_uniq): Rename... (_m4_grow_uniq_1): ...to this to share implementation, and optimize initial assignment. (m4_append_uniq_w): Adjust caller. * NEWS: Document new macros. * doc/autoconf.texi (Text processing Macros) : Mention speed consideration. : Document the new prepend variants. * tests/m4sugar.at (m4@&t@_prepend): New test. Work around M4 1.6 warning on undefined macros. * lib/m4sugar/m4sugar.m4 (changeword, symbols): Don't rename if not already available as builtins. 2008-07-06 Ralf Wildenhues * doc/autoconf.texi (@dvar): Remove trailing newline. (@ovar): Likewise. Fix macro documentation. 2008-07-02 Stepan Kasal Add quotes to the header of autoscan-generated source. * bin/autoscan.in: Add quotes to AC_PREREQ and AC_INIT. 2008-06-28 Andreas Schwab * doc/autoconf.texi (autoscan Invocation): Fix spacing. (autoconf Invocation): Likewise. (autoreconf Invocation): Likewise. (autoheader Invocation): Likewise. (autom4te Invocation): Likewise. 2008-06-19 Eric Blake Add comment explaining recent patch. * lib/autotest/general.m4 (AT_INIT) : Explain choice of * vs. ? globbing. 2008-06-19 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_LINK): Do not warn when not linking a file to itself. Report by Bruno Haible. 2008-06-19 Eric Blake Resync with gnulib. * GNUmakefile: Grab from upstream, to fix VPATH 'make dist' bug. Reported by Stepan Kasal. 2008-06-18 Ralf Wildenhues Reorganize autotest files, factorize for parallel execution. * lib/autotest/general.m4 (AS_MESSAGE_LOG_FD): Move definition earlier in the file. (AT_INIT): Create line number cache in $at_suite_dir/at-source-lines. : New directory at-groups below $at_suite_dir. Add comment explaining the new directory structure. (at_func_group_prepare, at_func_group_postprocess): New shell functions to factorize per-test group work. Keep the actual test execution outside of a shell function in order to avoid zsh 4.x exit status bugs. : Turn these into per-group files below $at_helper_dir. Also store test results there in files named pass, fail, xpass, xfail, skip. Let the parent collect results from $at_helper_dir. Adjust summary statistics computation and result output. 2008-06-17 Ralf Wildenhues Fix '#undef variable /* comment */' transform in config headers. * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS_PREPARE): For undefined preprocessor macros that are followed by a comment in the header template, do not create nested comments in the output. * tests/torture.at (@%:@define header templates): Extend test. * NEWS: Update. Report by Karsten Hopp . 2008-06-09 Eric Blake Mark AC_TYPE_SIGNAL as obsolete. * lib/autoconf/types.m4 (AC_TYPE_SIGNAL): Switch to AU_DEFUN. * doc/autoconf.texi (Function Portability): Update documentation. (Particular Types): Move AC_TYPE_SIGNAL... (Obsolete Macros): ...here, and mention why. * NEWS: Mention the change. Allow lib64 as a default X library location. * lib/autoconf/libs.m4 (_AC_PATH_X_XMKMF): Add lib64. * NEWS: Mention the change. * THANKS: Update. Reported by Brad Walker. 2008-06-05 Eric Blake Fix regression in AT_KEYWORDS([Macro]), from 2007-10-18. * lib/autotest/general.m4 (AT_KEYWORDS): Expand argument prior to converting it to lower case. * tests/autotest.at (Keywords and ranges): Test this. * NEWS: Document the fix. * THANKS: Update. Reported via Karsten Hopp, by Jochen Schmitt in https://bugzilla.redhat.com/show_bug.cgi?id=449973 2008-06-03 Eric Blake Fix 'make dist' regression from 2008-05-08. * Makefile.am (INSTALL): Add rule, to accomodate 'make dist' after GNUmakefile's _autoconf rule removes INSTALL. 2008-05-27 Eric Blake Document Solaris /bin/sh redirection pitfall. * doc/autoconf.texi (File Descriptors): Mention redirection bug. 2008-05-14 Eric Blake Improve documentation of ! issues. * doc/autoconf.texi (Limitations of Builtins) : Touch up. Reported by Noah Misch. Document some FreeBSD shell bugs. * doc/autoconf.texi (Limitations of Builtins) : Mention ! issue in compound pipe commands. : Mention difference of exporting an undefined variable. (Shell Functions): Mention loss of $? in entry to shell functions. Extracted from the git mailing list. 2008-05-13 Stepan Kasal Work around MSYS and Cygwin bugs when dealing with trailing space. * tests/atlocal.in (func_sanitize_dir_name): Let atlocal succeed, even when platform bugs are tickled. Reported by Keith Marshall and Eric Blake. 2008-05-12 Ralf Wildenhues Let AC_MSG_FAILURE report pwd. * lib/autoconf/general.m4 (_AC_ARG_VAR_VALIDATE, AC_MSG_FAILURE): Output $ac_pwd along with fatal failure. * tests/torture.at (Deep Package): Extend test. Reported numerous times against GCC, and probably other packages. 2008-05-12 Eric Blake Enforce --help and --version compliance. * configure.ac (AM_INIT_AUTOMAKE): Add std-options option. 2008-05-08 Keith Marshall (tiny change) Avoid case-insensitive `make install' vs. `INSTALL' conflict. * Makefile.am ($(srcdir)/INSTALL): Replace all references... ($(abs_srcdir)/INSTALL): ...with this. 2008-05-06 Eric Blake Fix typo. * doc/autoconf.texi (Shell Substitutions): Drop at_ prefix. Avoid overfull \hbox. * doc/autoconf.texi (Versioning): Reword to fit line size. Document $(( )) pitfalls. * doc/autoconf.texi (Shell Substitutions): Mention octal vs. decimal. Mention autotest's at_func_arith. Improve behavior of './testsuite 01'. * lib/autotest/general.m4 (AT_INIT) : Alter usage to eval its arguments, in order to normalize away leading zero. All callers updated. * tests/autotest.at (Keywords and ranges): Test range normalization with leading 0. 2008-04-26 Eric Blake Mention Solaris /usr/ucb/tr pitfall. * doc/autoconf.texi (Limitations of Usual Tools) : Add section. Reported by Bruno Haible and Jim Meyering. 2008-04-24 Eric Blake Mention m4sugar's internal quote strings. * doc/autoconf.texi (Quadrigraphs): Mention alternate quote used in m4sugar, and how to still output it literally. * tests/m4sugar.at (m4@&t@_split): And test it. Reported by Joel E. Denny. 2008-04-23 Eric Blake Allow unbalanced () in m4_expand. * lib/m4sugar/m4sugar.m4 (m4_expand, _m4_expand): Use more complex quotes. (m4_noquote, _m4_split): Use consistent complex quote. * tests/autotest.at (Left paren, Right paren): Test this. (Parentheses): Ensure new quadrigraphs still work. (AT_CHECK_AT_TITLE_CHAR): All title char tests exercise m4_expand. * NEWS: Mention the fix. * doc/autoconf.texi (Quadrigraphs): Revert mention of macros that require quadrigraphs for (). (Evaluation Macros) : Relax the restriction against unbalanced (). (Pretty Help Strings) : Likewise. (Writing Testsuites) : Likewise. Reported by Joel E. Denny, fix suggested by Noah Misch. 2008-04-22 Eric Blake Support unbalanced () in AT_SETUP by adding two new quadrigraphs. * bin/autom4te.in (handle_output): Substitute @{:@ and @:}@. (handle_traces): Likewise. * lib/m4sugar/m4sugar.m4 (m4_qlen): Account for new quadrigraphs. * tests/autotest.at (AT_CHECK_AT_TITLE_CHAR): Add new tests. * doc/autoconf.texi (Quadrigraphs): Document them. (Evaluation Macros) : Enhance documentation. (Text processing Macros) : Document cases where quadrigraphs can help for problemetic unbalanced parentheses. (Pretty Help Strings) : Likewise. (Writing Testsuites) : Likewise. (Limitations of Builtins) : Consolidate text on unbalanced parentheses, and add an example of creative comments. * NEWS: Document the addition. Reported by Joel E. Denny. 2008-04-16 Eric Blake Document pdksh exec behavior. * doc/autoconf.texi (Limitations of Builtins) : New subsection. Discovered by Jim Meyering. 2008-04-14 Ralf Wildenhues * tests/autotest.at (AT_CHECK_AT): Allow to pass additional arguments to the inner suite. (errexit, input from stdin): New tests. 2008-04-13 Ralf Wildenhues * NEWS: Post-release update. 2008-04-10 Eric Blake AC_AUTOCONF_VERSION might contain arbitrary macro names. * doc/autoconf.texi (Versioning): Mention problem with expansion. * tests/tools.at (autoconf: AC_AUTOCONF_VERSION): Adjust test. 2008-04-09 Slava Sysoltsev (tiny change) Flush buffered output before exit. * bin/autom4te.in (handle_output): Explicitly close file. * THANKS: Update. See http://lists.gnu.org/archive/html/autoconf/2008-04/msg00026.html. 2008-04-08 Eric Blake Generate web docs for 2.62. * doc/autoconf.texi (Evaluation Macros): Fix typo. (Notices): Use recommended means to escape RCS keyword. * cfg.mk (gnulib_dir): New macro. (web-manual): New target. 2008-04-05 Eric Blake Release Version 2.62. * NEWS: Mention the release. 2008-04-04 Stepan Kasal and Eric Blake Return back to GPLv2+, until the text of the exceptions is finalized, reverting the change from 2007-07-03 and the first part of the change from 2007-07-20. * COPYING: Revert to GPLv2. * COPYINGv3: New file, since some auxiliary build tools, used for building autoconf and not installed, are GPLv3. * Makefile.am (EXTRA_DIST): Distribute COPYINGv3. * NEWS: Remove mention of GPLv3. * README: Clarify situation regarding GPLv3. 2008-04-05 Eric Blake Prepare for release. * maint.mk (announcement): Avoid deleted option. * cfg.mk (release_archive_dir): Use default. * build-aux/gnupload: New file, from automake/gnulib. * Makefile.am (EXTRA_DIST): Distribute it. * .x-sc_two_space_separator_in_usage: New file, to exempt gnupload from syntax check. 2008-04-05 Jim Meyering and Ralf Wildenhues Work around CR EOL markers on OS/2 (www.ecomstation.com Ecs v2 rc4) * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): When CR is the EOL marker, skip a step that would remove and translate carriage return bytes. * THANKS: Update. Reported by Elbert Pol. 2008-04-05 Eric Blake Avoid some autoreconf -Wall warnings. * configure.ac: Use proper quoting, to be a good example. (PACKAGE_NAME): Remove setting covered by autoconf. (AM_INIT_AUTOMAKE): Bump automake requirement, for html rules. * doc/Makefile.am (TEXI2DVI): Remove settings covered by automake. (html, autoconf_1.html, standards_1.html): Likewise. (TEXI2HTML, TEXI2HTML_FLAGS): Remove unused macros. * Makefile.am (html): Likewise. * doc/autoconf.texi (Quoting and Parameters): Add missing section name. * tests/Makefile.am (AUTOMAKE_OPTIONS): Intentionally ignore warning about our override, until Automake is fixed. * README-hacking: Document minimum requirements for bootstrap. 2008-04-03 Eric Blake Fix version number generation in man pages. * Makefile.am (EXTRA_DIST): Distribute .version. (.version): New rule. * man/Makefile.am (common_dep): Depend on .version, not configure.ac. (.x.1): Use package name for version string. * GNUmakefile [!_have-Makefile]: Sync from upstream, again. * build-aux/git-version-gen: Sync from upstream. More maintainer tweaks: pass 'make maintainer-distcheck'. * GNUmakefile (_is-dist-target): Sync from upstream. * build-aux/vc-list-files: Sync from upstream, yet again. * tests/atlocal.in (unsupported_fs_chars): Always remove tdir. * tests/Makefile.am (EXTRA_DIST): Don't distribute the built package.m4. * lib/autoconf/general.m4 (_AC_INIT_COPYRIGHT): Bump year. Fix VPATH 'make syntax-check'. * maint.mk (VC_LIST, VC_LIST_EXCEPT, sc_changelog) (sc_prohibit_jm_in_m4, makefile-check): Support VPATH. (author_mark_check): Avoid error message. * build-aux/vc-list-files: Sync from upstream again. * build-aux/texinfo.tex: Likewise. Sync files from upstream, and pass 'make syntax-check'. * config/announce-gen: Move... * build-aux/announce-gen: ...here, and sync from gnulib. * Makefile.am (EXTRA_DIST): Adjust accordingly. * cfg.mk (announce_gen): Likewise. (prev_version_file): Delete, relying on default in maint.mk. (gpg_key_ID): New macro. (url_dir_list): Rewrite to match coreutils. * config/prev-version.txt: Move... * .prev-version: ...here, and adjust to 2.61. * build-aux/vc-list-files: Sync from coreutils. * maint.mk: Resynchronize with coreutils, where possible. (ME): Remove $(srcdir) from definition. (CVS): Delete. (GIT, VC, VC-tag): New macros. (CVS_LIST, CVS_LIST_EXCEPT): Rename... (VC_LIST, VC_LIST_EXCEPT): ...to this. (cvs-tag-check): Delete. (cvs-diff-check): Rename... (vc-diff-check): ...to this. (sc_file_system): Allow FHS acronym. * doc/autoconf.texi (Particular Functions): Recommend unconditional . * build-aux/config.guess: Sync from upstream (manually). * build-aux/config.sub: Likewise. * build-aux/texinfo.tex: Likewise. * doc/make-stds.texi: Likewise. * doc/standards.texi: Likewise. * .gitattributes: Ignore whitespace problems in upstream files. 2008-04-03 Ralf Wildenhues * doc/autoconf.texi (Limitations of Usual Tools): Mention awk %u bug on HP-UX/IA. Report by Peter O'Gorman. 2008-04-02 Eric Blake Recommend the just-released M4 1.4.11. * NEWS: Update recommendation. * README: Likewise. * doc/autoconf.texi (Introduction): Likewise. * m4/m4.m4 (AC_PROG_GNU_M4): Likewise. 2008-04-01 Eric Blake * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Bump copyright year. 2008-03-28 Peter O'Gorman Find X11 on Mac OS X too. * lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT,_AC_PATH_X_XMKMF): Check for libX11 with extensions dylib la and dll too. * THANKS: Update. Reported by Martin Costabel. 2008-03-28 Eric Blake Update TODO based on completed tasks. * TODO (AC_PROG_INSTALL takes multiple files): Done. (AC_GNU_SOURCE deprecation): Done, see AC_USE_SYSTEM_EXTENSIONS. (AC_COMPILE_IFELSE documentation): Done. (Tracing builtins): Done, now that we require M4 1.4.5. (AC_PROG_CC_POSIX suggestion, providing header files) (AC_TYPE_SIGNAL): Not needed; gnulib's approach is better. (cache consistency): Done with precious variables. 2008-03-26 Eric Blake Document --trace=macro:format in --help output. * bin/autom4te.in (help): Mention optional trace format. * bin/autoconf.as (usage): Likewise. * doc/autoconf.texi (Limitations of Usual Tools) : Fix typos in last patch. Reported by Ralf Wildenhues. 2008-03-26 Jim Meyering Fix texinfo syntax error. * doc/autoconf.texi (Limitations of Usual Tools): s/@kbd {/@kbd{/ 2008-03-26 Ralf Wildenhues Warn, not fail on whitespace-only precious variable differences. * lib/autoconf/general.m4 (_AC_ARG_VAR_VALIDATE): Output precious variable differences less ambiguous with `ugly-quotes'. If their settings differ only in whitespace, do not fail, but reuse the old value. * tests/torture.at (AT_CHECK_AC_ARG_VAR): Extend macro to allow an optional status and expected-warning argument. Fix m4 quotation for initial value. (AC_ARG_VAR): Also test for whitespace-only differences, and that the old value is retained in this case. * doc/autoconf.texi (Setting Output Variables): Document this. * NEWS: Update. Report and initial patch by Paolo Bonzini. 2008-03-26 Eric Blake Document busybox sed bug. * doc/autoconf.texi (Limitations of Usual Tools) : Mention restrictions when using back-references. Reported by Vincent Lefevre: . Document Automake interaction with AC_CONFIG_MACRO_DIR. * doc/autoconf.texi (Input): Mention ACLOCAL_AMFLAGS for automake users. * THANKS: Update. Reported by Chris Pickett. 2008-03-25 Ralf Wildenhues * tests/autotest.at (Using atlocal): Quote instances of `pwd`. * tests/local.at (AT_CHECK_M4): Factorize warning output normalization. Suggested by Eric Blake. 2008-03-24 Ralf Wildenhues Fix .exe-related test failure on MinGW. * tests/local.at (AT_CHECK_M4): Normalize `/bin/m4.exe' correctly for comparing warning output. Fix Fortran testsuite failures with gfortran 4.3. * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): When scanning verbose compiler output, skip lines that set variables; gfortran 4.3 sets LIBRARY_PATH, COMPILER_PATH, COLLECT_GCC_OPTIONS. * THANKS: Update. Report by Vincent Lefèvre. 2008-03-21 Eric Blake * GNUmakefile: Resynchronize with gnulib. Document more uses of $cross_compiling. * doc/autoconf.texi (Runtime): Document that a temporary override is permissible. * THANKS: Update. Reported by Ineiev, example by Ralf Wildenhues. Don't swallow $1 in textual local variables. * lib/m4sugar/m4sugar.m4 (m4_combine): Don't use overquoting and expansion of text arguments, as that swallows $1. (m4_text_wrap): Likewise, by splitting out... (_m4_text_wrap): ...new helper macro. Also, allow arbitrary expression for width. * tests/m4sugar.at (m4@&t@_text_wrap): Test this. (m4@&t@_combine): Likewise. 2008-03-21 Ralf Wildenhues Avoid leftover files on Leopard. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT): Remove a.out.dSYM directory created on darwin. (AC_NO_EXECUTABLES): Likewise; also remove objects which may be left over from a broken link. * tests/c.at (AC_NO_EXECUTABLES (working linker)) (AC_NO_EXECUTABLES (broken linker)): New tests. Report by Gary V. Vaughan. * lib/autom4te.in (Automake-preselections): Trace _AM_COND_IF, _AM_COND_ELSE, _AM_COND_ENDIF. 2008-03-20 Eric Blake Kill more CVS references. * README-cvs: Delete. See README-hacking instead. * README-hacking: Update wording, based on older file. * BUGS: Remove CVS mention. 2008-03-20 Ralf Wildenhues * tests/tools.at (autotools and whitespace in file names): Skip if aclocal is not present. 2008-03-20 Eric Blake Sync GNUmakefile with gnulib. * GNUmakefile (Makefile.cfg): Rename... (cfg.mk): ...to this, and make optional. (GNUmakefile.cfg): Delete, redundant with cfg.mk. (Makefile.maint): Rename... (maint.mk): ...to this. (all) [!_have-Makefile]: Rename... (abort-due-to-no-makefile): ...to this, and invoke via .DEFAULT_GOAL to pick up all targets. * Makefile.cfg: Rename... * cfg.mk: ...to this. * Makefile.maint: Rename... * maint.mk ...to this. (ME): Reflect name change. (makefile-check, m4-check, author_mark_check, msg): Use $(ME) rather than hard-coded name. * GNUmakefile.cfg: Delete; move rules into cfg.mk. * Makefile.am (EXTRA_DIST): Reflect file name changes. * .x-sc_prohibit_atoi_atof: Likewise. * lib/freeze.mk: Likewise. 2008-03-19 Stepan Kasal * doc/autoconf.texi (Introduction): Improve the paraphrase of Henry Spencer's quotation. 2008-03-19 Eric Blake AC_CONFIG_HEADERS replaced AC_CONFIG_HEADER. * bin/autoscan.in (output): Avoid obsolete spelling. * tests/local.at (AC_STATE_SAVE): Update usage. * THANKS: Update. Reported by John Calcote. Emphasize that ease of configure triumphs over ease of autoconf. * doc/autoconf.texi (Introduction): Expand on primary vs. secondary goal of autoconf. * THANKS: Update. Inspired by Paul Smith. 2008-03-17 Ralf Wildenhues * lib/Autom4te/FileUtils.pm (handle_exec_errors): New argument $hint, show if the executing program does not exist. (xsystem_hint): New function, like xsystem but allows to pass a hint. * bin/autoreconf.in: Use xsystem_hint for spawning autopoint and libtoolize. Report by Bruce Korb. 2008-03-14 Stepan Kasal * lib/Autom4te/ChannelDefs.pm, tests/fortran.at, tests/mktests.sh, tests/wrapper.as: Fix typos. 2008-03-12 Eric Blake Fix yesterday's regression in m4_wrap([$1]). * lib/m4sugar/m4sugar.m4 (_m4_wrap): Don't directly invoke wrapped text, since it may contain text that looks like parameters. * tests/m4sh.at (AS@&t@_INIT cleanup): Enhance test. 2008-03-11 Eric Blake Improve error messages for common testsuite bugs. * lib/autotest/general.m4 (_AT_DEFINE_INIT, _AT_DEFINE_SETUP): New macros for defining order-enforced macros. (AT_INIT, AT_SETUP, AT_CLEANUP, AT_BANNER, AT_XFAIL_IF) (AT_CAPTURE_FILE, AT_DATA, AT_CHECK, AT_CHECK_NOESCAPE): Add error messages when order violations are detected. * tests/autotest.at (AT_CHECK_AT_SYNTAX): New helper macro. (AT_SETUP without AT_INIT, AT_BANNER without AT_INIT) (AT_CLEANUP without AT_INIT, Missing AT_CLEANUP) (AT_CHECK without AT_SETUP, AT_DATA without AT_SETUP) (AT_XFAIL_IF without AT_DATA, AT_KEYWORDS without AT_SETUP, (AT_CLEANUP without AT_SETUP, AT_BANNER inside AT_SETUP) (AT_SETUP inside AT_SETUP, Multiple AT_INIT) (Banner-only test suite): New tests. Reported by Christopher Hulbert. Tweak m4_wrap to force FIFO or LIFO semantics. * lib/m4sugar/m4sugar.m4 (m4_wrap): Override M4 implementation. (m4_wrap_lifo, _m4_wrap): New macros. * lib/m4sugar/m4sh.m4 (AS_INIT): Combine all cleanup into known order, prior to m4sugar's. (_AS_DETECT_BETTER_SHELL): Use cleanup parameter, rather than m4_wrap. * lib/autotest/general.m4 (AT_INIT): Combine all cleanup into known order, prior to m4sh's. * doc/autoconf.texi (Diagnostic Macros) : Document argument. (Redefined M4 Macros) : Rewrite documentation to match new behavior. * tests/m4sh.at (AS_INIT cleanup): New test. * NEWS: Document the change. 2008-03-10 Eric Blake Encode nested autotest data. * tests/autotest.at (AT_CHECK_AT_PREP): Avoid raw AT_ in output. (unusual file names): Likewise. (m4_pattern_allow): Remove loophole, to make it easier to catch poorly written tests. Factor some autotest tests. * tests/autotest.at (AT_CHECK_AT_PREP): New macro, to factor out common initialization. (AT_CHECK_AT, Banners, Keywords and ranges, srcdir propagation) (whitespace in absolute testdir, unusual file names): Use it. 2008-03-06 Eric Blake Minor documentation fix. * doc/autoconf.texi (Evaluation Macros): Fix typo. 2008-03-04 Eric Blake Make AT_CHECK act like a simple command. * lib/autotest/general.m4 (_AT_CHECK): Wrap commands in {;}. * tests/torture.at (AT_CHECK_CONFIG_CREATION_NOWRITE): Test it. 2008-03-04 Ralf Wildenhues On MinGW, substitution of CR and 0xFF fails. * tests/torture.at (Substitute and define special characters): MinGW awk cannot handle 0xFF, and on MinGW, the test does the wrong thing for CR. 2008-03-04 Eric Blake Pull in recent maintainer improvements from coreutils. * GNUmakefile (_is-dist-target): 'make distclean' should not trigger autoreconf. (_dummy): Change directories before removing autom4te.cache. (check dist distcheck install) [!_have-Makefile]: Provide nicer diagnostics. * configure.ac (AC_CONFIG_LINKS): Copy GNUmakefile into VPATH builds, after initial bootstrap. * Makefile.am (distclean-local): Work around current automake bug. * Makefile.maint (ME): Allow VPATH usage. Use git-merge-changelog when available. * .gitattributes: New file. * README-hacking: Document use of git-merge-changelog. Work around cygwin bug. * tests/atlocal.in (unsupported_fs_chars): Avoid cygwin bug where "touch 't\'" creates regular file 't'. Ignore tests that require read-only directories under root. * tests/torture.at (AT_CHECK_CONFIG_CREATION_NOWRITE): Skip no-write portion if user has root-like privileges. 2008-03-04 Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT): Fix detection of '-C -'. 2008-03-03 Ralf Wildenhues autoreconf -m now honors $MAKE. * bin/autoreconf.in ($run_make): Renamed from ... ($make): ... this. Use now as command to run `make', overridden by $MAKE. Document this in --help output. * doc/autoconf.texi (autoreconf Invocation): Document all environment variables honored by autoreconf. * NEWS: Update. Report by Paul Eggert. 2008-03-03 Eric Blake Documentation improvements. * doc/autoconf.texi (Looping constructs): s/recurses/repeats/. (Evaluation Macros): Drop `1' suffix from metasyntax variable name that preceeds @dots. Improve wording. (Text processing Macros): Drop `1' suffix from metasyntax variable name that preceeds @dots. (Number processing Macros): Drop `1' suffix from metasyntax variable name that preceeds @dots. Improve wording. * lib/m4sugar/m4sugar.m4 (m4_cmp): Comment wording fix. Suggested by Ralf Wildenhues. 2008-03-02 Jim Meyering Don't infloop upon "make dist". * GNUmakefile: Merge from coreutils. * Makefile.am (dist-hook): Inject .tarball-version into tarball, not .version. * configure.ac (AC_INIT): Use .tarball-version, not .version. * build-aux/git-version-gen: Update from gnulib. 2008-03-02 Ralf Wildenhues * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Before using /dev/full, check that it is a writable character special device. Report by Benoit Sigoure and Eric Blake. Actually test that @configure_input@ is expanded correctly. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Actually check generated file contents for the name of the generated file, using AC_PROG_FGREP and $FGREP. 2008-03-01 Benoit Sigoure Be nice with file systems that don't handle unusual characters. * tests/atlocal.in (func_sanitize_file_name) (func_sanitize_dir_name): New shell functions. * tests/tools.at (autom4te and whitespace in file names) (autotools and whitespace in file names): Use them. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Cover more potentially problemtic file names. Use the new functions. Properly handle funny file names for headers in config.status. The test suite did not cover this bug because the code was not quoting properly the arguments of `rm -f' (which "fails" silently) as well as the arguments of `diff' (whose output was redirected to /dev/null so we couldn't see its error message). * lib/autoconf/status.m4 (_AC_OUTPUT_HEADER): Properly quote the file names passed to `rm' and `diff'. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Add a regression test. 2008-03-01 Benoit Sigoure and Ralf Wildenhues Properly expand @configure_input@ in config.status. * lib/autoconf/status.m4 (_AC_OUTPUT_FILE, _AC_OUTPUT_MAIN_LOOP): Escape the backslashes and ampersands in $configure_input before using it in the sed replacement string to expand @configure_input@. Report by Eric Blake and Patrick Welche. 2008-03-01 Ralf Wildenhues Ignore errors from ./run on w32. * tests/autotest.at (whitespace in absolute testdir): Ignore stderr for `./run' which fails to remove the busy test directory on w32. 2008-02-22 Eric Blake Improve documentation for writing autotest suites. * doc/autoconf.texi (Writing Testsuites) : Mention that checks must live inside a test group. Reported by Christopher Hulbert. 2008-02-21 Eric Blake Sync git-version-gen from upstream. * build-aux/git-version-gen: Pull from gnulib. * configure.ac (AC_INIT): Adjust to new calling convention. 2008-02-12 Eric Blake Avoid trailing space in config.h with AC_DEFINE([var], []). * lib/autoconf/general.m4 (_AC_DEFINE_Q): Explicitly mark empty defines with a comment. 2008-02-08 Eric Blake Fix texinfo typos in previous patch. * doc/autoconf.texi (Site Defaults): s/[{}]/@&/g. Reported by Ralf Wildenhues. Describe a config.site that can be used for FHS compliance. * doc/autoconf.texi (Site Defaults): Fix typo. Add new example for FHS. * THANKS: Update. Reported by Jules Colding and Ralf Wildenhues. 2008-02-02 Eric Blake * doc/autoconf.texi (Limitations of Usual Tools) : Fix typo. 2008-02-02 Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT): Fix --clean to work again, broken since introduction of `-C dir'. * tests/autotest.at (Choosing where testsuite is run): Test it. 2008-01-30 Paul Eggert * doc/autoconf.texi: Update Back-Cover text to reflect new GNU wording. 2008-01-29 Eric Blake Fix more autotest regressions. * lib/autotest/general.m4 (AT_LINE): Fix regression from 2007-10-04 when file name is `dnl'. (AT_INIT) : Move command-line assignments... : ...to this new diversion, to fix regression from yesterday in libtool's testsuite. (_AT_ARG_OPTION): Detect write failure. * doc/autoconf.texi (Diversion support): Document PREPARE_TESTS to make libtool's use kosher. Document m4_init. (Programming in M4sh): Document AS_INIT. (Writing Testsuites): Document limitation of AT_DATA file name. * tests/autotest.at (unusual file names): New test. (Banners, Keywords and ranges): Use correct shell. More corner cases in testsuite VAR=VALUE handling. * lib/autotest/general.m4 (AT_INIT) : Also detect leading digits in assignments. * tests/autotest.at (Using atlocal): Enhance test to catch last bug. * doc/autoconf.texi (Limitations of Builtins) <.>: Mention bash bug. 2008-01-28 Eric Blake Fix regression in handling VAR=VALUE arguments to testsuite. * lib/autotest/general.m4 (AT_INIT) : Detect leading = as invalid. Defer use of command-line variable assignments... : ...here, after atconfig has been sourced. Fix regression in sourcing files. * tests/autotest.at (Using atlocal): New test to catch this. (Debugging a successful test, Choosing where testsuite is run): Use correct shell. Reported by Ralf Wildenhues. Document grep peculiarity. * doc/autoconf.texi (Limitations of Usual Tools) : Document BSD behavior on binary input. Minor testsuite improvements. * lib/autotest/general.m4 (AT_INIT) : Use fewer forks when sanitizing PATH. Always output machine information, not just when atconfig was located. Add 'testsuite -C dir'. * lib/autotest/general.m4 (_AT_ARG_OPTION): Move missing argument detection... (AT_INIT) : ...here, since -k always takes argument. : Delay computation of variables based on $at_dir... : ...to here, since -C can change $at_dir. : Re-invoke via absolute name, since -C may be in effect. : Parse new option. : Document it. * tests/autotest.at (Choosing where testsuite is run): New test for this feature. (Keywords and ranges): Add test for missing -k argument. * NEWS: Document this. * doc/autoconf.texi (testsuite Invocation): Likewise. 2008-01-24 Ralf Wildenhues * build-aux/config.guess, build-aux/config.sub, build-aux/texinfo.tex: Sync from gnulib. * doc/fdl.texi, doc/make-stds.texi, doc/standards.texi: Likewise. 2008-01-23 Ralf Wildenhues * doc/autoconf.texi (Particular Programs): Do not mention the Autoconf version in which the AC_PROG_INSTALL change was done. Suggested by Paul Eggert. 2008-01-22 Ralf Wildenhues Fix --help=recursive with multiple AC_CONFIG_SUBDIRS. * lib/autoconf/general.m4 (_AC_INIT_HELP): If, for recursive help mode, we change to the source directory, also set $ac_pwd so we do not go back to the build tree for the next config subdir. * tests/torture.at (Deep Package): Extend test to contain two config subdirs on the top level. Fix parallel `maintainer-check'. * Makefile.am (maintainer-check-tests): Depend on `all'. Use `$(MAKE) $(AM_MAKEFLAGS)' instead of plain `make'. * tests/Makefile.am (maintainer-check-c++, maintainer-check-posix): Likewise. (maintainer-check): Serialize the testsuite runs. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ENABLE2): Accept `+' in feature string for --enable/--with. Convert to underscore for variable name. * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Require that `install -c file1 file2 dir' works. * doc/autoconf.texi (Particular Programs): Document this. * NEWS: Update. 2008-01-21 Eric Blake Improve documentation about default include directives. * doc/autoconf.texi (Generic Headers, Generic Declarations) (Generic Structures, Generic Types) (Generic Compiler Characteristics): Add links to AC_INCLUDES_DEFAULT. Reported by Reuben Thomas. 2008-01-15 Eric Blake * lib/m4sugar/m4sugar.m4 (m4_qlen): Use fewer macros. 2008-01-08 Ralf Wildenhues * tests/Makefile.am (noinst_SCRIPTS): Renamed from check_SCRIPTS. Building the wrappers for `all' allows help2man to use them for the manpages. Report by Benoit Sigoure. * bin/autoreconf.in: Discard stderr for $autoconf/$aclocal --help. 2007-12-16 Ralf Wildenhues Fix some write failure cases in Autotest. * lib/autotest/general.m4 (AT_INIT): Do not exit successfully upon write failures for --help, --version, --list. Guard against write failures for intermediate created scripts. : Do not make the debugging script executable if it is not complete. 2007-12-12 Eric Blake Fix thinko in earlier patch - m4_join isn't defined yet. * lib/m4sugar/m4sugar.m4 (m4_expansion_stack_push, _m4_defun_pro) (_m4_defun_pro_outer, _m4_defun_epi, _m4_defun_epi_outer) (m4_require): Use m4_do, not m4_join. Fix some whitespace tests on cygwin. * tests/tools.at (autom4te and whitespace in file names): Restore font-lock. Create $TMPDIR before it might be used. Fix spurious testsuite failure with M4 1.4.11. * tests/local.at (AT_CHECK_M4): Cater to new m4 error message. Optimize AC_REQUIRE. * lib/m4sugar/m4sugar.m4 (m4_expansion_stack_push, _m4_defun_pro) (_m4_defun_pro_outer, _m4_defun_epi, _m4_defun_epi_outer) (m4_require): Avoid extra macro calls. 2007-12-08 Ralf Wildenhues * tests/torture.at (srcdir): Fix quoting. Do not pass top_srcdir to configure scripts in testsuite. * tests/autotest.at (srcdir propagation): Copy install-sh to source tree. (my only test): Drop setting of `top_srcdir'. * tests/base.at (Input/Output): Likewise. * tests/local.at (AT_CONFIGURE_AC): Copy install-sh, config.guess, and config.sub to test source tree. Drop AC_CONFIG_AUX_DIR setting. (AT_CHECK_CONFIGURE): Drop setting of `top_srcdir'. * tests/torture.at (Substitute a 2000-byte string): Drop AC_CONFIG_AUX_DIR setting, copy install-sh to test source tree. (Substitute a newline, datarootdir workaround): Likewise. (Define a newline): Adjust for linenumber changes in configure.ac. * tests/foreign.at (Libtool): Adjust comment to reflect changes. * tests/semantics.at (AC_PATH_PROGS_FEATURE_CHECK): Skip test if `pwd` contains whitespace. Quote $abs_top_srcdir in tests. * tests/local.at (AT_CHECK_PERL_SYNTAX): Likewise. * tests/tools.at (Syntax of the shell scripts): Likewise. * tests/m4sh.at (LINENO): Quote $0. Fix testsuite program wrapper for whitespace in `pwd`. The problem here is that the usual mantra is that command variables can contain arguments, thus we cannot just escape $AUTOCONF, $AUTOM4TE etc. The compromise is to put the $top_builddir/tests directory early in $PATH, so that the wrappers are found by their plain name. * tests/wrapper.as: Put $testdir early in $PATH. (AUTOCONF, AUTOHEADER, AUTOM4TE): Set to plain command names. Proper config.status --file/--header and $srcdir escaping. * lib/autoconf/status.m4 (_AC_OUTPUT_MAIN_LOOP): Quote special characters in $ac_file_inputs. (_AC_OUTPUT_FILE, _AC_OUTPUT_HEADER): eval $ac_file_inputs accordingly. * tests/torture.at (datarootdir workaround): Adjust. (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Extend test. Fix Autotest for whitespace in `pwd`. * lib/autotest/general.m4 (AT_INIT) : Quote $at_group_dir. * tests/autotest.at (whitespace in absolute testdir): New test. * lib/autom4te.in: Quote @datadir@. Proper file name escaping in Autoconf programs and Perl modules. This includes escaping of characters special to the shell as well as special to Perl, e.g., leading `<' or `>'. For example, when $file starts with `>', `open ">$file"' wrongly tries to append to a different file. * bin/autoconf.as: Fix quoting for autom4te options. * lib/Autom4te/General.pm (shell_quote): New function, taken from coreutils, written by Jim Meyering. (mktmpdir): Use it. * bin/autom4te.in (files_to_options, handle_m4): Use shell_quote and open_quote. * bin/autoreconf.in (parse_args): Likewise. * bin/autoscan.in (main): Likewise. * bin/autoupdate.in (main): Likewise. * bin/autoheader.in: Likewise, fixing old insufficient escaping. * bin/ifnames.in: Likewise, XFile usage fixes. * tests/tools.at (autom4te and whitespace in file names): Extend test. Test twice, with special characters allowed on w32, and the rest. Test leading and trailing whitespace, for `open_quote'. (autotools and whitespace in file names): New, analogous test. Reported by Paul Eggert and Benoit Sigoure, additional suggestions by Russ Allbery and Eric Blake. Sync from Automake. * lib/Autom4te/Channels.pm, lib/Autom4te/Configure_ac.pm, lib/Autom4te/Struct.pm, lib/Autom4te/XFile.pm: Likewise. * lib/Autom4te/FileUtils.pm (open_quote): New function. (update_file, contents): Use it. * Makefile.am (autom4te-update): Rewrite for git. 2007-12-04 Ralf Wildenhues * doc/autoconf.texi (autom4te Invocation, Autom4te Cache): Fix typos. Fix copyright years. * Makefile.am, doc/install.texi, lib/autoconf/fortran.m4, lib/autoconf/lang.m4, lib/freeze.mk: Likewise. 2007-12-04 Eric Blake Manually resync with gnulib, since 'make cvs-update' no longer works. * build-aux/config.guess: New upstream version. * build-aux/config.sub: Likewise. When using older automake, don't downgrade build-aux/texinfo.tex. * configure.ac (AM_INIT_AUTOMAKE): Add no-texinfo.tex option. * doc/Makefile.am (TEXINFO_TEX): Add. 2007-11-27 Paul Eggert Fix AC_C_BIGENDIAN bug caused by new awk method of substitution. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Don't comment out the #undef as this runs afoul of our new way of creating config.h. Problem reported by Jim Meyering in . 2007-11-26 Ralf Wildenhues Fix autom4te for unusual characters in input file names. * bin/autom4te.in (files_to_options): Quote active characters for the shell. * tests/tools.at (autom4te and white space in file names): New test. * doc/autoconf.texi (Limitations of Usual Tools) : Document that Tru64 awk always splits $0. 2007-11-24 Stepan Kasal * lib/autotest/general.m4 (AT_INIT): Do not extract the `#AT_STOP_...' line at the end of each test. 2007-11-23 Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT): For awk line number extraction script, ensure `$at_group' has a defined value even for the empty set, and properly quote its usage inside the awk script. 2007-11-22 Ralf Wildenhues * doc/autoconf.texi (Shell Functions): New chapter. Document IRIX sh $0 issue in functions, move content from ... (Portable Shell): ... here. (Shell Script Compiler): Note that shell functions are not totally unportable any more. 2007-11-22 Stepan Kasal and Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT): Exit awk script after extracting the line numbers of the last needed test. 2007-11-20 Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT) : Fix quoting. 2007-11-19 Ralf Wildenhues Fix IRIX testsuite debugging failures: $0 in functions. * lib/autotest/general.m4 (AT_INIT) : Do not use $0 inside a function, as IRIX sh will set that to the function name rather than the script invocation name. 2007-11-19 Paolo Bonzini and Ralf Wildenhues * lib/autotest/general.m4 (at_func_test): Use cached line numbers to extract test scripts. (AT_INIT): Extract and cache test script line numbers. 2007-11-19 Ralf Wildenhues * lib/autotest/general.m4: Revert 2007-11-15 patch and subsequent fixups; the awk -> here-document conversion trashes performance too much with AIX sh. 2007-11-18 Ralf Wildenhues * tests/local.at: Do not test m4, perl with AT_TESTED. Diagnose and guard against write errors dealing with config.status. The general idea is this: all write failures from `configure' writing `config.status' are indicated by $ac_write_error, which is only checked at the end. This is safe because config.status code is not executed before the file is complete. Other write failures, be they inside config.status, or in sub shell/awk scripts spawned from configure or config.status, typically need earlier checking, as their results are used right afterwards. * lib/autoconf/status.m4 (AC_OUTPUT): Initialize `ac_write_fail' before writing config.status, check afterwards. (_AC_OUTPUT_FILES_PREPARE, _AC_OUTPUT_FILE) (_AC_OUTPUT_HEADERS_PREPARE,_AC_OUTPUT_CONFIG_STATUS): Set `ac_write_error' for write failures to config.status. Barf upon write failures to temporary files. Adjust note about closing and reopening the here-document. (_AC_OUTPUT_HEADER, _AC_OUTPUT_LINK, _AC_OUTPUT_COMMAND) (_AC_OUTPUT_MAIN_LOOP): Likewise, adjust note about closing and reopening the here-document. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Ensure `ac_write_error' does not escape into config.status. Also, add a couple of code paths not yet exercised in the test suite: a config file with input from stdin, and a config header output to stdout. Suggestion for catching write errors by Bruno Haible. 2007-11-17 Ralf Wildenhues Avoid error with Tru64 awk and testsuite lines with many words. * lib/autotest/general.m4 (AT_INIT): In the awk script that reads the testsuite, set the field separator to an unusual value, in order to not run over the limit of 199 fields. Tru64 4.0D awk even splits the input if $i, i>0, was never accessed in the script. Revert 2007-10-17 change. * TODO: Multiline args in config files and headers mean something different and are not fixed, see Report by Stepan Kasal. * doc/autoconf.texi (Generic Programs): Fix typo. 2007-11-16 Stepan Kasal AC_*_TOOL does not canonicalize the prefix * doc/autoconf.texi (Generic Programs): Do not say that the *_TOOL macros canonicalize, they simply use the `host_alias'. 2007-11-16 Ralf Wildenhues Diagnose write errors in config.status instantiations. * lib/autoconf/status.m4 (_AC_OUTPUT_FILE) (_AC_OUTPUT_HEADER, _AC_OUTPUT_MAIN_LOOP): Bail out on write errors. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): Extend test to also check for some write error failures, using... : ...this new macro. Report by Bruno Haible. Indentation fixups. * lib/autotest/general.m4 (AT_INIT) : Fix indentation. (_AT_CHECK): Use less indentation, to save space. 2007-11-15 Ralf Wildenhues Add witness macro for @top_build_prefix@ substitution. * lib/autoconf/status.m4 (_AC_HAVE_TOP_BUILD_PREFIX): New macro. (_AC_OUTPUT_FILE): Mention it here. 2007-11-15 Paolo Bonzini and Ralf Wildenhues * lib/autotest/general.m4 (at_func_test): Remove. (AT_INIT): Pre-extract test groups into separate files. (AT_CLEANUP): Source pre-extracted file instead of calling at_func_test. Remove at-test-source files together with the $at_group_dir. * tests/autotest.at (Long test source lines): New test. 2007-11-15 Ralf Wildenhues Shell functions and variables may share a namespace. * doc/autoconf.texi (Portable Shell): Mention Solaris sh limitation. 2007-11-14 Paul Eggert * lib/autoconf/types.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Make comment match gnulib. 2007-11-14 Ralf Wildenhues * lib/autoconf/status.m4: Fix a couple of comment typos. * lib/m4sugar/m4sh.m4 (AS_TMPDIR): Use $as_me, not $me. 2007-11-13 Jim Meyering Clean up the rule to create "expr". * tests/Makefile.am (expr): Don't redirect directly to target. Redirect just once, not for each echo statement. Use $@, not literal "expr". 2007-11-13 Paul Eggert Don't worry about preprocessor when testing long long. See: http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00075.html * doc/autoconf.texi (Preprocessor Arithmetic): New section. (AC_TYPE_LONG_LONG_INT, AC_TYPE_UNSIGNED_LONG_LONG_INT): These no longer check for preprocessor flaws. * lib/autoconf/types.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Do not check for preprocessor flaws. 2007-11-13 Jim Meyering Adapt dependencies, now that a version change doesn't modify configure.ac * GNUmakefile: Remove "make clean" kludge. * lib/m4sugar/Makefile.am (version.m4): Depend on Makefile, not configure.ac. Don't redirect directly to target. Use $@, not literal "version.m4". 2007-11-12 Ralf Wildenhues * doc/autoconf.texi (Making testsuite Scripts): Document ":;{" shorthand as in previous patch. 2007-11-12 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Document problem with { ... } a bit more clearly. Suggest ":;{" as a shorthand for the workaround. * lib/m4sugar/Makefile.am (version.m4): Detect 'echo' failure. Use ":;{" shorthand. * tests/Makefile.am ($(srcdir)/package.m4): Likewise. 2007-11-12 Jim Meyering Add more non-srcdir build support. * GNUmakefile (dummy): Split a long line. Add -v option to autoreconf invocation. Remove the autoreconf-provided INSTALL, so that we regenerate it. * GNUmakefile (dummy): Remove INSTALL. Remove racy commands to build scripts in bin/ and tests/. * man/Makefile.am (.x.1): Now that scripts in bin/ and tests/ are guaranteed to be built, remove the rules that tried to build them. Before, with a parallel build, these rules could lead to two processes writing tests/wrapper.in concurrently. Build in man/ only *after* building in bin/ and tests/. * Makefile.am (SUBDIRS): The man-page-creation process runs $(MAKE) in both bin/ and tests/. Accommodate non-srcdir build-from-checkout. * build-aux/git-version-gen: Require an additional parameter: $srcdir. Use git's --git-dir=$srcdir/.git option. Add quotes, in case tarball_version_file contains shell meta-characters. * GNUmakefile (_curr-ver): Pass $(srcdir) to git-version-gen. * configure.ac: Pass "." to git-version-gen. Avoid spurious test failures due to version skew. * GNUmakefile (dummy): Run $(MAKE) clean after autoreconf -i. 2007-11-12 Ralf Wildenhues Avoid warnings about conftest.dSYM directories on Mac OS X Leopard. * lib/autoconf/general.m4 (_AC_LINK_IFELSE, _AC_RUN_IFELSE): Remove conftest.dSYM directory. * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT) (_AC_LANG_PROGRAM_C_, _AC_FC_MAIN, __AC_FC_NAME_MANGLING): Remove `conftest.*' recursively. * lib/autoconf/lang.m4 (AC_LINK_IFELSE): Likewise. * lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_MACRO_VALUE): Likewise. (_AC_COMPILER_OBJEXT_REJECT): Reject *.dSYM. * THANKS: Update. Report and analysis by Jeff Squyres and Peter O'Gorman. 2007-11-12 Benoit Sigoure Fix typos in variable names. * tests/semantics.at (test for AC_CHECK_LIB): s/at_m/ac_m/. 2007-11-11 Benoit Sigoure Document that $((expression)) is not portable. * doc/autoconf.texi (Shell Substitutions): Here. 2007-11-10 Ralf Wildenhues Ignore configure --help* errors due to LINENO-impaired shells. * tests/torture.at (Configuring subdirectories, Deep Package): In the --help* tests in read-only trees, make `.' temporarily writable again for the `stderr' file, and ignore errors due to the attempt to write configure.lineno. Report by Patrick Welche. 2007-11-10 Jim Meyering Generate package.m4 in build-dir, not srcdir. * tests/Makefile.am (package.m4): Adjust target. Don't redirect directly to $@. (CLEANFILES): Add package.m4. ($(TESTSUITE)): Depend on just-built package.m4, not the one in $(srcdir). When running $(AUTOTEST), search "." before searching $(srcdir). Avoid a race condition that would make parallel "distclean" fail. * tests/Makefile.am (distclean-generic): Replace the default, automake-provided rule with an identical one, but with an additional dependency on distclean-local. Simply adding the dependency would cause automake not to emit the rule at all. * BUGS: Building with -jN works, now. Distribute git-version-gen. * Makefile.am (EXTRA_DIST): Add build-aux/git-version-gen, since GNUmakefile is distributed, and requires it for dist* rules. Remove two more generated files from version control. * INSTALL: Remove generated file. * lib/autoscan/autoscan.list: Remove generated file. 2007-11-09 Paul Eggert * GNUmakefile (PATH): Remove stray apostrophes; they become part of PATH, which isn't wanted here. 2007-11-09 Ralf Wildenhues New config files output variable `top_build_prefix'. * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): Substitute `top_build_prefix'. * doc/autoconf.texi (Preset Output Variables): Document it. * NEWS: Update. Report by Bob Friesenhahn. Avoid expr for arithmetic evaluation if the shell accepts $((...)). * lib/autotest/general.m4 (AT_INIT) : New function, to parametrize arithmetic with expr vs. the shell. Use it where possible. Suggestion by Benoit Sigoure. 2007-11-03 Benoit Sigoure Adjust the documentation of autotest WRT atlocal. * doc/autoconf.texi (Making testsuite Scripts): It is not necessary, when using Automake, to write a rule to produce atlocal, since it's an AC_CONFIG_FILES. Mention that atlocal.in needs to be distributed, not atconfig.in. 2007-11-04 Eric Blake Update list information. * README: Mention new autoconf-commit list. * doc/autoconf.texi (Introduction): Mention autoconf-commit list. 2007-11-04 Ralf Wildenhues * lib/autoconf/functions.m4 (_AC_FUNC_MALLOC_IF): Fix comment typo. * lib/m4sugar/Makefile.am (version.m4): Another bash bug workaround. * build-aux/.gitignore: Ignore mkinstalldirs. * doc/autoconf.texi (autoreconf Invocation): Fix an underfull line. 2007-11-03 Jim Meyering s/-/./ in snapshot version string: 2.61a-256-8b556 -> 2.61a.256-8b556 * build-aux/git-version-gen: This syncs from coreutils. Adjust the build procedure so "make check" works reliably. * README-hacking: Include an extra step between "make" and "make check" to ensure that the latter passes. Use just-built tools, when possible. * GNUmakefile (PATH): Set and export here, ... (dummy): ... rather than here. 2007-11-03 Ralf Wildenhues and Andreas Schwab * tests/Makefile.am ($(srcdir)/package.m4): Work around bash exit status bug. 2007-11-03 Ralf Wildenhues * configure.ac (AC_PREREQ): Require version 2.60, for AC_PROG_SED, AC_PROG_GREP. 2007-11-02 Benoit Sigoure and Jim Meyering and Andreas Schwab and Eric Blake Document a bug in GNU Bash with compound commands and redirections. * doc/autoconf.texi (Limitations of Builtins): Mention that GNU Bash doesn't properly set $? when `{ ... } >/bad' fails, and give workaround. 2007-11-03 Eric Blake Support m4 1.4.5 in testsuite. * tests/torture.at (Define a newline): Exclude line numbers in error message. Reported by Ralf Wildenhues. 2007-11-03 Jim Meyering Remove automake-provided files from version control. * build-aux/elisp-comp: Remove file. * build-aux/install-sh: Remove file. * build-aux/missing: Remove file. * build-aux/mdate-sh: Remove file. * build-aux/.gitignore: New file. Suggestion from Ralf Wildenhues. 2007-11-03 Eric Blake Adjust version comparison to account for git snapshot numbers. * lib/m4sugar/m4sugar.m4 (_m4_version_unletter): Also treat - as a component separator. * doc/autoconf.texi (Number processing Macros) : Document this change. * tests/m4sugar.at (m4@&t@_version_compare): Test it. 2007-10-30 Bruno Haible * lib/autoconf/types.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT. (AC_TYPE_LONG_LONG_INT, AC_TYPE_UNSIGNED_LONG_LONG_INT): Use it. Fixes problem with Sun C 5.[0-8] in 32-bit mode, reported in Suggested by Paul Eggert. 2007-10-28 Jim Meyering * README-hacking: Autoconf, Automake, and Perl are required to build. List Gzip and Tar separately. Suggested by Ralf Wildenhues. 2007-10-28 Jim Meyering README-hacking: Recommend running autoreconf -vi. * GNUmakefile (dummy): Use autoreconf -i, with appropriate PATH, so that we use just-built tools when they're available. Suggestions from Ralf Wildenhues. 2007-10-28 Jim Meyering Make inter-release --version output more useful. Now, each unofficial build has a version "number" like 2.61a-19-58dd, which indicates that it is built using the 19th change set (in _some_ repository) following the "v2.61a" tag, and that 58dd is a prefix of the commit SHA1. * build-aux/git-version-gen: New file. * configure.ac: Run it to set the version. (AM_INIT_AUTOMAKE): Don't check NEWS here. * Makefile.am (dist-hook): Arrange so that .version appears only in distribution tarballs, never in a checked-out repository. * .gitignore: Add .version here, too. Just in case. * tests/Makefile.am ($(srcdir)/package.m4): Depend on Makefile, not configure.ac, now that the version number changes automatically. Ensure that $(VERSION) is up to date for dist-related targets. * GNUmakefile: Arrange to rerun autoconf, if the version reported by git-version-gen doesn't match $(VERSION), but only for dist targets. 2007-10-27 Ralf Wildenhues Fix `Deep Package' failure with a configure script early in PATH * tests/torture.at (Deep Package): Add `.' early in PATH. Report by Jim Meyering. 2007-10-27 Jim Meyering Remove all generated files from version control. * aclocal.m4: Remove. * configure: Remove. * Makefile.in: Remove, along with all other Makefile.in in subdirs. * .gitignore: Add aclocal.m4, configure and Makefile.in. Sort. * README-hacking: New file: how to build from just-checked-out sources. 2007-10-23 Eric Blake Improve corner case of m4_expand. * lib/m4sugar/m4sugar.m4 (m4_expand, _m4_expand): Rewrite more efficiently. * tests/m4sh.at (AS@&t@_HELP_STRING): Test overquoted comma. * doc/autoconf.texi (Evaluation Macros) : Update documentation. 2007-10-23 Paul Eggert * doc/make-stds.texi: Update from gnulib. 2007-10-22 Paul Eggert and Eric Blake * lib/autoconf/c.m4 (AC_C_RESTRICT): Work around Sun C++ compatibility problem reported by Bruno Haible in . 2007-10-22 Eric Blake * doc/autoconf.texi (Particular Types): Mention bug in HP-UX 11.00 preprocessor. 2007-10-22 Paul Eggert Don't check for bug in HP-UX 11.00 cpp. * lib/autoconf/types.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull rather than -1u, since that causes problems with gnulib; see . 2007-10-22 Ralf Wildenhues * tests/autotest.at (Backquote command substitution) (Multiline backquote command substitution) (Parenthetical command substitution) (Multiline parenthetical command substitution): Fix typos in test names. 2007-10-21 Eric Blake * configure: Regenerate. 2007-10-21 Ralf Wildenhues Fix config status generation with Tru64 ksh. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Fix escaping of backslash in here-documents. Fix `Deep Package' test failure on FreeBSD. * tests/torture.at (Deep Package): Do not add `.' to $PATH unnecessarily. Do not try running `/bin/sh configure' with a configure script to be found in $PATH, if the shell does not do this resolution. Fixes test failure on FreeBSD. Fix config header generation with AIX awk. * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS_PREPARE): In awk script, use helper array D_is_set, as `" 0"' does not evaluate to true for AIX awk. 2007-10-21 Eric Blake * tests/autotest.at (Banners): Reinstate test, with typo corrected. 2007-10-20 Ralf Wildenhues * lib/autotest/general.m4 (Defaults): Validate input ranges ... : ... using this new function. * tests/autotest.at (Keywords and ranges): Test invalid ranges. Test --list with ranges and keywords. (Banners): Remove one now-failing test. 2007-10-20 Eric Blake Fix testsuite --list subset. * lib/autotest/general.m4 (AT_INIT) : Swap newlines back to spaces, before listing subset of tests. Reported by Ralf Wildenhues. 2007-10-19 Eric Blake s/parenthesis/parentheses/ where appropriate. * doc/autoconf.texi: Fix typos. * lib/m4sugar/m4sugar.m4: Likewise. Reported by Ralf Wildenhues. Document m4_expand limitation. * lib/m4sugar/m4sugar.m4 (m4_expand): Mention problem with unbalanced parse. * doc/autoconf.texi (Pretty Help Strings, Evaluation Macros) (Writing Testsuites): Mention limitations inherited from m4_expand. Improve AT_BANNER handling. * lib/autotest/general.m4 (BANNERS): New named diversion. (TESTS_END): Diversion no longer used. (AT_INIT) : Factor all banners into a shell function, which prints only as needed, using an associative array of banner text from a special diversion. : No longer need awk to find banners. : Banners are no longer processed by main driver loop, so we no longer need case statement. (AT_BANNER): Rewrite to populate new diversion. (AT_SETUP): Each test invokes its own banner. No output is needed to the TESTS diversion. * doc/autoconf.texi (Writing Testsuites): Document slight semantics change. * tests/autotest.at (AT_BANNERS): Enhance test. * NEWS: Document AT_BANNER. Document and test AT_BANNER. * doc/autoconf.texi (Writing Testsuites): Document AT_BANNER. * tests/autotest.at (AT_CHECK_EGREP): Share between tests. (AT_CHECK_BANNERS): New test. Doc touchups. * doc/autoconf.texi (Text processing Macros) : Clarify and fix typos. 2007-10-18 Eric Blake Ignore `make dist' changelogs in testsuite.log. * lib/autotest/general.m4 (AT_INIT) : Prune directories matching AT_PACKAGE_TARNAME-*. Fix AT_TESTED, AT_KEYWORDS. * lib/m4sugar/m4sugar.m4 (m4_append_uniq): Warn if separator occurs in string, as duplicates may be added. (_m4_append_uniq): New helper macro. (m4_append_uniq_w): New macro. * lib/autotest/general.m4 (AT_TESTED, AT_KEYWORDS): Fix duplication bug by using new macro. (AT_INIT) : Restore newline separators. Invoke tested programs with stdin redirected, so programs that don't understand --version won't try to behave interactively. * tests/autotest.at (Tested programs): Catch this bug. * tests/m4sugar.at (m4@&t@_append): Test new macro. * tests/local.at (AT_TESTED): Add m4, perl. * doc/autoconf.texi (Text processing Macros): Document m4_append_uniq_w, and update text on m4_append. * NEWS: Document the addition. 2007-10-17 Eric Blake Function cleanup. * lib/autotest/general.m4 (_AT_CREATE_DEBUGGING_SCRIPT): Convert from m4 macro... (AT_INIT) : ...to shell function. (AT_INIT): Defer function declarations until after --help, --version. Format functions consistently, trying to fit in 80 columns. (TEST_FUNCTIONS): Based on recent changes, rename... (TEST_GROUPS): ...to this. Reject FreeBSD m4. * m4/m4.m4 (AC_PROG_GNU_M4): Also check for frozen file support. * configure: Regenerate. Reported by Bob Friesenhahn. Test recent additions. * tests/m4sugar.at (m4@&t@_map, m4@&t@_combine) (m4@&t_max and m4@&t_min): New tests. * doc/autoconf.texi (Evaluation Macros) : Enhance description. 2007-10-17 Ralf Wildenhues * TODO: multiline args in config files and headers work now. Autotest: do not use shell functions for individual tests. * lib/autotest/general.m4 (AT_INIT) : Merely extract the source test source, do not invoke it. (AT_SETUP, AT_CLEANUP): Source test code outside shell function. * tests/autotest.at (Fallacy): Actually let the inner suite fail, expect exit status of 1. * tests/autotest.at (Skip): New test, for bogus zsh exit status. * lib/autotest/general.m4 (at_func_test): Fix test extraction script. 2007-10-17 Eric Blake Fix m4_combine for empty suffix list. * lib/m4sugar/m4sugar.m4 (m4_combine): Check for suffix list. * doc/autoconf.texi (Text processing Macros): Document this. Add m4_combine, based on Libtool's lt_combine. * lib/m4sugar/m4sugar.m4 (m4_combine): New macro. * doc/autoconf.texi (Text processing Macros): Document it. * NEWS: Likewise. 2007-10-16 Ralf Wildenhues Fix `configure --help=recursive' in unconfigured/read-only trees. * lib/m4sugar/m4sh.m4 (_AS_LN_S_PREPARE): Avoid errors when `.' is not writable, use 'cp -p' in this case, in the hope that it will not actually be needed. Still try removing files, in case of other write errors. * lib/autoconf/general.m4 (_AC_INIT_SRCDIR): For ac_confdir, use $as_myself, not $0. (_AC_INIT_HELP): For --help=recursive, if the subdir does not exist, try again in the the source tree. This change assumes that the subpackage configure script is capable of running --help=recursive in the source tree. * tests/torture.at (Configuring subdirectories, Deep Package): Adjust tests to expose both issues, also try invocation as `sh configure ...' and plain `configure ...' with PATH adjusted. * NEWS, THANKS: Update. Report by Hans Ulrich Niedermann. 2007-10-16 Paul Eggert Check for 64-bit int errors in HP-UX 10.20 preprocessor. Problem reported by H.Merijn Brand in . * lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): (AC_TYPE_UNSIGNED_LONG_LONG_INT): Check that preprocessor handles 64-bit ints, too. 2007-10-16 Eric Blake m4_map is a looping construct. * lib/m4sugar/m4sugar.m4 (m4_map, _m4_map, m4_map_sep): Move. Fix m4_map, and add some more utility macros. * lib/m4sugar/m4sugar.m4 (m4_apply, m4_count, m4_dquote_elt) (m4_echo, m4_make_list): New documented macros. (_m4_quote, _m4_shift2): New helper macros. (m4_map): Change semantics to allow calling macro without arguments. (m4_map_sep): Likewise. Also change semantics to quote separator, to match m4_join and m4_append. (m4_version_unletter): Fix use of m4_map. * doc/autoconf.texi (Evaluation Macros): Document m4_apply, m4_count, m4_dquote_elt, m4_echo, m4_make_list. (Text processing Macros): Mention m4_dquote as a faster alternative to joining with commas. (Looping constructs): Document m4_map, m4_map_sep. * NEWS: Mention new macros. A few more m4sugar improvements, to benefit libtool. * lib/m4sugar/m4sugar.m4 (m4_bpatsubsts, _m4_shiftn): Reduce size of expansion by avoiding extra uses of $@. (m4_shiftn): Avoid extra dnl, and forbid shifting by 0. (_m4_cdr): New helper macro. (_m4_map, m4_map_sep): Use it to reduce size of expansion. (_m4_shift3): New helper macro. (_m4_foreach): Swap argument order, and use new macro to reduce size of expansion. * doc/autoconf.texi (Looping constructs) : Mention that count must be positive. * doc/autoconf.texi (Evaluation Macros) : Fix typo. Reported by Ralf Wildenhues. 2007-10-15 Ralf Wildenhues * doc/autoconf.texi (Portable Shell): Improve description of zsh 4.x function subshell bug with exit and trap. 2007-10-15 Eric Blake Enhance AS_HELP_STRING. * lib/m4sugar/m4sugar.m4 (m4_text_wrap): Don't expand arguments, and reduce number of expansions. * lib/m4sugar/m4sh.m4 (AS_HELP_STRING): Rework to use m4_expand, and to take indent and wrap column numbers. * tests/m4sh.at (AS@&t@_HELP_STRING): Update the test. * doc/autoconf.texi (Pretty Help Strings): Document details about arguments. (Text processing Macros): Minor tweaks. * NEWS: Document this change. Fix 2007-10-03 regression with AT_SETUP([a, b]). * lib/m4sugar/m4sugar.m4 (m4_expand): New macro. (m4_text_box): Use it. * lib/autotest/general.m4 (AT_SETUP): Use it. * lib/m4sugar/m4sh.m4 (_AS_RUN): Use it. * tests/autotest.at (AT_CHECK_AT_TITLE_CHAR): Test this. * NEWS: Revert caveat about semantics change on comma. * doc/autoconf.texi (Evaluation Macros): Document m4_expand. 2007-10-13 Eric Blake Change m4_join to match libtool's ltsugar semantics. * lib/m4sugar/m4sugar.m4 (m4_join): Just define this, not defun. Ignore empty arguments, using... (_m4_join): ...this new helper. * tests/m4sugar.at (m4@&t@_join): New test. * doc/autoconf.texi (Text processing Macros): Document new semantics of m4_join. Make AC_PREREQ faster and more robust. * lib/m4sugar/m4sugar.m4 (m4_ignore, m4_unquote): New macros. (m4_version_prereq): Inline constant expansions. (m4_list_cmp): Reduce number of expansions, by avoiding m4_case. Rewrite in terms of [] list, not () list. (_m4_list_cmp, _m4_version_unletter): New helper macros. (m4_version_unletter): Write wrapper around new implementation to preserve old semantics. (m4_version_compare): Pass correct type of list, and avoid overhead of flattening expressions too early. (m4_do): Move to be near other quoting macros. (m4_max, m4_min): Always result in decimal output. * doc/autoconf.texi (Looping constructs): Add m4_car, m4_cdr. Move m4_do... (Evaluation Macros): ...here. Add m4_ignore, m4_unquote. (Text processing Macros): Move m4_version_compare... (Number processing Macros): ...to this new node; document m4_cmp, m4_list_cmp, m4_sign, m4_max, m4_min. * tests/m4sugar.at (m4@&t@_version_compare): Enhance test, to pick up on bugs fixed by this patch. * NEWS: Document new macros. 2007-10-12 Eric Blake * doc/autoconf.texi (Text processing Macros): Fix bad merge. (Reporting Messages): Fix underfull hbox. Some more m4sugar documentation. * lib/m4sugar/m4sugar.m4: Clean up macro order. * doc/autoconf.texi (Programming in M4): Lighten the warning on using m4sugar; it is stabilizing and useful. (Redefined M4 Macros): Touch up wording on M4 builtins; sort. Add m4_divert, m4_undivert, __file__, __line__, __oline__. (Diagnostics): New node, documenting m4_assert, m4_errprintn, m4_fatal, m4_location, m4_warn. (Diversion support): New node, documenting m4_divert_push, m4_divert_pop, m4_divert_text, m4_divert_once. (Text processing Macros): Sort. Add m4_flatten, m4_join, m4_newline, m4_strip, m4_text_box, m4_text_wrap. (Reporting Messages): Mark AC_DIAGNOSE, AC_WARNING, and AC_FATAL as obsolescent. (Printing Messages): Change cross-reference. Document interaction of recent m4_append change with Libtool HEAD. * lib/m4sugar/m4sugar.m4 (m4_append): Document semantics change. (m4_append_uniq): Add new parameters, based on lt_append_uniq. * tests/m4sugar.at (m4@&t@_append): New test. * NEWS: Document semantics change. * doc/autoconf.texi (Text processing Macros): Likewise. s/AC_VERSION/AC_AUTOCONF_VERSION/. * doc/autoconf.texi (Versioning): Change the name. * NEWS: Likewise. * lib/autoconf/general.m4 (AC_AUTOCONF_VERSION): Likewise. * tests/tools.at (autoconf: AC_AUTOCONF_VERSION): Likewise. Suggested by Ralf Wildenhues. Namespace cleanup. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE) (_AC_OUTPUT_HEADERS_PREPARE): Convert here-doc delimiters into autoconf namespace. * doc/autoconf.texi (Programming in M4sugar, Forbidden Patterns) (Programming in M4sh, Macro Names): Beef up description of namespaces reserved for autoconf. * configure: Regenerate. 2007-10-12 Eric Blake and Paolo Bonzini Speed up execution of subset of testsuite. * lib/autotest/general.m4 (TEST_FUNCTIONS): New diversion. (AT_INIT) : New shell function. (AT_INIT) : New variable, set to absolute $as_myself. (AT_INIT) New variable, names file that holds current test function definition. (AT_SETUP): Start the shell function at_func_test_#, into the TEST_FUNCTIONS diversion. (AT_CLEANUP): End the shell function. Simplify the TESTS diversion to invoke the function. 2007-10-11 Ralf Wildenhues * .gitignore: Ignore tags and TAGS files. 2007-10-11 Eric Blake Config header generation followup. * lib/autoconf/general.m4 (_AC_DEFINE_Q): Check for raw newlines, which won't work with the preprocessor nor with the awk implementation. * tests/torture.at (Define a newline): Test raw newline detection, removing the XFAIL. * doc/autoconf.texi (Defining Symbols): Document recent change to allow backslash-newline. * THANKS: Update. 2007-10-11 Ralf Wildenhues * lib/autotest/general.m4: Put function braces in separate line. 2007-10-10 Eric Blake Avoid some overhead from m4_defn and m4_popdef. * lib/m4sugar/m4sugar.m4 (m4_defn, m4_popdef, m4_undefine): Only pass on first argument, since we are documented that way. (m4_for, m4_append_uniq, m4_text_wrap): Optimize out defined-ness check where it is safe to do so. (m4_append): Likewise, and quote the separator. (m4_text_box): Likewise, and avoid regex, also be robust to expansion and quadrigraphs. Another AC_DEFINE speedup. * lib/autoconf/general.m4 (AC_DEFINE_TRACE): Move parameter elision... (_AC_DEFINE_Q): ...here, and only do it once. * lib/autoconf/functions.m4 (AC_CHECK_FUNCS): Avoid overquoting. * lib/m4sugar/m4sh.m4 (AS_LITERAL_IF): Fix m4_defn overquoting introduced 2007-10-05. Whitespace cleanup. * lib/autoconf/general.m4: Use consistent indentation. * configure: Regenerate. * NEWS: Announce recent round of speed optimizations. 2007-10-10 Ralf Wildenhues * NEWS: Announce shell function usage in Autotest. 2007-10-10 Eric Blake and Paul Eggert Reduce number of forks at startup. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Speed up NLS sanitization. * configure: Regenerate. 2007-10-10 Ralf Wildenhues and Paul Eggert Use awk for config header generation. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Fix comments. (_AC_OUTPUT_HEADERS_PREPARE): New macro. Rewrite of the config header machinery for use with awk and placement outside the main config.status instantiation loop. Retain multi-line defines through backslash-newline combinations, do not split the script any more. (_AC_OUTPUT_HEADER): Simplify accordingly, use $AWK. (_AC_OUTPUT_MAIN_LOOP): Call _AC_OUTPUT_HEADERS_PREPARE if needed. (AC_OUTPUT_MAKE_DEFS): Remove backslash-newline combinations from define values. * NEWS: Update. * tests/torture.at (#define header templates): Extend test by several more cases: white space before and after `#', macros with parameters in config.hin and as defines, multi-line macro values. (Torturing config.status): Use a define value twice the length in order to exercise the awk literal string limit. (Substitute and define special characters): Also try special delimiter, to exercise the special-case code. Suggestion by Eric Lemings. 2007-10-10 Ralf Wildenhues * tests/local.at (AT_COPYRIGHT): Bump copyright years. 2007-10-09 Eric Blake Improve header of bin/autoconf. * lib/m4sugar/m4sh.m4 (AS_INIT): Add a 'generated from' notice. * lib/autoconf/general.m4 (_AC_INIT_NOTICE): Override new notice from M4sh. * bin/autoconf.as: Put copyright up front in generated file. * bin/autoconf.as (exit_missing_arg): Font-lock tweak. 2007-10-09 Ralf Wildenhues * doc/install.texi (Basic Installation): Document `uninstall'. * INSTALL: Regenerate. Suggestion by Roberto Bagnara. 2007-10-08 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): V7 awk had 'index'. Adjust doc. to match latest gnulib. * build-aux/texinfo.tex: Sync from gnulib. * doc/standards.texi: Likewise. * doc/autoconf.texi (Copying This Manual): Rename to "GNU Free Documentation License" and remove the subsection. This simplifies the manual a bit and is more like what other GNU projects do nowadays. 2007-10-08 Eric Blake Use recent changes. * configure: Regenerate. Fix regression in m4_text_wrap from 2007-10-05. * lib/m4sugar/m4sugar.m4 (m4_max, m4_min): New macros. (m4_sign): Sort. (m4_text_wrap): Fix off-by-one error in rewrite from m4_for to m4_format. * lib/autotest/general.m4 (AT_SETUP): Avoid negative width. * tests/autotest.at (Long test title, Longer test title): Test this fix, beyond what AS_HELP_STRING already tests. Avoid m4 warnings on bad m4_format usage. * lib/m4sugar/m4sugar.m4 (m4_text_wrap): Use %*s, in case width evaulates to 0. * lib/autotest/general.m4 (AT_SETUP): Likewise; also ensure that enough arguments are provided. 2007-10-06 Paolo Bonzini * doc/autoconf.texi (Shell portability): Document shell function portability. 2007-10-06 Paolo Bonzini * lib/autotest/general.m4 (AT_INIT): Add at_func_diff_devnull, at_func_check_skip, at_func_check_status, at_func_filter_trace, at_func_log_failure shell functions. Use test -s to avoid useless diff invocations. (at_func_check_newline): Renamed from at_check_newline. (AT_SETUP): Define AT_captured_files to empty. (AT_DIFF_STDERR(*), AT_DIFF_STDOUT(*)): New, extracted from _AT_CHECK. (_AT_CHECK): Replace m4_case with m4_ifdef/m4_indir. Use all the shell functions. 2007-10-05 Paul Eggert Don't assume "." is writeable, for commands like "autoconf --version". * lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): Use a different heuristic instead, one that doesn't rely on creating files. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Handle "///" correctly. 2007-10-05 Jim Meyering Avoid makeinfo warnings. * doc/autoconf.texi (Redefined M4 Macros): Add a `,' after @xref. (Looping constructs): Add ` ' after @defmac'd name, m4_do. 2007-10-05 Eric Blake Resolve Python issue 1676135 regarding configure directory args. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Strip trailing slashes from directory arguments. * tests/base.at (configure directories): New test. * doc/autoconf.texi (Installation Directory Variables): Document the change. * NEWS: Likewise. * THANKS: Update. Reported by Björn Lindqvist. Provide better short-circuiting operation. * lib/m4sugar/m4sugar.m4 (m4_cond, m4_newline): New macros. (m4_text_wrap): Use it. Also avoid useless m4_for. * lib/m4sugar/m4sh.m4 (_AS_QUOTE_IFELSE, AS_LITERAL_IF): Use new macro. (_AS_IDENTIFIER_IF): Likewise, and fix bug when $1 is [,]. * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): Use new macros to avoid regexps. * doc/autoconf.texi (Redefined M4 Macros): Expand m4_if documentation. Sort m4_mkstemp, m4_undefine. Move m4_ifndef... (Conditional constructs): ...here, to new section. Also document m4_cond, m4_ifval, m4_n, m4_ifvaln, m4_ifset, m4_case, m4_bmatch, m4_bpatsubsts, and m4_default. (Looping constructs): Document m4_shiftn, m4_shift2, m4_shift3, m4_do. 2007-10-04 Eric Blake Fix recent testsuite failures. * lib/autotest/general.m4 (AT_INIT, AT_SETUP): Double-quote text that must not be re-expanded after AS_ESCAPE. * lib/m4sugar/m4sh.m4 (_AS_IDENTIFIER_IF): Don't expand $1 when checking if it is an identifier. Whitespace cleanup. * lib/autotest/general.m4 (_AT_CREATE_DEBUGGING_SCRIPT): Avoid leading whitespace, as it caused space-tab in testsuite. (AT_INIT): Avoid trailing newlines in testsuite. One more round of m4_foreach_w speedups. * lib/m4sugar/m4sugar.m4 (m4_flatten): Only use regex if newline is present. (_m4_split): Avoid useless expansions inside definition. Move argument defaulting... (m4_split): ...here. Change alternate quote to something less likely to appear in $1. Also, special case space as regexp... (m4_foreach_w): ...to avoid regexp on single-term list. (m4_default, m4_defn, m4_popdef, m4_undefine, _m4_foreach): Avoid useless expansions inside definition. * tests/m4sugar.at (m4@&t@_split): Add tests. 2007-10-04 Paolo Bonzini * general.m4 (AT_INIT): Add at_check_newline function. (_AT_DECIDE_TRACEABLE): Include at_traceon test, use shell function. (_AT_CHECK): Don't use at_trace_this. 2007-10-04 Paolo Bonzini Fix previous commit. * lib/autotest/general.m4 (AT_LINE): Fix regex. 2007-10-04 Eric Blake Speed up building testsuites. * lib/autotest/general.m4 (AT_LINE): Only use regex when file changed since last time. Use simpler regex. 2007-10-03 Eric Blake Optimize checking for identifiers. * lib/m4sugar/m4sh.m4 (AS_IDENTIFIER_IF, _AS_IDENTIFIER_IF): New macros, more efficient than regex on m4_re_word. * lib/autoconf/general.m4 (AC_SUBST, AC_DEFINE_TRACE_LITERAL): Rewrite in terms of new macro. As a side-effect, AC_DEFINE can now use @&t@. * configure: Regenerate. Remove some XFAILs, and make AT_SETUP output line up. * lib/autotest/general.m4 (AT_SETUP): Only expand description once; thereafter, use its expansion, properly quoted. * tests/autotest.at (AT_CHECK_AT_TITLE): Also check macro expansion with arguments, and check for aligned output. (AT_CHECK_AT_TITLE_CHAR): Remove XFAILs for tests that now pass. Add a test for macros with parameters. * NEWS: Document the semantics change. * tests/base.at: Fix test titles containing commas. * tests/compile.at: Likewise. * tests/tools.at: Likewise. * tests/torture.at: Likewise. Another round of regex avoidance. * lib/m4sugar/m4sugar.m4 (m4_cr_alnum, m4_cr_all) (_m4_define_cr_not, m4_cr_not_letters, m4_cr_not_LETTERS) (m4_cr_not_Letters, m4_cr_not_digits, m4_cr_not_alnum) (m4_cr_not_symbols1, m4_cr_not_symbols2): New macros, implementing character ranges useful in m4_translit. (m4_toupper, m4_tolower): Optimize the constant portion of definition. * lib/m4sugar/m4sh.m4 (AS_LITERAL_IF): Also reject @S|@ because it creates $, and reject [] thanks to AS_TR_SH rewrite. (AS_TR_SH, AS_TR_CPP): Use just translit, not bpatsubst. (AS_ESCAPE): Factor... (_AS_ESCAPE): ...into new macro, with second argument required. Avoid regex in common case. (_AS_QUOTE): Use new macro. Whitespace cleanup. * lib/autoconf/types.m4: Avoid space-tab. * lib/m4sugar/m4sh.m4: Use tab consistently. 2007-10-03 Paul Eggert * lib/m4sugar/m4sugar.m4 (m4_shift2, m4_shift3): New macros. (m4_shiftn): Remove no-longer-needed optimization. Perhaps we should remove m4_shiftn entirely? (m4_case, b4_bmatch, m4_map_sep, m4_bpatsubsts, m4_join): Prefer m4_shift2 and m4_shift3 to m4_shiftn. * lib/autoconf/lang.m4 (_AC_LANG_DISPATCH): Likewise. * lib/m4sugar/m4sh.m4 (AS_CASE, AS_IF): Likewise. * tests/autotest.at (AT_CHECK_AT_TEST): Likewise. 2007-10-03 Eric Blake Comment touchups. * lib/m4sugar/m4sugar.m4: Grammar fixes in comments. 2007-10-02 Eric Blake Optimize appending text. * lib/m4sugar/m4sugar.m4 (m4_append_uniq): Use index, not regular expressions. Optimize recursion. * lib/m4sugar/m4sugar.m4 (m4_shiftn): This macro is called in a lot of hot spots; optimize it for 2 and 3 shifts. Optimize AC_PREREQ and other m4sugar numerics. * lib/m4sugar/m4sugar.m4 (m4_sign): Write with m4_eval. (m4_cmp): Compare arbitrary expressions, without overflow. (m4_version_unletter): Also recognize capital letters. (m4_version_compare): Avoid regex when splitting version number string. 2007-10-01 Eric Blake Once again, reject IRIX m4. * m4/m4.m4 (AC_PROG_GNU_M4): Use indir builtin to root out non-GNU implementations that ignore --trace. * configure: Regenerate. Reported by Ralf Wildenhues. Fix regression in AC_DEFINE([macro(with_arg)]). * lib/autoconf/general.m4 (AC_DEFINE_TRACE): Don't chop off close quotes with a careless m4_substr. 2007-09-30 Eric Blake Allow nameless iteration. * lib/m4sugar/m4sugar.m4 (m4_for, _m4_for): Access variable indirectly. * tests/m4sugar.at (myvar): Test this. 2007-09-29 Eric Blake Speed optimization: avoid m4 regex when other algorithms work. * lib/m4sugar/m4sh.m4 (AS_LITERAL_IF): Rewrite without regex. (_AS_QUOTE_IFELSE): Likewise. * lib/m4sugar/m4sugar.m4 (m4_strip): Reduce from 3 to 2 regex. (m4_bpatsubsts): Split... (_m4_bpatsubsts): ...so that recursion can avoid patsubst on empty regex. (_m4_divert()): Define, to avoid m4 warning on `m4_divert'. (m4_qlen): Optimize on short strings, to avoid regex. (m4_sign): Avoid regex, and fix bug with `01' and `-0'. * lib/autoconf/general.m4 (AC_CACHE_VAL): Rewrite without regex. (AC_DEFINE_TRACE): Likewise. 2007-09-28 Eric Blake Oops - my earlier 'optimization' caused a regression. * tests/local.at (AT_CHECK_M4): Fix typo. 2007-09-27 Eric Blake and Ralf Wildenhues Catch even more common AC_CACHE_VAL mistakes. * lib/autoconf/general.m4 (AC_CACHE_VAL): Warn if cache variable lacks '_cv_', or if AC_SUBST appears in body. * tests/base.at (AC_CACHE_CHECK): Test this change. 2007-09-27 Stepan Kasal and Eric Blake Autotest no longer caters to Ultrix redirection limitation. * doc/autoconf.texi (Writing testsuite.at): Remove the limitation that the first parameter of AT_CHECK cannot contain redirection. (File Descriptors): Mention that Ultrix limitation is no longer a show-stopper in modern code. * tests/local.at (AT_CHECK_M4): Fix for cases when the fourth parameter is `stderr' or `experr'. Optimize if it was `ignore'. * lib/autotest/general.m4 (AT_CHECK): Update comment. 2007-09-27 Eric Blake Squelch changeword in m4sugar. * lib/m4sugar/m4sugar.m4 (changeword): Disable this experimental feature of m4 1.4.x. Configure whitespace touchups. * lib/autoconf/general.m4 (_AC_INIT_HELP): Fix alignment of installation directories, and avoid TAB, in configure --help output. * configure.ac: Avoid extra trailing newline. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Avoid space-tab. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Avoid TAB in config.status --help output. * configure: Regenerate. Fix underquotation in AS_HELP_STRING. * lib/m4sugar/m4sh.m4 (AS_HELP_STRING): Don't underquote lhs argument. * lib/m4sugar/m4sugar.m4 (m4_text_wrap): Don't underquote first-prefix argument. * tests/m4sh.at (AS@&t@_HELP_STRING): Test this fix. * NEWS: Document AS_HELP_STRING fix. Autotest formatting touchups. * lib/autotest/general.m4 (HELP_TUNING): Avoid TAB in terminal output. (PATH): Simplify computation of new PATH. 2007-09-26 Eric Blake Fix testsuite breakage in last patch. * tests/autotest.at (AT_CHECK_AT_TITLE): Properly quote the font-lock fix. * tests/torture.at (@%:@define header templates): Rename, so that output lines up correctly. More font-lock happiness. * tests/autotest.at (AT_CHECK_AT_TITLE_CHAR): Clean up font confusion. 2007-09-25 Eric Blake Typo fixes. * lib/autoconf/general.m4 (AC_SUBST): Fix typo in comment. * lib/m4sugar/m4sh.m4 (AS_VAR_PUSHDEF): Likewise. Improve documentation of M4 parameter expansion. * doc/autoconf.texi (Quoting and Parameters): New section. (Quotation and Nested Macros): Improve wording. Improve C99 detection. * lib/autoconf/c.m4 (_AC_PROG_CC_C99): Add support for HP cc, and avoid deprecation warning with icc. * THANKS: Update. Reported by Ted Bullock. 2007-09-24 Jim Meyering Whenever possible, use the vertical bar as sed delimiter. * lib/autoconf/functions.m4 (GETLOADAVG_LIBS) [AC_FUNC_GETLOADAVG]: Use "|", not "!". * lib/autoconf/status.m4 (_AC_SRCDIRS) [ac_top_builddir_sub]: [ac_dir_suffix]: Use "|", not "," as sed delimiter. * tests/mktests.sh (as_me): Likewise. * lib/freeze.mk (check-forbidden-patterns): Likewise. * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Likewise. * configure: Regenerate. * doc/autoconf.texi (Shell Substitutions): Use "|", not "," in examples. * lib/autotest/general.m4 (AT_INIT): Use "|", not "&" as sed delimiter in the : -> $PATH_SEPARATOR transformation of $AUTOTEST_PATH. This is fine, as long as $PATH_SEPARATOR doesn't contain "|". 2007-09-22 Jim Meyering Add a comment. * lib/autoconf/headers.m4 (HAVE_STDBOOL_H): Document the 2004-05-31 change also with a comment in the code. 2007-09-20 Eric Blake More contribution housekeeping. * THANKS: Sort. * AUTHORS: Sort, reflect recent assignment from Helge Deller. Ignore additional files, when copying cross-repository. * .gitignore: Ignore CVS directories, emacs edits. * .cvsignore: Ignore .git directory, emacs edits. 2007-09-15 Eric Blake Provide AC_VERSION, not m4_AUTOCONF_VERSION. * doc/autoconf.texi (Text processing Macros): Remove mention of m4_AUTOCONF_VERSION, and leave m4_PACKAGE_VERSION undocumented once again. (Notices): Move AC_PREREQ... (Versioning): ...to this new section, alongside the new AC_VERSION alias for the undocumented m4_PACKAGE_VERSION. * lib/m4sugar/m4sugar.m4 (m4_AUTOCONF_VERSION): Revert change. * lib/autoconf/general.m4 (AC_VERSION): New macro. * NEWS: Update to match this rename. * tests/m4sugar.at (m4@&t@_version_compare): Remove tests of m4_PACKAGE_VERSION. * tests/tools.at (autoconf: AC_VERSION): New test. Suggested by Paolo Bonzini and Benoit Sigoure. 2007-09-14 Eric Blake Prepare for conversion to git. * doc/.cvsignore: Avoid multiple listings on one line. * bin/.cvsignore: Likewise. * .gitignore, bin/.gitignore, config/.gitignore, doc/.gitignore, lib/.gitignore, lib/Autom4te/.gitignore, lib/autoconf/.gitignore, lib/autoscan/.gitignore, lib/autotest/.gitignore, lib/emacs/.gitignore, lib/m4sugar/.gitignore, man/.gitignore, tests/.gitignore: New files, identical to .cvsignore counterpart. 2007-09-13 Eric Blake Editing eye-candy. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Restore font-lock balance. * lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Likewise. * lib/autoconf/general.m4 (_AC_DO_ECHO): Likewise. * configure: Regenerate. Clean up 'make dist' of previous patch. * tests/Makefile.am (EXTRA_DIST): Distribute mktests.stamp. (CLEANFILES): Don't clean the stamp, since we distribute the generated files pre-built. (MAINTAINERCLEANFILES): Clean it here instead. * tests/Makefile.in: Regenerate. Avoid parallel 'make check' issue. * tests/Makefile.am (mktests.stamp): New witness. (TESTSUITE_GENERATED_AT): Use it. (CLEANFILES): Clean the witness. * tests/.cvsignore (mktests.stamp): Ignore the witness. Document another awk pitfall. * doc/autoconf.texi (Limitations of Usual Tools) : Document limitation of field variables in END. Reported by Gary V. Vaughan. * AUTHORS: Add missing entries. 2007-09-12 Eric Blake Publish m4_ifndef, m4_version_compare, m4_AUTOCONF_VERSION. * doc/autoconf.texi (Text processing Macros): Document m4_version_compare, m4_AUTOCONF_VERSION, m4_PACKAGE_VERSION. (Redefined M4 Macros): Document m4_ifndef. * lib/m4sugar/m4sugar.m4 (m4_AUTOCONF_VERSION): New macro; we can't obsolete m4_PACKAGE_VERSION at this time since Autoconf 1.10 used it while it was undocumented. * NEWS: Document this change. * lib/m4sugar/Makefile.am (version.m4): Update copyright dates. * lib/m4sugar/Makefile.in: Regenerate. * tests/m4sugar.at (m4@&t@_version_compare): New test. Reported by Bruno Haible. * doc/autoconf.texi (Generic Compiler Characteristics): Add missing index entries. 2007-09-11 Eric Blake Centralize all system extensions checks. * lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS): Inline code from AC_AIX, AC_GNU_SOURCE, AC_MINIX. Add Interix support. (AC_AIX, AC_GNU_SOURCE, AC_MINIX): Obsolete, and point to AC_USE_SYSTEM_EXTENSIONS. (AC_ISC_POSIX): Obsolete, and point to AC_SEARCH_LIBS. (AC_XENIX_DIR, AC_IRIX_SUN): Promote proper quoting in AU_DEFUN. * doc/autoconf.texi (Posix Variants): Reword this section, emphasizing that AC_USE_SYSTEM_EXTENSIONS is the preferred method, rather than a series of system-specific checks. (Obsolete Macros): Add AC_AIX, AC_GNU_SOURCE, AC_ISC_POSIX, AC_MINIX. * NEWS: Document this change. * THANKS: Update. Reported by Martin Koeppe. 2007-09-08 Eric Blake Clean up obsolete macros references. * doc/autoconf.texi: Add anchors to support better cross-referencing. (Particular Structures): Move obsolete macros descriptions... (External Software): Likewise. (Package Options): Likewise. (Obsolete Macros): ...to here. Add cross-references to documentation on replacements. * NEWS: Mention that these macros have been obsolete for a while now: AC_STRUCT_ST_BLKSIZE AC_STRUCT_ST_RDEV AC_WITH AC_ENABLE. Improve M4 path searching during configure. * lib/autoconf/programs.m4 (AC_PATH_PROGS_FEATURE_CHECK): New macro. (_AC_PATH_PROG_FEATURE_CHECK): Rename... (_AC_PATH_PROGS_FEATURE_CHECK): ...to this, add defaulted action parameter, and kill side effects. (_AC_PROG_GREP, AC_PROG_SED): Adjust callers. (_AC_FEATURE_CHECK_LENGTH): Kill extra whitespace. * m4/m4.m4 (AC_PROG_GNU_M4): Don't stop searching until working m4 is found. (AC_PATH_PROGS_FEATURE_CHECK): Add backwards compatibility hack to allow bootstrapping with autoconf 2.61. * configure.ac (M4): AC_PROG_GNU_M4 now exits on failure. * configure: Regenerate. * doc/autoconf.texi (Generic Programs): Document new macro. * tests/mktests.sh (au_exclude_script): Exclude auto-testing new macro. * tests/semantics.at (AC_PATH_PROGS_FEATURE_CHECK): New test. * NEWS: Document the change. * THANKS: Update. Reported by Hans Aberg. * doc/autoconf.texi (Generic Programs): Fix typo. 2007-09-06 Eric Blake * doc/autoconf.texi (Generic Programs): Use $PATH_SEPARATOR, not :, and make it clear that optional @var{path} defaults to $PATH. (Erlang Compiler and Interpreter): Likewise. Texinfo cleanup. * doc/autoconf.texi: Avoid lines > 80 columns when possible. Reword some paragraphs to avoid overfull, underfull hbox warnings. Add index entries to avoid overfull vbox warnings. 2007-09-05 Eric Blake * NEWS: Adjust wording for AC_CONFIG_LINKS. Reported by Ralf Wildenhues. 2007-09-03 Eric Blake * NEWS: Document fixes that have been applied since 2.61a. Housekeeping. * THANKS: Update, and convert to UTF-8 encoding. * AUTHORS: Likewise. 2007-08-23 Ralf Wildenhues * lib/autoconf/general.m4 (AC_SITE_LOAD): Guard against file names beginning with `-' again. 2007-08-22 Stepan Kasal Ralf Wildenhues * doc/autoconf.texi (Defining Directories): Mention AM_CPPFLAGS, as the way to modify CPPFLAGS when using Automake. 2007-08-21 Ralf Wildenhues * lib/autoconf/general.m4 (AC_SITE_LOAD): Do not overwrite "$@" here, this macro is expanded by AC_INIT. Fixes 2.60 regression. * tests/base.at (configure arguments): New test. * THANKS: Update. Report by Olaf Lenz. * lib/autoconf/general.m4 (_AC_ENABLE_IF): Expand macro arguments in comment. Report by Vincent Torri . 2007-08-20 Benoit Sigoure * doc/autoconf.texi (File System Conventions): Index the proper way of detecting absolute file names. 2007-08-20 Ralf Wildenhues * build-aux/config.guess, build-aux/config.sub, build-aux/elisp-comp, build-aux/install-sh, build-aux/mdate-sh, build-aux/missing, build-aux/texinfo.tex, doc/fdl.texi, doc/make-stds.texi, doc/standards.texi: Sync from gnulib. * doc/autoconf.texi (GNU Free Documentation License): Adjust for sectioning change in fdl.texi. * bin/autoconf.as: Update --version output to match current GCS. * bin/autoheader.in: Likewise. * bin/autom4te.in: Likewise. * bin/autoreconf.in: Likewise. * bin/autoscan.in: Likewise. * bin/autoupdate.in: Likewise. * bin/ifnames.in: Likewise. 2007-08-18 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_LINK): Do not try to link a file to itself if source and build trees coincide. * tests/torture.at (AC_CONFIG_LINKS and identical files): New test. Report by Sebastian Freundt . 2007-07-20 Paul Eggert Reword the copyright notices to match what's suggested in GPLv3. In ChangeLog files, use more-permissive notice rather than GPL, as per usual GNU standards these days. 2007-07-13 Paul Eggert * doc/autoconf.texi (autoreconf Invocation): Document ACLOCAL_AMFLAGS limitation reported by Leo Moisio in . 2007-07-03 Paul Eggert * COPYING: Update to GPLv3. All uses changed. 2007-06-26 Ralf Wildenhues and Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): sed -e '' fails on AIX 5.3. 2007-06-17 Noah Misch * lib/autotest/general.m4 (AT_INIT): Handle absolute `srcdir'. * tests/autotest.at (srcdir propagation): Test absolute `srcdir' and `srcdir' as subdirectory of `builddir'. 2007-06-13 Noah Misch * lib/autotest/general.m4 (AT_INIT): Compute $srcdir correctly. * tests/autotest.at (srcdir propagation): New test. * THANKS: Update. Reported by Mike Frysinger. 2007-06-13 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): Set FPATH too. Problem reported by Fred Kreek in . * doc/autoconf.texi (Special Shell Variables): Warn about FPATH. (Macro Names, Defining Directories): Don't mention PATH as a name for a fully qualified file name, as this usage violates the GNU coding standards and we shouldn't recommend it. * lib/autotest/general.m4 (AT_INIT): Don't set PATH to the empty string and then assume shell builtins like "test" will work. 2007-06-12 Noah Misch * lib/autoconf/general.m4 (AC_SUBST): Raise a fatal error if VARIABLE is not a valid shell variable name. * tests/mktests.sh (ac_exclude_list): Add AC_ARG_VAR. * tests/torture.at (AC_SUBST: variable name validation): New test. Reported by Andreas Schwab. 2007-06-04 Noah Misch * doc/autoconf.texi (AC_F77_MAIN): Give a specific usage example that works with both C and C++. 2007-06-03 Noah Misch , Bruno Haible * lib/autoconf/c.m4 (AC_OPENMP): Use a simple loop instead of compiler brand tests. 2007-05-31 Paul Eggert * doc/autoconf.texi (Particular Types): Give example of use for AC_TYPE_INT8_T etc. 2007-05-29 Stepan Kasal * lib/autoconf/types.m4 (_AC_TYPE_UNSIGNED_INT): Fix a typo. 2007-05-28 Paul Eggert * doc/autoconf.texi (Particular Types): AC_TYPE_INT8_T does not define HAVE_INT8_T, and likewise for similar macros. Problem reported by Patrick Welche in . 2007-05-25 Noah Misch * bin/Makefile.am ($(top_builddir)/bin/autom4te): New dependency. 2007-05-21 Paul Eggert * lib/autoconf/c.m4 (AC_OPENMP): Don't echo --enable-openmp choice, since that's what we do with --enable-largefile etc. Redo indenting and assignments to simplify things a bit, and make the parens work with Emacs. * doc/autoconf.texi (Generic Compiler Characteristics): Fix typo in my previous change: AC_C_OPENMP -> AC_OPENMP. Reported by Bruno Haible. 2007-05-21 Noah Misch * lib/autoconf/c.m4 (AC_OPENMP): Simplify use of AC_ARG_ENABLE. * tests/local.at (AT_CHECK_ENV): Exempt OPENMP_CFLAGS. 2007-05-21 Bruno Haible * NEWS: Rename AC_C_OPENMP to AC_OPENMP. * lib/autoconf/c.m4 (AC_OPENMP): Renamed from AC_C_OPENMP. * doc/autoconf.texi (Generic Compiler Characteristics): Move renamed AC_OPENMP documentation here, from "C compiler". Mention C++ and Fortran. 2007-05-21 Paul Eggert * doc/autoconf.texi (C Compiler): Tweak OpenMP documentation a bit. 2007-05-21 Bruno Haible * NEWS: Mention AC_C_OPENMP. * lib/autoconf/c.m4 (AC_C_OPENMP): New macro. * doc/autoconf.texi (C Compiler): Document AC_C_OPENMP. Based in part on Steven G. Johnson's investigations for the AX_OPENMP macro in the Autoconf macro archive. 2007-05-17 Ralf Wildenhues * bin/autom4te.in: Fix typos. 2007-05-16 Noah Misch * bin/autoconf.as: Handle `-' just like other input files. * bin/autom4te.in (parse_args): Pass `-' through. (handle_output): Skip the forbidden token search if we read from stdin. (up_to_date): Always treat stdin as out of date. * tests/tools.at (autoconf: input from stdin): New test. (autoconf: forbidden tokens, basic): Check a second `autoconf' run. 2007-05-16 Stepan Kasal * tests/foreign.at tests/semantics.at, tests/tools.at: Remove parameters for AT_CLEANUP. * tests/local.at (AT_CHECK_AU_MACRO): Likewise. 2007-05-14 Paul Eggert * NEWS: Document that AC_C_RESTRICT checks 'restrict' last. * doc/autoconf.texi (C Compiler): Likewise. 2007-05-14 Noah Misch * lib/autoconf/c.m4 (AC_C_RESTRICT): Check `restrict' last. 2007-05-09 Stepan Kasal * doc/autoconf.texi: Direntry for "autoconf Invocation" renamed to "autoconf-invocation" * doc/autoconf.texi (Caching Results): The CACHE-ID variable in the examples should not use the internal "ac_" prefix. 2007-05-05 Noah Misch * lib/autotest/general.m4 (_AT_NORMALIZE_TEST_GROUP_NUMBER): Use `eval'. * doc/autoconf.texi ($@, case): Document Zsh limitations. 2007-05-03 Stepan Kasal * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Put a.out first. Reorganize the comments before and in the macro. 2007-05-02 Stepan Kasal * lib/autoconf/lang.m4, lib/autoconf/c.m4, lib/autoconf/fortran.m4, lib/autoconf/erlang.m4: Cleanup of section titles and other comments; no code change. 2007-05-01 Kevin Ryde * doc/autoconf.texi (Particular Programs): Typo @acindex{AC_PROG_MKDIR_P} shouldn't have "AC" in that call. 2007-04-30 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_SPY): Don't imply that 'configure' will fail if the shell lacks proper support for shell functions. Suggested by RMS. 2007-04-29 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Correct the warning about Solaris /bin/printf '%010000x' 123. Problem reported by Bruno Haible. 2007-04-28 Paul Eggert * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Don't look for a.* when searching for executables, as this prevents users from having files like a.c. Problem reported by Ralf Wildenhues in: http://lists.gnu.org/archive/html/autoconf-patches/2007-04/msg00029.html This fixes a problem introduced on 2000-12-19. 2007-04-26 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Warn about Solaris /bin/printf '%010000x' 123. Problem reported by Arto C. Nirkko via Bruno Haible. 2007-04-12 Paul Eggert * NEWS: Document recent changes to AC_CHECK_ALIGNOF, AC_CHECK_SIZEOF, AC_CHECK_TYPE, AC_CHECK_TYPES. * doc/autoconf.texi (Generic types): C types must be type-names (the C terminology), not type-ids (the C++ term). C++ types must not be anonymous. * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW): Remove special case for C++; this drops support for anonymous struct and union types, which were problematic anyway. * tests/semantics.at (AC_CHECK_HEADERS_NEW): Adjust test to work even for C++. 2007-04-12 Jim Meyering * doc/autoconf.texi (Libraries): Typo fix: insert missing "in". 2007-04-12 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_LINK): Fix AC_CONFIG_LINKS to prefer a link source from the build tree, if it exists. Report by Pallav Gupta . 2007-04-11 Paul Eggert * doc/autoconf.texi (Generic Types): Document the restrictions on types imposed by AC_CHECK_TYPE, AC_CHECK_TYPES. (Generic Compiler Characteristics): AC_CHECK_SIZEOF now works with objects too. Document the restrictions on its use. Document the restrictions on AC_CHECK_ALIGNOF's type argument. * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW): For C, just try sizeof (TYPE) and sizeof ((TYPE)); if the former works but the latter doesn't, then it's a valid type. This lets people use function types and so forth. For C++ there doesn't seem to be a simple solution, so leave it alone. (AC_CHECK_SIZEOF): Allow argument to be a variable. (AC_CHECK_SIZEOF, AC_CHECK_ALIGNOF): Don't bother to invoke AC_CHECK_TYPE; that wasn't documented or necessary. 2007-04-11 Stepan Kasal * lib/autoconf/general.m4 (_AC_LINK_IFELSE): Skip AS_TEST_X when cross-compiling. 2007-04-11 Stepan Kasal * doc/autoconf.texi (External Software): Fix a typo in the previous change. 2007-04-11 Ralf Wildenhues * doc/autoconf.texi (External Software, Package Options): Fix ambiguous wording. Report by Reuben Thomas . 2007-04-06 Paul Eggert * doc/autoconf.texi (Particular Types): AC_C_LONG_DOUBLE is now obsolescent. Suggested by Bruno Haible. * NEWS: Document this. 2007-03-29 Paul Eggert * doc/autoconf.texi (Here-Documents, Limitations of Builtins): (Limitations of Usual Tools): Don't say "older" if Solaris 10 by default still has the problem. Problem reported by Bruce Korb. 2007-03-28 Stepan Kasal and Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Fix a comment in the generated config.status. 2007-03-27 Stepan Kasal * lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Update comment. 2007-03-26 Paul Eggert * doc/autoconf.texi (Shellology): Rework treatment of the 'test' command and case statements to make it a bit clearer and describe more pitfalls. 2007-03-23 Paul Eggert * doc/autoconf.texi (C Compiler): Mention that AC_PROG_CC_C99 also checks for unsigned long long int. 2007-03-19 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Warn about other nonstandard grep R.E. escape sequences. 2007-03-17 Jim Meyering * doc/autoconf.texi: Adjust grammar around use of "heuristics". (Limitations of Usual Tools): Also list \< and \>, and mention that HP-UX's grep, like the one from Solaris, does not support that syntax. 2007-03-09 Stepan Kasal * doc/autoconf.texi (Specifying Names): `--host' does not change the build type. 2007-03-05 Paul Eggert * doc/autoconf.texi (C Compiler): Warn that AC_C_BIGENDIAN suggests AC_CONFIG_HEADERS. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Warn if not using AC_CONFIG_HEADERS. Problem reported by Peter O'Gorman. 2007-02-28 Paul Eggert * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Fix typo "__LITLE_ENDIAN__". Problem reported by Paolo Bonzini in: http://lists.gnu.org/archive/html/autoconf-patches/2007-02/msg00024.html * tests/semantics.at (AC_C_BIGENDIAN): Don't reject hosts that have universal binaries. Problem reported by Elias Pipping. 2007-02-27 Paul Eggert * NEWS: AC_C_BIGENDIAN now supports universal binaries a la Mac OS X. * doc/autoconf.texi (C Compiler): Document this. There is a new extra argument ACTION-IF-UNIVERSAL. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Implement this. Add support for Solaris-style _LITTLE_ENDIAN and _BIG_ENDIAN. Reindent for sanity's sake. 2007-02-24 Eric Blake * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Update copyright. * lib/autoconf/general.m4 (_AC_INIT_COPYRIGHT): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. (_AT_DECIDE_TRACEABLE): Fix syntax highlighting. 2007-02-13 Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT): With --clean, return exit status of rm so we know when it failed. If cleaning of test dir failed before running the test, warn. Output the line separator in verbose mode before the warning to make clear the warning belongs to the following test. 2007-02-08 Paul Eggert * doc/autoconf.texi (Parentheses): Mention problem with (( in shells. 2007-02-07 Ralf Wildenhues and Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Fix quoting errors introduced in last change. 2007-02-07 Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Prefer \r to an actual carriage return. Use "ac_cr" to contain the actual carriage return. * doc/autoconf.texi (Limitations of Usual Tools): Document problem with traditional Awk and begin. * tests/torture.at (Limitations of Builtins): Document the problem with Bash 2.03 printf. (Substitute and define special characters): Remove trailing white space. Work around a bug in Solaris 8 /bin/bash. 2007-02-06 Ralf Menzel (tiny change) * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Redirect input from /dev/null in awk test, so even Solaris /usr/bin/awk will not wait for input with a script containing only a BEGIN rule. 2007-02-03 Paul Eggert * doc/autoconf.texi (Introduction, Why GNU M4): Clarify M4 version requirements. * README: Likewise. 2007-02-02 Eric Blake * NEWS: Update copyright. * m4/m4.m4 (AC_PROG_GNU_M4): Reject M4 1.4 through 1.4.4 as broken. * configure.ac: Update error message. * NEWS: Note that M4 1.4.5 or later is now a hard dependency. Reported by Gary Vaughan and Jim Meyering, and problem analyzed by Stepan Kasal: http://lists.gnu.org/archive/html/bug-autoconf/2006-11/msg00025.html 2007-01-31 Eric Blake * THANKS (people): Update. 2007-01-28 Paul Eggert * doc/autoconf.texi (Shellology): pdksh 5.2.14 is still the latest version. (Shell Substitutions): Note problems with @{var:=value} etc. Add a new section for problems with @{#var} etc. Problem noted by Ralf Wildenhues. See: http://lists.gnu.org/archive/html/libtool-patches/2005-01/msg00157.html 2007-01-23 Ralf Wildenhues * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Also AC_SUBST([MKDIR_P]), so that Automake < 1.10 will pick up its trace, if a package uses AC_PROG_MKDIR_P explicitly. The actual substitution will still be done by the special code. Report by Jim Meyering. * doc/autoconf.texi (File System Conventions): Mention that $PATH_SEPARATOR is for the build system only. Report by Keith Marshall. 2007-01-19 Ralf Wildenhues * doc/autoconf.texi (Setting Output Variables): Mention that all non-NUL characters are ok in substituted values. * lib/autoconf/status.m4 (_AC_SED_CMD_LIMIT): Fix comment typo. (_AC_OUTPUT_FILES_PREPARE): Test and use backslash escaping of carriage return for $AWK, needed for BSD awk. * tests/torture.at (Substitute and define special characters): Test all 8 bit non-NUL characters. Report against Automake by Patrick Welche. 2007-01-15 Stepan Kasal * doc/autoconf.texi: Direntry for "autoconf Invocation" renamed. 2007-01-11 Ralf Wildenhues * lib/autoconf/programs.m4 (AC_PROG_SED): When closing a pipe early on the reader side, drop stderr of the input to avoid `broken pipe' error output; this may happen even with shell builtin `echo' of some bash versions. Reports by Ian Macdonald and Sam Sexton . 2007-01-10 Ralf Wildenhues * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Use newlines to separate items of `ac_user_opts', to avoid long lines. (_AC_INIT_PARSE_ENABLE2, _AC_ENABLE_IF_ACTION): Adjust. 2007-01-08 Ralf Wildenhues * doc/autoconf.texi: Fix some typos. 2007-01-05 Paul Eggert Fix some wording problems noted by Paolo Bonzini in: http://lists.gnu.org/archive/html/autoconf-patches/2007-01/msg00077.html * doc/autoconf.texi (Signed Overflow Examples): Give more discussion about the allow_superuser_privileges example, and change it a bit to make things clearer. (Optimization and Wraparound): Clarify whether the compiler will generate an infinite loop for the example derived from Autoconf's mktime test. (Signed Overflow Advice): Say that -ftrapv is meant for debugging. Also, clarify unsigned multiplication overflow. 2007-01-04 Eric Blake * bin/Makefile.am (RELEASE_YEAR): New macro. (edit): Use it to supply correct copyright year to scripts. * bin/autoconf.as (version): Use it. * bin/autoheader.in ($version): Likewise. * bin/autom4te.in ($version): Likewise. * bin/autoreconf.in ($version): Likewise. * bin/autoscan.in ($version): Likewise. * bin/autoupdate.in ($version): Likewise. * bin/ifnames.in ($version): Likewise. 2007-01-02 Paul Eggert * doc/autoconf.texi (Integer Overflow): Revised based on today's feedback. The most important changes document what happens when you convert an out-of-range value to a signed integer type, and say that (sum < a) != (b < 0) reliably detects overflow when sum = a + b. * doc/autoconf.texi (Integer Overflow): Greatly expand and rewrite, taking notions from the recent discussion on the gcc and autoconf mailing lists; please see http://lists.gnu.org/archive/html/autoconf-patches/2006-12/msg00091.html and follow the many links. (Integer Overflow Basics, Signed Overflow Examples): (Optimization and Wraparound, Signed Overflow Advice): (Signed Integer Division): New sections. 2006-12-28 Steven G. Johnson * lib/autoconf/general.m4 (AC_DEFINE_TRACE): Don't include preprocessor macro arguments in traced name. * doc/autoconf.texi (Defining symbols): Document longstanding support for AC_DEFINE-ing macros with arguments, and document behavior when the same variable has multiple AC_DEFINEs. * lib/autoconf/fortran.m4 (_AC_FC_WRAPPERS): Revert to the old implementation which AC_DEFINEs the FC_FUNC and FC_FUNC_ macros directly, giving much shorter and simpler code. 2006-12-28 Malcolm Purvis (trivial change) * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Insert a space before "$ac_configure_args" to prevent a 'config.status --recheck' failure if ac_configure_args doesn't contain a leading space. This works around a problem with the XEmacs configure.ac, which uses the (undocumented) ac_configure_args variable inconsistently with Autoconf. 2006-12-22 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_MKTIME): Include , and use its INT_MAX to rewrite the j loop so that it does not overflow 'int'. Problem reported by Ralf Wildenhues in . Play it safe by shifting left by 1 rather than multiplying by 2, as GCC is less likely to optimize this away when the value is signed (when it assumes overflow leads to undefined behavior). Also, don't assume time_t uses two's complement. 2006-12-20 Ralf Wildenhues * tests/torture.at (Substitute a 2000-byte string): Avoid using a 10kB long (multi-line) string literal, OpenServer 5.0.7 ksh dumps core on it. Report by Tim Rice. 2006-12-18 Steven G. Johnson * lib/autoconf/general.m4 (AC_ARG_ENABLE): Print help about --disable-option-checking to --help output even when AC_PRESERVE_HELP_ORDER is not used. (_AC_INIT_PARSE_ENABLE2): Print warnings using actual --enable or --with argument, rather than argument with [-.] replaced by underscores. * NEWS: Fix typo in previous change; the news was in the wrong section. 2006-12-18 Paul Eggert * NEWS: Warnings are now generated by default for unknown --enable-* and --with-* options. * doc/autoconf.texi (Option Checking): Renamed from (Configure Option Checking). Tighten up the wording a bit. (External Software, Package Options): Cross-reference to Option Checking, and use this to shorten our section. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Prefer test -n "$x" to test "x$foo" != x. * lib/autoconf/status.m4 (AC_OUTPUT): Likewise. Don't warn if $enable_option_checking is "no". * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Initialize ac_unrecognized_opts to the empty string. Don't echo the unrecognized opts, as this might mishandle backslashes or leading -. (AC_PRESERVE_HELP_ORDER): Put the --disable-option-checking usage next to the other --disable-FEATURE options in the help string. 2006-12-18 Steven G. Johnson * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS, _AC_INIT_PARSE_ARGS): (_AC_INIT_PARSE_ENABLE2, _AC_INIT_HELP, _AC_ENABLE_IF): Print warning for unrecognized --with and --enable options (AC_DISABLE_OPTION_CHECKING): New macro to disable warnings. * lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS, _AC_OUTPUT_SUBDIRS): Disable option checking when subdirs are configured. (AC_OUTPUT): If warnings are enabled, print warning about unrecognized --with and --enable options at the end of the configure output (as well as at the beginning). * doc/autoconf.texi (Option Checking): New node. Document new option warning functionality. 2006-12-16 Eric Blake * configure.ac (AC_INIT): Bump version, since 2.61a is released. * NEWS: Start news for current version. 2006-12-15 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_GETMNTENT): Define HAVE_GETMNTENT to 1, not to the empty string. Problem originally reported by Jochen Friedrich in . This change prompted by a problem report by Andrey Simonenko in . * doc/autoconf.texi (Defining Symbols): AC_DEFINE works for object-like macros only, in the traditional portable character set. * lib/autoconf/general.m4 (AC_DEFINE_TRACE_LITERAL): Warn about attempts to define things that are not identifiers. * lib/autoconf/fortran.m4 (_AC_FC_WRAPPERS): Rewrite to avoid awful hack that AC_DEFINEd macro names containing parentheses. 2006-12-12 Paul Eggert * doc/autoconf.texi: Undo some of the 2006-12-10 change. It was too drastic, even if Texinfo in theory requires it for info mode. (config.status Invocation): Renamed back from Recreating a Configuration). (Obsolete config.status Use): Renamed back from Obsolete Recreation. (Autoconf 2.13): Renamed back from 20th-century Autoconf 2. 2006-12-11 Paul Eggert * NEWS: Version 2.61a. 2006-12-11 Paul Eggert and Ralf Wildenhues * NEWS: Document changes with echo and printf, and the lack of limits on the total size of multi-line values of substituted variables, and the AC_FUNC_FSEEKO fix. 2006-12-10 Paul Eggert * doc/autoconf.texi (Writing Autoconf Input): Renamed from Writing configure.ac. (Autoconf Input Layout): Renamed from configure.ac Layout. (Recreating a Configuration): Renamed from config.status Invocation. (Obsolete Recreation): Renamed from Obsolete config.status Use. (acconfig Header): Renamed from acconfig.h. (20th-century Autoconf 2): Renamed from Autoconf 2.13. (Writing Testsuites): Renamed from Writing testsuite.at. (Autom4te Cache): Renamed from autom4te.cache. * BUGS: Remove mention of VPATH problem, since it's now documented not to be a bug in the Autoconf build procedure itself, but rather a problem with the proprietary `make' programs. * doc/autoconf.texi (Build Directories): Add a cross reference to VPATH and Make. * build-aux/config.guess, build-aux/config.sub, build-aux/texinfo.tex: * doc/standards.texi: Sync from gnulib. * man/autoconf.1, man/autoheader.1, man/autom4te.1, man/autoreconf.1: * man/autoscan.1, man/autoupdate.1, man/config.guess.1: * man/config.sub.1, man/ifnames.1: Remove from CVS, since they're generated automatically. 2006-12-06 Paul Eggert * lib/autoconf/c.m4 (_AC_PROG_CC_C89): Also try -xc99=all, for Sun C 5.8 on Solaris 10. Using -xc99=all rather than -xc99 bypasses the buggy -xc99 option of Forte Developer 7 C on Solaris 9. 2006-12-07 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Drop the `CEOF$ac_eof' special marker, the awk script cannot contain a line matching `^CEOF', so this is not needed any more. * tests/torture.at (Substitute a newline): Expose the `%!_!# ' special marker in the test. 2006-12-06 Stepan Kasal * tests/tools.at (autom4te preselections): Use `find -newer'; remove one of the sleeps. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ENABLE): Make it more readable, using ... (_AC_INIT_PARSE_ENABLE2): ... this new helper macro. * doc/autoconf.texi (autoheader Invocation): Do not double- quote the parameter of `AH_BOTTOM' in the example. 2006-12-05 Stepan Kasal * doc/autoconf.texi (Configuration Headers): Remove the example with multiple input files. (autoheader Invocation): Encourage `AH_BOTTOM', discouraging multiple input files. 2006-12-05 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): When creating the awk substitution script, handle one input line at a time, so that the maximum length of a substituted (multi-line) value is not limited by the size of the sed pattern space. The trade-off is a slightly repetitive sed script. * doc/autoconf.texi (Limitations of Usual Tools): Branch labels can only have up to 7 characters, due to Solaris 10 /bin/sed. * tests/torture.at (Substitute a 2000-byte string): Increase the test with several long lines, they should not be caught by sed limits any more. * tests/tools.at (autom4te preselections): New test, to flag entries missing from autom4te.cfg. Report by David Byron . * tests/torture.at (Substitute a 2000-byte string): Actually use AC_PROG_AWK, so the last change works as intended. (Substitute and define special characters): Likewise. (Substitute a newline): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Use `$AWK' instead of `awk' consistently. (_AC_OUTPUT_CONFIG_STATUS): Initialize $AWK. * tests/torture.at (Torturing config.status): Test both the result of AC_PROG_AWK and plain awk. (Substitute a 2000-byte string): Likewise. (Substitute and define special characters): Likewise. (Substitute a newline): Likewise. 2006-12-04 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_FSEEKO): Check that fseeko can be assigned to a function pointer. Problem reported by Peter Palfrader in . Based on part of a patch by Ralf Wildenhues in that same bug report. 2006-12-01 Paul Eggert * tests/mktests.sh (ac_exclude_list): Exclude AC_FUNC_SETVBUF_REVERSED. * tests/semantics.at (AC_FUNC_SETVBUF_REVERSED): New test. 2006-12-01 Eric Blake * lib/autoconf/c.m4 (AC_LANG_INT_SAVE): Avoid newline, to aid in cross-compiling from cygwin to mingw. Reported by Bob Rossi. This resurrects the 2000-11-30 patch to aclang.m4, which was mistakenly removed in the 2001-09-17 patch to lib/autoconf/c.m4. 2006-12-01 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_ECHO_PREPARE): Use a longer test string for more reliable failure. Wrap the entire test that causes the broken Solaris printf to dump core, in a subshell, so the segmentation fault message is reliably suppressed. Fix shell expansion errors by using /usr/ucb/echo always; avoid an error on systems without it by another subshell. Avoid m4 expansion of `$1'. Set the zeroth argument of the subshell-$as_echo to `as_echo', for better error message. 2006-11-28 Ralf Wildenhues * lib/autoconf/general.m4 (_AC_CACHE_DUMP): If `BASH_ARGV' or `BASH_SOURCE' contain a newline, set them to empty, as they may not be unset. 2006-11-27 Paul Eggert Turn AC_FUNC_SETVBUF_REVERSED into a noop. It's been obsolete for years and is too hard to maintain now. The last straw was reported by Jerker Baeck in . * NEWS: AC_FUNC_SETVBUF_REVERSED is now obsolete. * doc/autoconf.texi (Particular Functions): Move AC_FUNC_SETVBUF_REVERSED from here... (Obsolete Macros): ... to here. Say that it does nothing now. * lib/autoconf/functions.m4 (AC_FUNC_SETVBUF_REVERSED): Turn into (almost) a no-op. * lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL, AC_C_CONST): (AC_C_VOLATILE): Do not recommend via AN_FUNCTION, AN_IDENTIFIER, or AN_HEADER. These macros are obsolescent and new applications shouldn't need them. * lib/autoconf/functions.m4 (AC_FUNC_CLOSEDIR_VOID, AC_REPLACE_FNMATCH): (AC_FUNC_GETLOADAVG, AC_FUNC_GETPGRP, AC_FUNC_MEMCMP): (AC_FUNC_SELECT_ARGTYPES, AC_FUNC_SETPGRP, AC_FUNC_STAT, AC_FUNC_LSTAT): (AC_FUNC_STRFTIME, AC_FUNC_SETVBUF_REVERSED, AC_FUNC_UTIME_NULL): (AC_FUNC_VPRINTF): Likewise. * lib/autoconf/headers.m4 (AC_HEADER_DIRENT, AC_HEADER_STAT): (AC_HEADER_STDC, AC_HEADER_SYS_WAIT, AC_HEADER_TIME): Likewise. * lib/autoconf/types.m4 (AC_STRUCT_TM): Likewise. * doc/autoconf.texi (Setting Output Variables): Mention that @VAR1@VAR2 has unspecified behavior. Problem reported by Ralf Wildenhues. * NEWS: Mention this. * Makefile.am: Put only a single '#' into the copyright notice, so that it's also present in the output file. Standardize wording in makefile copyright notices to match GNU coding standards. * bin/Makefile.am: Likewise. * doc/Makefile.am: Likewise. * lib/Makefile.am: Likewise. * lib/freeze.mk: Likewise. * lib/autoconf/Makefile.am: Likewise. * lib/autoscan/Makefile.am: Likewise. * lib/autotest/Makefile.am: Likewise. * lib/m4sugar/Makefile.am: Likewise. * man/Makefile.am: Likewise. * tests/Makefile.am: Likewise. * lib/emacs/Makefile.am: Remove copyright notice; it's just a one-line file. 2006-11-27 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Fix error in the sed script that mangles the awk script: delete up to the first exclamation mark only. * tests/torture.at (Substitute and define special characters): Test '!' too. 2006-11-26 Ralf Wildenhues Rewrite config files generation: avoid quadratic growth in the number of substituted variables by using awk instead of sed for the bulk of the substitutions. * NEWS: Mention this. * doc/autoconf.texi (Setting Output Variables): `|#_!!_#|' is also forbidden in the output (and thus input) file. * lib/autoconf/status.m4 (_AC_AWK_LITERAL_LIMIT): New macro. (_AC_OUTPUT_FILES_PREPARE): Instead of several sed scripts, generate just one large awk script for substitutions, eliminating much of the earlier complexity, while adding some new complexity. Only expand the substitution templates at configure time, for smaller configure script size. If _AC_SUBST_FILES are used, test 'awk' for working getline support at config.status time. If absent, interpolate through the shell. The awk script was written with much help from Paolo Bonzini and Paul Eggert. (_AC_SED_CMD_NUM, _AC_SED_DELIM_NUM, _AC_SED_FRAG): Removed. (_AC_SED_FRAG_NUM): Likewise. (_AC_SUBST_CMDS): Renamed from... (_AC_SED_CMDS): ...this. (_AC_OUTPUT_FILE): Use _AC_SUBST_CMDS. * tests/torture.at (Substitute a 2000-byte string): Also substitute a line with 1000 words, and a variable with several long lines. (Substitute and define special characters): Test awk special characters, and put substitution input strings `@foo@' in the output, to test that no recursion happens; test several other combinations from Paolo Bonzini. 2006-11-25 Paul Eggert * lib/autotest/general.m4 (AT_INIT): Undo recent changes that replaced echo with AS_ECHO where this wasn't necessary. Problem reportd by Ralf Wildenhues. * lib/m4sugar/m4sh.m4 (_AS_ECHO_PREPARE): Port to Solaris 7, where "/usr/bin/printf '%s\n' S" dumps core if S is long. This is Sun bug 4206210. Problem reportd by Ralf Wildenhues. 2006-11-24 Ralf Wildenhues * lib/freeze.mk (GREP): Removed, no need to initialize this. 2006-11-21 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Don't claim that traditional Awk lacks 3-arg "split". It has it. Mention that FS must be a single character, and a few other 99-byte limits of traditional Awk. Mention that if (i in a) doesn't work with traditional Awk. 2006-11-18 Paul Eggert * tests/autotest.at (BSx641-newline in command): (BS-BS-newline in command, BSx640-newline in command): (Newline-CODE-BS-newline in command): (Single-quote-BS-newline in command): (Single-quote-newline-BS-newline in command): Use printf '%s\n' instead of echo, for portability to hosts where echo interprets backslashes. This will break on hosts that lack printf, but for now let's assume all such hosts are dead (if not, we should get reports of test failures). 2006-11-17 Paul Eggert 'echo' has some portability problems, when given a first argument with a leading '-', or when given any argument containing '\'. Avoid using 'echo' in these cases. * bin/Makefile.am $(bin_SCRIPTS): Rewrite to avoid 'echo' entirely. * lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC): Likewise. * lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. * bin/autoconf.as: Use AS_ECHO rather than plain echo, when the argument might be unportable. * lib/autoconf/c.m4 (AC_PROG_CC_C_O): Likewise. * lib/autoconf/erlang.m4 (AC_LANG(Erlang)): Likewise. * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): (_AC_FC_LIBRARY_LDFLAGS): Likewise. * lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Likewise. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ENABLE, _AC_INIT_PREPARE): (_AC_ARG_VAR_VALIDATE, AC_ARG_PROGRAM, _AC_MSG_LOG_CONFTEST): (AC_RUN_LOG, _AC_RUN_IFELSE, _AC_LIBOBJS_NORMALIZE): Likewise. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Likewise. * lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT): Likewise. * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): (AC_PROG_MAKE_SET): Likewise. * lib/autoconf/status.m4 (_AC_SRCDIRS, _AC_OUTPUT_HEADER): (_AC_OUTPUT_SUBDIRS, _AC_OUTPUT_CONFIG_STATUS): Likewise. * lib/autotest/general.m4 (_AT_CREATE_DEBUGGING_SCRIPT, AT_INIT): (AT_CLEANUP, _AT_DECIDE_TRACEABLE, _AT_CHECK): Likewise. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE, _AS_ECHO_UNQUOTED): (_AS_BASENAME_SED, _AS_DIRNAME_SED, AS_MKDIR_P, AS_TMPDIR, AS_UNAME): (AS_TR_SH, AS_TR_CPP, AS_VAR_GET): Likewise. * bin/autoconf.as: Redo verbose flag implementation, as the old scheme wouldn't work with AS_ECHO. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/autoconf/general.m4 (AC_MSG_RESULT, AC_MSG_RESULT_UNQUOTED): Don't use ECHO_T, since ECHO_N is now reliable. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/autoconf/general.m4 (AC_ARG_PROGRAM): Use sed "$script" rather than using a here-document to put the script into a file. (_AC_DO_ECHO): Hoist the eval out of the echo, so that we can use AS_ECHO. * lib/m4sugar/m4sh.m4 (AS_VAR_GET): Likewise. * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): Use AS_ECHO_N rather than ECHO_N and ECHO_C. This doesn't fix any bug, but we might as well stop using ECHO_N and ECHO_C internally. * lib/autotest/general.m4 (AT_SETUP): Likewise. * lib/m4sugar/m4sh.m4 (_AS_ECHO_N): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): (_AC_OUTPUT_MAIN_LOOP): Rework echo so that it has just one operand, as AS_ECHO requires. Avoid double file name expansion. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Invoke _AS_ECHO_PREPARE. Don't set as_nl, since _AS_ECHO_PREPARE does that now. (_AS_PREPARE): Comment that _AS_ECHO_N_PREPARE is just for user code. (AS_ECHO, AS_ECHO_N, _AS_ECHO_PREPARE): New macros. * tests/c.at (AC_PROG_CPP without warnings, AC_PROG_CPP via CC): Double-quote strings that would otherwise contain M4 comments. * tests/m4sh.at (AS_ECHO and AS_ECHO_N): New test. * configure.ac (AC_INIT): Bump to 2.61a. * NEWS: Likewise. 2006-11-17 Paul Eggert Version 2.61. * configure.ac (AC_INIT): Bump to 2.61. * NEWS: Likewise. * tests/autotest.at (Macro with backslash in a test title): Comment out for now, as this tests neither fails nor passes reliably. Problem reported by Ralf Wildenhues. 2006-11-16 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_PARSE_ENABLE): Fix some typos in previous change, which caused test failures. 2006-11-16 Stepan Kasal * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Factor out code for --enable, --disable, --with, and --without to... (_AC_INIT_PARSE_ENABLE): ... a new macro. * doc/autoconf.texi (Package Options): * NEWS: Document that AC_ARG_ENABLE allows dots, too. 2006-11-16 Paul Eggert Import these changes from config via gnulib: 2006-11-15 Ben Elliston From Josselin Mouette : * build-aux/config.guess (SX-8:SUPER-UX:*:*): New. 2006-11-08 Ben Elliston * build-aux/config.guess (authenticamd:Interix*:[3456]*): Another AMD64. 2006-11-07 Steve Woodford Ben Elliston * build-aux/config.guess (*:NetBSD:*:*): Handle sh5el arch. * build-aux/config.sub (sh5el): New basic_machine. Import this change from coreutils: 2006-02-13 Jim Meyering * GNUmakefile (all): Emit diagnostics to stderr, not stdout. Import this change from gnustandards via gnulib: 2006-11-15 Karl Berry * standards.texi: core -> memory, throughout. (CPU Portability): show correct example of calling write on a char value; thanks to Paul Eggert for the code. Both of these suggestions from Eugene Y. Vasserman. Import these changes from texinfo via gnulib: 2006-11-08 Karl Berry * build-aux/texinfo.tex (\dopdfimage): look for png, jpg/jpeg/JPG, and as well as pdf images, since they are supported in pdftex with no further ado. 2006-11-05 Karl Berry * doc/texinfo.tex (Image Syntax): don't mention GIF any more. 2006-11-13 Paul Eggert * NEWS: Document the AC_ARG_WITH change. 2006-11-13 Bruno Haible * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): For --with, --without options, transliterate also dots to underscores. (_AC_ENABLE_IF): Transliterate also dots to underscores. * doc/autoconf.texi (External Software): Document that AC_ARG_WITH's first argument may also contain dots. 2006-11-09 Paul Eggert * tests/mktests.sh (ac_exclude_list): Exclude AC_PROG_CXX_C_O, for benefit of platforms like Solaris+GCC where it is common to have a non-working g++ installation. 2006-11-08 Ralf Wildenhues and Joel E. Denny and Paul Eggert * tests/autotest.at (AT_CHECK_AT_TITLE): Fix shell quoting bugs and non-portable sed scripts, and use $CONFIG_SHELL when invoking ./micro-suite. 2006-11-08 Paul Eggert * lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int to 'yes' instead of 'cross-compiling'. Imported from a similar patch to gnulib by Bruno Haible. 2006-11-08 Paul Eggert * NEWS: New macros AC_C_FLEXIBLE_ARRAY_MEMBER, AC_C_VARARRAYS. * doc/autoconf.texi (C Compiler): Document them. * lib/autoconf/c.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER, AC_C_VARARRAYS): New macros, taken from gnulib. 2006-11-07 Paul Eggert * lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by Matthew Woehlke. 2006-10-28 Ralf Wildenhues * tests/torture.at (Configuring subdirectories): Do not skip Automake 1.10 nor future Automake 11.1 (sic). 2006-10-26 Joel E. Denny and Stepan Kasal Handle special characters in test case titles correctly. * lib/autotest/general.m4 (AT_INIT): M4-quote and AS_ESCAPE AT_help_all properly. (AT_SETUP): M4-quote and AS_ESCAPE the title properly everywhere. * tests/autotest.at (AT_CHECK_AT_TITLE): Add EXPANDED-TITLE-TO-TEST argument. Extend to check titles printed by ./micro-suite and ./micro-suite -l and the title in micro-suite.log. (Backquote in a test title, Single-quote in a test title, Double-quote in a test title): Don't expect failure anymore. (Backslash in a test title): Put a non-whitespace character after the backslash so that Bourne shells might actually see it as an escape sequence. (Brackets in a test title, Pound in a test title, Comma in a test title, Quoted Macro in a test title, Macro in a test title, Macro with single-quote in a test title): New tests. (Macro with backquote in a test title, Macro with double-quote in a test title, Macro with backslash in a test title): New tests expected to fail. * tests/torture.at (#define header templates): M4-quote this title in AT_SETUP call so that no M4 code is commented inadvertently somewhere. The visible effect was a stray [] in the testsuite output. 2006-10-27 Ralf Wildenhues * doc/autoconf.texi (Limitations of Builtins): Do not invoke `trap ... 0' inside a function, for AIX sh. 2006-10-26 Paul Eggert * tests/base.at (AC_COMPUTE_INT): Test **0** rather than 1 / 0, since powerpc-apple-darwin8-gcc-4.0.1 (Apple Computer, Inc. build 5363) simply issues a warning when dividing by zero at compile time. Problem reported by Elias Pipping. 2006-10-26 Eric Blake * THANKS: Update. * doc/autoconf.texi (Evaluation Macros): Improve the example to show effect on macros that expand with commas. Reported by Joel E. Denny. * tests/m4sugar.at (m4_warn, m4_require: circular dependencies): Also work with M4 1.4.8. 2006-10-25 Paul Eggert * doc/autoconf.texi (Slashes): Document Tru64 4.0 bug reported by Jim Meyering. 2006-10-25 Stepan Kasal * tests/tools.at (autom4te --force): New test, verifies that `--force' always rewrites the output file. 2006-10-24 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Document that rm needs operands on NetBSD 2.0.2. Problem reported by Bruno Haible. 2006-10-24 Stepan Kasal * tools/trace.at (autoconf --trace: user macros): Test `$%'. 2006-10-24 Paul Eggert * lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_MACRO_VALUE): If FUNCTION-BODY is nonempty, use AC_LINK_IFELSE rather than AC_COMPILE_IFELSE, to work around problem with OSF/1 4.0F fseeko reported by Nelson H. F. Beebe for Coreutils 6.4. * tests/tools.at (autoconf --trace: user macros): Remove test for tracing multiline macros, since m4 1.4.7a uses a different way to number lines. Problem reported by Ralf Wildenhues. 2006-10-24 Stepan Kasal * bin/autom4te.in (handle_m4): Do not redirect stdin to /dev/null since the heuristics for interactive behaviour was fixed in CVS m4. * bin/autom4te.in: With --force, always refresh the output file. Problem reported by Greg Schafer . * bin/autoconf.as: Fix the verbose message at the end. 2006-10-23 Paul Eggert * configure.ac (AC_INIT): Bump to 2.60c. * NEWS: Likewise. 2006-10-22 Paul Eggert * NEWS: Version 2.60b. Import this change from Texinfo: 2006-10-15 Karl Berry * build-aux/texinfo.tex: automake 1.10 * NEWS: Remove AC_CACHE_CHECK_INT. * doc/autoconf.texi (Caching Results): Likewise. * lib/autoconf/general.m4 (_AC_CACHE_CHECK_INT): Renamed from AC_CACHE_CHECK_INT, since it's no longer public. * lib/autoconf/types.m4: All uses of AC_CACHE_CHECK_INT changed. * tests/base.at (AC_COMPUTE_INT): Test this, not AC_CACHE_CHECK_INT. 2006-10-20 Ralf Wildenhues * doc/autoconf.texi (Limitations of Usual Tools): Fix two typos. 2006-10-19 Eric Blake * lib/m4sugar/m4sugar.m4 (m4_mkstemp): New macro. (m4_maketemp): Avoid warnings with M4 1.9a. * lib/emacs/autoconf-mode.el (autoconf-font-lock-keywords): Color m4_mkstemp. * doc/autoconf.texi (Redefined M4 Macros): Document m4_mkstemp. * NEWS: Likewise. 2006-10-16 Eric Blake * doc/autoconf.texi (Setting Output Variables): Fix typo. * bin/autoconf.as (version): Reword to match GNU Coding Standards. * bin/autoheader.in (version): Likewise. * bin/autom4te.in (version): Likewise. * bin/autoreconf.in (version): Likewise. * bin/autoscan.in (version): Likewise. * bin/autoupdate.in (version): Likewise. * bin/ifnames.in (version): Likewise. 2006-10-14 Stepan Kasal * lib/m4sugar/m4sh.m4 (AS_LITERAL_IF): Expand $1 before looking for special shell characters. * lib/autoconf/functions.m4 (AC_CHECK_FUNC): Do not expand the macro defined by AS_VAR_PUSHDEF before passing it as a parameter. * lib/autoconf/general.m4 (AC_CHECK_FILE, AC_CHECK_DECL): * lib/autoconf/libs.m4 (AC_SEARCH_LIBS, AC_CHECK_LIB): * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW, AC_CHECK_MEMBER): * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): (_AC_CHECK_HEADER_NEW, _AC_CHECK_HEADER_OLD, _AC_CHECK_HEADER_DIRENT): Likewise. * lib/autotest/general.m4 (AT_INIT): Quote parameters of AS_VAR_* properly. * tests/m4sh.at (AS_LITERAL_IF): New test. 2006-10-14 Paul Eggert (Imported from Automake.) * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m, which incorrectly sets the mode of an existing destination directory. In some cases the unpatched install-sh could do the equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD system. We hope this is rare in practice, but it's clearly worth fixing. Problem reported by Alex Unleashed in . Also, don't bother to check for -m bugs unless we're using -m; suggested by Stepan Kasal. 2006-10-14 Paul Eggert Import this change from Automake: 2006-08-23 Alexandre Duret-Lutz * lib/Autom4te/ChannelDefs.pm (usage): Mention that -Wportability is enabled by default with gnu and gnits strictness. Report from Bruno Haible. 2006-03-10 Alexandre Duret-Lutz * lib/Autom4te/ChannelDefs.pm: Make -Wportability the default in gnu and gnits modes. Import this change from Config: 2006-09-20 Ben Elliston * build-aux/config.sub (score, score-*): New. Import this change from Gnulib: 2006-09-16 Karl Berry * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec, to avoid sectioning errors. Import these changes from Texinfo: 2006-10-04 Karl Berry * build-aux/texinfo.tex (\singlequotechar): rename to \codequoteright. (\quoteexpand): rename to \rquoteexpand. (\codequoteleft): new def, to look for @set codequotebacktick. (\lquoteexpand, \quoteexpand): new defs. (\lquoteChar, \rquoteChar, \dashChar, \underChar: new \chardef's. (\code): must use new \...Char values, since now ` is active. 2006-08-26 Karl Berry * build-aux/texinfo.tex (\textdegree): New command. 2006-08-12 Karl Berry * build-aux/texinfo.tex (error \box0): smaller font. 2006-10-14 Ralf Wildenhues * doc/autoconf.texi (Autoheader Macros): Fix syntax error. 2006-10-13 Stepan Kasal * doc/autoconf.texi (Autoheader Macros): Warn that the text added to the template can get mangled. 2006-10-13 Ralf Wildenhues * lib/autoconf/functions.m4 (AC_FUNC_OBSTACK): In the test, include the default headers, and redefine obstack_chunk_alloc and obstack_chunk_free. Fixes false failure with glibc. 2006-10-12 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_TEST_PREPARE): Set as_executable_p, for backward compatibility with Libtool 1.5.22. Problem reported by Ralf Wildenhues. 2006-10-12 Ralf Wildenhues * lib/autoconf/c.m4 (AC_PROG_GCC_TRADITIONAL): Require AC_PROG_CC. Report by IOhannes m zmoelnig . 2006-10-11 Paul Eggert * NEWS: AC_USE_SYSTEM_EXTENSIONS now defines _TANDEM_SOURCE for the NonStop platform. * doc/autoconf.texi (Posix Variants): Likewise. * lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise. * lib/m4sugar/m4sh.m4 (AS_TEST_X): New macro. (AS_EXECUTABLE_P): Use as_test_x rather than as_executable_p. (_AS_TEST_PREPARE): Set as_test_x rather than as_executable_p. Use a better substitute, by inspecting the output of "ls" rather than just using ":". * lib/autoconf/general.m4 (_AC_LINK_IFELSE): Use AS_TEST_X rather than AS_EXECUTABLE_P, since we needn't worry about non-regular files here. * NEWS: Autoconf-generated shell scripts no longer export BIN_SH, due to configuration hassles with this. See Tonya Underwood's report . * doc/autoconf.texi (Special Shell Variables): Likewise. 2006-10-11 Paul Eggert Stepan Kasal * lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Don't set BIN_SH. (_AS_DETECT_BETTER_SHELL): Don't look in /usr/bin/posix. 2006-10-11 Stepan Kasal * lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Move the initialization which is not inherited through the environment (_AS_BOURNE_COMPATIBLE): ... to this new macro. (_AS_RUN): Call _AS_BOURNE_COMPATIBLE, not AS_BOURNE_COMPATIBLE. 2006-10-09 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Describe problems with mkdir -p -m. 2006-10-06 Paul Eggert * lib/autoconf/c.m4 (_AC_PROG_PREPROC_WORKS_IFELSE): Remove comment about ac_cpp_err; it was incorrect, and anyway ac_cpp_err is being removed below. * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE): Don't set ac_cpp_err to 'yesyes' if preproc_warn_flag and werror_flag are both 'yes'. In fact, don't bother setting ac_cpp_err at all; nobody uses it. (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Don't log our funky tests with werror_flag and conftest.err and so forth. This is more compatible with how _AC_PROG_PREPROC_WORKS_IFELSE behaves, and anyway the user shouldn't normally want to see this gorp logged. Problem reported by Ralf Wildenhues. * lib/autoconf/lang.m4 (AC_LANG_WERROR): werror_flag's default is empty, not 'no', since the rest of the code uses 'test -z'. 2006-10-04 Paul Eggert * lib/autoconf/general.m4 (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Use a single call to AC_DO_TOKENS rather than multiple, for efficiency. (_AC_LINK_IFELSE): Test that resulting file is executable. Problem reported by mwoehlke in . * lib/m4sugar/m4sh.m4 (_AS_TEST_PREPARE): Use "test -x /" rather than creating a file to use with test -x; this is much faster. 2006-10-02 Bruno Haible * lib/autom4te.in (Automake-preselections): Add AM_GNU_GETTEXT_INTL_SUBDIR, for automake 1.10. 2006-09-27 Stepan Kasal * doc/autoconf.texi (Writing testsuite.at): Fix a typo: for standard error, `experr' should be used, not `expout'. 2006-09-26 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_FSEEKO): Don't compile the fseeko testing program twice; just use the earlier result. * lib/autoconf/specific.m4 (_AC_SYS_LARGEFILE_MACRO_VALUE): Set cache var to 'unknown' (not 'no') if leaving the macro unset still doesn't let the program compile. (AC_SYS_LARGEFILE): Test for _LARGE_FILES only if earlier tests failed. * lib/autoconf/functions.m4: Fix problems reported by Ralf Wildenhues. (AC_FUNC_ERROR_AT_LINE): Don't bother to check for error.h. Just include it, without including anything else. (AC_FUNC_FSEEKO): Avoid gcc -Wall warnings about constant expressions. (AC_FUNC_STRNLEN): Require AC_USE_SYSTEM_EXTENSIONS. 2006-09-26 Ralf Wildenhues * lib/autoconf/functions.m4 (AC_FUNC_ERROR_AT_LINE): Check for `error.h', and include it, for a `error_at_line' prototype. Use a nonempty format string in the link test. * lib/autoconf/functions.m4 (AC_FUNC_WAIT3): Include , for a declaration of wait3. 2006-09-26 Paul Eggert * NEWS: AC_CHECK_DECL now also works with aggregate objects. * doc/autoconf.texi (Generic Declarations): Clarify that AC_CHECK_DECL can apply to constants too, and that it checks for macro defns. * lib/autoconf/general.m4 (AC_CHECK_DECL): Assume C89 or better, and simply cast the identifier to void. This handles structure values. Problem reported by Ralf Wildenhues. * tests/semantics.at (AC_CHECK_DECLS): Also check enums. 2006-09-26 Ralf Wildenhues * tests/semantics.at (AC_CHECK_DECLS): Also check macros, structure, and function symbols. 2006-09-26 Ralf Wildenhues * tests/semantics.at (AC_CHECK_MEMBERS): Also test with a struct member. 2006-09-25 Paul Eggert * NEWS: Recommend M4 1.4.7 instead of 1.4.6. * README: Likewise. * doc/autoconf.texi (Introduction, Why GNU M4): Likewise. 2006-09-25 Paul Eggert and Ralf Wildenhues * lib/autoconf/functions.m4 (AC_FUNC_OBSTACK): Avoid `gcc -Wall' warnings (uninitialized value). (AC_FUNC_UTIME_NULL): Likewise, test for and include if present. * lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Likewise, add parentheses. (AC_STRUCT_TM): Likewise, avoid unused variables. 2006-09-20 Ralf Wildenhues * lib/autoconf/c.m4 (_AC_ARG_VAR_LDFLAGS): Update comment. (_AC_ARG_VAR_LIBS): New macro: let LIBS be precious. (AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC): Call _AC_ARG_VAR_LIBS. * lib/autoconf/fortran.m4 (AC_PROG_F77, AC_PROG_FC): Likewise. Report by Olly Betts. 2006-09-19 Eric Blake * m4/m4.m4: Change copyright. * configure: Regenerate. * Makefile.in: Likewise. * bin/Makefile.in: Likewise. * doc/Makefile.in: Likewise. * lib/Makefile.in: Likewise. * lib/Autom4te/Makefile.in: Likewise. * lib/autoconf/Makefile.in: Likewise. * lib/autoscan/Makefile.in: Likewise. * lib/autotest/Makefile.in: Likewise. * lib/emacs/Makefile.in: Likewise. * lib/m4sugar/Makefile.in: Likewise. * man/Makefile.in: Likewise. * tests/Makefile.in: Likewise. * m4/m4.m4 (AC_PROG_GNU_M4): Check for m4 --debugfile support. * bin/Makefile.am (edit): Substitute M4_DEBUGFILE. * bin/autom4te.in (handle_m4): Favor --debugfile over misnamed --error-output, to avoid warnings with M4 2.0. 2006-09-19 Stepan Kasal * lib/autoconf/libs.m4 (AH_CHECK_LIB): Fix quoting, to be consistent with _AH_CHECK_FUNCS and _AH_CHECK_HEADERS. * lib/autoconf/headers.m4 (AH_CHECK_HEADERS_DIRENT): Likewise. 2006-09-15 Stepan Kasal * lib/autoconf/functions.m4 (AC_FUNC_GETMNTENT): Eliminate the expansion of AC_CHECK_FUNCS. 2006-09-14 Stepan Kasal * lib/autoconf/general.m4 (AC_CONFIG_MACRO_DIR): Remove a mistaken comment: the path has to be relative; do not use the path at runtime. 2006-09-13 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Quote the argument to `--prefix' for sub-configure scripts. Pass `--silent' to sub-configure scripts. * tests/torture.at (Configuring subdirectories): Add tests for both changes. * doc/autoconf.texi (Setting Output Variables): Fix example to not show `--silent' being passed to a `configure' re-run. 2006-09-12 Paul Eggert * doc/autoconf.texi (Input): Clarify role of AC_CONFIG_MACRO_DIR. * lib/autoconf/general.m4 (AC_CONFIG_MACRO_DIR): Do not check for the existence of the directory at configure-time. That's too late, anyway. Problem reported by Stefan Seefeld. * lib/m4sugar/m4sh.m4 (_AS_TEST_PREPARE): Avoid bug in UnixWare 7.1.4 /usr/bin/posix/sh described by Tim Rice in . 2006-09-11 Stepan Kasal * tests/local.at (AT_CHECK_M4): Fix this so that the testsuite works with GNU M4 1.4.3 again; make the normalized form match the current m4 message; fix the description. * test/tools.at (autom4te cache): Adapt to the change. 2006-09-08 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_MKTIME): Add year_2050_test to catch glibc bug 2821 . Merge from gnulib as follows: Use AC_CHECK_HEADERS_ONCE instead of AC_CHECK_HEADERS, and likewise for AC_CHECK_FUNCS_ONCE and AC_CHECK_FUNCS. Don't check for stdlib.h, since we now assume C89. 2006-09-08 Stepan Kasal * lib/autom4te.in (Autoconf-without-aclocal-m4): Move the preselections ... (Autoconf): ... here. (Autoscan-preselections): Delete. 2006-09-07 Stepan Kasal * lib/autom4te.in (Automake-preselections): Preselect AM_ENABLE_MULTILIB. 2006-09-05 Paul Eggert * doc/autoconf.texi (Preset Output Variables): srcdir and top_srcdir are not necessarily relative. Problem reported by Dries Kimpe. 2006-09-05 Ralf Wildenhues * lib/autoconf/fortran.m4 (_AC_PROG_FC): Prefer xlf90/xlf95 over f90/f95 because the latter drivers of AIX Fortran 9.1 do not accept files with extension `.f'. For consistency, also prefer xlf over f77. * doc/autoconf.texi (Fortran Compiler): Remove mention of bug from last patch. 2006-09-05 Romain Lenglet * lib/autoconf/erlang.m4 (AC_ERLANG_CHECK_LIB): Added substitution of ERLANG_LIB_VER_* variables. * doc/autoconf.texi (Erlang Libraries): Document ERLANG_LIB_VER_* variables. 2006-09-03 Paul Eggert and Ralf Wildenhues * doc/autoconf.texi (Limitations of Builtins): Document 'unset' bugs of Bash 2.01 and 2.05a. (Fortran Compiler): Document that AC_PROG_CC should be called before AC_PROG_FC, due to a bug in Autoconf. 2006-09-01 Paul Eggert * NEWS: New macro AC_CACHE_CHECK_INT. It replaces the old AC_COMPUTE_INT, which now behaves like _AC_COMPUTE_INT except the first two arguments are reversed. * doc/autoconf.texi (Caching Results): New macro AC_CACHE_CHECK_INT. (Generic Compiler Characteristics): AC_COMPUTE_INT no longer caches nor outputs a diagnostic. Suggested by Bruno Haible. * lib/autoconf/general.m4 (AC_CACHE_CHECK_INT): New macro, equivalent to the old AC_COMPUTE_INT. (AC_COMPUTE_INT): No longer caches or reports. New signature. All uses changed to AC_CACHE_CHECK_INT. * tests/base.at (AC_CACHE_CHECK_INT): New test. * tests/mktests.sh (ac_exclude_list): Add AC_CACHE_CHECK_INT. 2006-08-31 Paul Eggert * NEWS: AC_FUNC_FNMATCH, AC_FUNC_FNMATCH_GNU, AC_FUNC_GETLOADVG, and AC_REPLACE_FNMATCH are now obsolescent in Autoconf. New programs should use their Gnulib counterparts. * doc/autoconf.texi (Particular Functions): Likewise. (Macro Names, testsuite Invocation): Replace uses of these obsolete macros with uses of non-obsolete macros. 2006-08-29 Eric Blake * configure.ac (AC_INIT): Bump to 2.60b. * NEWS: Update. 2006-08-28 Eric Blake * lib/autoconf/headers.m4 (AC_HEADER_STAT): Fix logic that was mistakenly swapped on 2006-08-15. 2006-08-25 Paul Eggert * NEWS: Version 2.60a. 2006-08-25 Stepan Kasal * lib/autoconf/general.m4 (_AC_LINK_IFELSE): Remove the IPA/IPO file created by the PGI compiler. 2006-08-25 Noah Misch * lib/Autom4te/General.pm (END): Use `File::Path::rmtree' to simplify the code. 2006-08-25 Paul Eggert Fix Lex library problem reported to us by Julio Garvia. * doc/autoconf.texi (Particular Programs): YYTEXT_POINTER is for the default, which the user can override. * lib/autoconf/programs.m4 (AC_PROG_LEX): Let _AC_PROG_LEX_YYTEXT_DECL deal with LEXLIB. (_AC_PROG_LEX_YYTEXT_DECL): Handle caching correctly; the old code didn't work if some values were cached but not others. Test for broken lex libraries like native ia64-hp-hpux11.22; see , and work around the problem by preferring an empty LEXLIB to -lfl or -ll. Let the user set LEXLIB='' to indicate no library needed. * NEWS: Recommend M4 1.4.6 instead of 1.4.5. * README: Likewise. * doc/autoconf.texi (Introduction, Why GNU M4): Likewise. 2006-08-24 Paul Eggert Rework to use more-modern build style. Many files are renamed; all uses of their names were changed. * .x-sc_trailing_blank: Renamed from .x-sc_trailing_space. * .x-sc_useless_cpp_parens: New file. * build-aux/config.guess: Renamed from config/config.guess. Update. * build-aux/config.sub: Renamed from config/config.sub. Update. * build-aux/elisp-comp: Renamed from config/elisp-comp. * build-aux/install-sh: Renamed from config/install-sh. Update. * build-aux/mdate-sh: Renamed from config/mdate-sh. * build-aux/missing: Renamed from config/missing. * build-aux/texinfo.tex: Renamed from config/texinfo.tex. Update. * build-aux/vc-list-files: Renamed from config/vc-list-files. * config/Makefile.am: Removed. * config/mkinstalldirs: Removed. * config/move-if-change: Removed. * m4/m4.m4: Renamed from config/m4.m4. Add (C) to copyright notice. * Makefile.am (SUBDIRS): Remove config. (ACLOCAL_AMFLAGS): Include from m4, not config. (EXTRA_DIST): Add config/announce-gen, config/prev-version.txt. (WGET, WGETFLAGS): New macros, since Makefile.maint no longer does this. (autom4te-update): Rewrite with a loop. Get from gnulib, not automake. Fail if there's an error. * Makefile.cfg (move_if_change): Remove. (wget_files): Remove. (cvs_executable_files): New macro. (cvs_files): Use it. Remove mkinstalldirs. Add fdl.texi. (executable-update): Use $(cvs_executable_files). (local-checks-to-skip): Remove. * Makefile.maint: Merge from coreutils, plus add our own changes (gzip_rsyncable): New macro. (GZIP_ENV): Use it. (CVS_LIST): Use build-aux/vc-list-files. (VERSION_REGEXP): New macro. (local-checks-available): Add patch-check, $(syntax-check-rules), check-AUTHORS. (syntax-check-rules): Compute dynamically. (sc_cast_of_x_alloc_return_value): Work even if no source files. (sc_cast_of_alloca_return_value): Likewise. (sc_prohibit_atoi_atof): Simplify regexp. (sc_no_if_have_config_h, sc_require_config_h): (sc_prohibit_assert_without_use, (sc_obsolete_symbols): Check for O_NDELAY. (sc_texi_notab): Remove. (sc-changelog): Don't make an exception for '----' lines. (.re-list): Remove, so we don't have a junk file behind. (sc_system_h_headers): Remove the need for .re-list. (sc_the_the): New rule. (sc_tight_scope): Simplify. (sc_trailing_blank): Renamed from sc_trailing_space. (longopt_re): New macro. (sc_two_space_separator_in_usage): New rule. (sc_unmarked_diagnostics): Look at all files under CVS. (sc_useless_cpp_parens, patch-check, check-AUTHORS): New rules. (news-date-check, changelog-check): Version is OK. (po-check): Look for lib files even if not in CVS. (copyright-check): Use $() not ``. (maintainer-distcheck): Do not depend on changelog-check. (my-distcheck): Depend on $(release_archive_dir)/$(prev-tgz). Also check for -Wpointer-arith. (WGET, WGETFLAGS, tgz-md5, tgz-sha1, bz2-md5, bz2-sha1): (xdelta-md5, xdelta-sha1, tgz-size, bz2-size, xd-size, rel-check): Remove. (announcement): Add --gpg-key-id arg. (cvs-sv): Remove. (move_if_change): Just use mv. (local_updates: Remove wget-update, po-update. (po_repo, do-po-update, po-update, wget_files, get-targets): Remove. (config.guess-url_prefix, config.sub-url_prefix): Remove. (ansi2knr.c-url_prefix, texinfo.tex-url_prefix): (standards.texi-url_prefix, make-stds.texi-url_prefix, target, url): ($(get-targets)): Remove. (cvs_files): Remove missing, mkinstalldirs, ansi2knr.c. (gnulib_repo): Renamed from automake_repo. Get from gnulib now. (cvs-update): Get from gnulib. (emut_upload_commands): gnupload is in build-aux now. (alpha beta major): Add changelog-check. Check version. * configure.ac (AC_CONFIG_AUX_DIR): Renamed from config to build-aux. (AC_CONFIG_FILES): Remove. * bin/autoconf.as: Add spaces to avoid distcheck warning. * config/announce-gen: Sync from coreutils. * doc/make-stds.texi: Sync from gnulib. * doc/standards.texi: Likewise. * man/Makefile.am: Adjust for config -> build-aux renaming. * tests/Makefile.am: Prefer $(FOO) to @FOO@. * tests/local.at: Adjust from config -> build-aux renaming. * tests/tools.at: Likewise. * tests/torture.at: Likewise. * NEWS: The C99 check now tests for vararg macros and 64-bit preprocessor ints. * doc/autoconf.texi (C Compiler): Document // comments, va_copy. * lib/autoconf/c.m4 (_AC_PROG_CC_C99): Test varargs macros and 64-bit preprocessor ints. Check for static initialization of long long. Remove unnecessary casts. 2006-08-24 Ralf Wildenhues * doc/autoconf.texi (Particular Programs): Mention that @INSTALL@ and @MKDIR_P@ may vary for different output files. Reported by Alexandre Duret-Lutz. 2006-08-24 Paul Eggert * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Also ignore -lgcc?* and -lSystem, for Darwin/MacOS X. Problem reported by Bill Northcott in . 2006-08-22 Paul Eggert * lib/autoconf/c.m4 (AC_C_CONST): Don't used shadowed vars, to pacify insanely picky compilers. Problem reported by Eric Blake. * doc/autoconf.texi (Posix Variants): INTERACTIVE Unix is no longer supported by Sun. 2006-08-15 Paul Eggert * NEWS: Autoconf now uses constructs like "#ifdef HAVE_STDLIB_H" rather than "#if HAVE_STDLIB_H", so that it now works with "gcc -Wundef -Werror". Problem reported by David Fang in . * doc/autoconf.texi (Header Templates, Default Includes): (Particular Functions, Generic Functions, Header Portability): (Particular Headers, Generic Headers, Generic Declarations, Guidelines): (Obsolete Macros, AC_FOO_IFELSE vs AC_TRY_FOO): (Present But Cannot Be Compiled, Preprocessor Symbol Index): Prefer #ifdef to #if. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Prefer #ifdef to #if. * lib/autoconf/functions.m4 (AC_FUNC_ALLOCA, _AC_FUNC_MALLOC_IF): (AC_FUNC_MKTIME, AC_FUNC_MMAP, _AC_FUNC_REALLOC_IF): (AC_FUNC_SELECT_ARGTYPES, AC_FUNC_SETVBUF_REVERSED, _AC_FUNC_VFORK): Likewise. * lib/autoconf/headers.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): (AC_HEADER_RESOLV, AC_HEADER_STAT): Likewise. * lib/autoconf/specific.m4 (AC_DECL_SYS_SYGLIST): (AC_SYS_RESTARTABLE_SYSCALLS): Likewise. * lib/autoconf/headers.m4 (AC_HEADER_STAT): Don't assume that S_ISDIR etc. are valid for use in #if; POSIX doesn't guarantee this. 2006-08-14 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Document sed problems with arg script text that doesn't end in newline, and with '-e a...'. Problems reported by Ralf Wildenhues. 2006-08-12 Alexandre Julliard (tiny change) * lib/autoconf/libs.m4 (AC_PATH_X_DIRECT): Replace another check for libXt by a check for libX11. 2006-08-10 Ralf Wildenhues * doc/autoconf.texi (config.status Invocation): Adjust according to last change. 2006-08-08 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): `config.status --help' should mention that `--version' outputs configuration settings. Report by Bruno Haible. 2006-08-06 Paul Eggert Fix test suite failures reported by Pierre in . * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Don't claim the compiler created a file "b.out" when it didn't create anything at all. * lib/autoconf/specific.m4 (AC_SYS_INTERPRETER): Discard stderr too, when invoking the test script. 2006-08-05 Alexandre Julliard (tiny change) * lib/autoconf/libs.m4 (AC_PATH_XTRA): Fixed a typo in the restoring of the werror flag. 2006-07-24 Paul Eggert * doc/autoconf.texi (Volatile Objects): Be even a little less skeptical about "volatile", after discussion with Bruno Haible on bug-gnulib. (Limitations of Usual Tools): Warn about sed stripping leading white space from text. From Bruno Haible. 2006-07-20 Paul Eggert * lib/autoconf/libs.m4 (AC_PATH_XTRA): Don't use -R if the compiler complains about it, even if things works after the complaint. Problem reported by Peter O'Gorman. * doc/autoconf.texi (Preset Output Variables): Document CFLAGS, CPPFLAGS, and LDFLAGS better. Problem reported by Bruno Haible. Similarly for CXXFLAGS, OBJCFLAGS, ERLCFLAGS. 2006-07-17 Paul Eggert * lib/autoconf/libs.m4 (AC_PATH_XTRA): Do the check for space after -R regardless of host. Patrick Welche reports that this fixes things on NetBSD 3.99. * NEWS: Recommend M4 1.4.5. * README: Likewise. * doc/autoconf.texi (Introduction, Why GNU M4): Likewise. * tests/tools.at (autom4te cache): Update wording of diagnostic to match M4 1.4.5. 2006-07-07 Paul Eggert * doc/autoconf.texi (C Compiler): Add a ref to Volatile Objects under AC_C_VOLATILE. (Volatile Objects): Be a little less skeptical about what "volatile" means. Derived from thoughts by Ben Pfaff in . 2006-07-07 Ralf Wildenhues * doc/autoconf.texi: Fix some typos. 2006-07-07 Paul Eggert * tests/torture.at (Configuring subdirectories): Set CONFIG_SITE more globally, since the 2006-06-30 patch didn't suffice. Problem reported by Keith Marshall. Also, don't bother with builddir2, since it shouldn't be needed any more. 2006-07-07 Paolo Bonzini * doc/autoconf.texi (Generic compiler characteristics): Document AC_COMPUTE_INT. Fix wrong statements on Default Includes for AC_CHECK_SIZEOF and AC_CHECK_ALIGNOF. * lib/autoconf/general.m4 (AC_COMPUTE_INT): New. (_AC_COMPUTE_INT): Add obsoletion warnings. * lib/autoconf/types.m4 (AC_CHECK_SIZEOF, AC_CHECK_ALIGNOF): Use AC_COMPUTE_INT. * NEWS: Document change. 2006-07-05 Paul Eggert * doc/autoconf.texi (Volatile Objects): New section. * NEWS: Document previous change. 2006-07-02 Paul Eggert * lib/autoconf/types.m4 (AC_TYPE_LONG_LONG_INT): Require that long long int be at least 64 bits wide. C99 requires this and enough programs depend on it so we should check for it. Bruno Haible reports in that long long int is 32 bits wide with some nonstandard compilers. (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise. 2006-06-30 Paul Eggert * tests/torture.at (Configuring subdirectories): Set CONFIG_SITE to a nonexistent file, so that we don't have to worry about a local site configuration that doesn't use /usr/local. Problem reported by Keith Marshall in . 2006-06-28 Paul Eggert * doc/autoconf.texi: Be more consistent about using @acronym with "HP" and "HP-UX". Remove mention of OSF; the old version wasn't quite right (it talked about "OSF/Tru64", even though the operating systems were called OSF/1, Digital UNIX, and Tru64 UNIX, and it even mentioned "OSF 4"!) and at this point there's little reason to talk about OSF any more, since it died in 1994. (Specific Compiler Characteristics): Simplify example of negative-size array. (File Descriptors): Reorder to make the text flow better. Remove joke about "appreciate the various levels"; I didn't get it. Add remark about HP-UX sh -x bug with stderr noted by Bob Proulx in . (File Descriptors, Limitations of Usual Tools): Tone down the advice against renaming or removing open files. (Limitations of Usual Tools): Add a new section, on 'rm'. 2006-06-26 Stepan Kasal * lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT): Use -lX11, not -lXt in LIBS, idea from Karsten Hopp; this was due since this change: 2005-09-18 Paul Eggert * lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT): Look for X11/Xlib.h and XrmInitialize rather than X11/Intrinsic.h and XtMalloc (which belong to Xt, not X itself). See Debian bug 327655. 2006-06-23 Ralf Wildenhues * configure.ac (AC_INIT): Bump to 2.60a. * NEWS: Update. 2006-06-23 Ralf Wildenhues Version 2.60. * configure.ac, NEWS: Update. 2006-06-23 Ralf Wildenhues * config/texinfo.tex: Sync from upstream. * bin/autom4te.in (handle_traces): Transform the `@S|@' quadrigraph correctly in traces. * NEWS, lib/Autom4te/C4che.pm, lib/autoconf/functions.m4: Fix typos. * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): Expand tests for datarootdir-related errors only if AC_DATAROOTDIR_CHECKED is not defined. * doc/autoconf.texi (Changed Directory Variables): New node, to document the whole `datarootdir' business a bit better. * NEWS: Update. * tests/torture.at (datarootdir workaround): Extend test. Prompted by report by Alexandre Julliard. 2006-06-22 Paul Eggert * lib/autoconf/c.m4 (_AC_PROG_CC_C89): Check for C89 incompatibility when using default mode of IBM C 6 for AIX. Problem and two-line fix reported by Larry Jones. 2006-06-22 Alexandre Julliard * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): Avoid warning about literal '${datarootdir}' if a definition is found in the output file. 2006-06-20 Paul Eggert * NEWS: Use "M4" rather than "m4" when appropriate. Problem reported by Eric Blake. * doc/autoconf.texi: Likewise. Use @acronym around BSD, GCC, and GNU when appropriate. (Why GNU M4): Renamed from "Why GNU m4". (Redefined M4 Macros): Mention that Posix m4wrap takes only 1 argument, but GNU M4 1.4.x takes more. (Buffer Overruns): Mention size_t and ptrdiff_t as alternatives to int. 2006-06-20 Ralf Wildenhues * bin/autom4te.in (handle_output): Do not forbid the empty pattern. * tests/tools.at (autoconf: the empty token): New test. 2006-06-20 Stepan Kasal * lib/m4sugar/m4sugar.m4 (m4_init): Merge the two m4_wrap calls, so that we do not care whether they are LIFO or FIFO; in the m4_wrap, do not check which diversion is the topmost one, just check that the stack is balanced at the end. * lib/m4sugar/m4sh.m4 (AS_INIT): We are going to change the base diversion forever--pop the previous diversion before opening the new one; consequently, remove the m4_wrap call. * lib/autotest/general.m4 (AT_INIT): Likewise. * tests/m4sugar.at: Do not use m4_wrap([m4_diversion_pop([..])]), for educational purposes. 2006-06-19 Paul Eggert and Ralf Wildenhues * NEWS: Document that m4wrap/m4_wrap might not be LIFO. * doc/autoconf.texi (Redefined M4 Macros): Likewise. Rework example of m4wrap token-pasting trouble so that it doesn't care whether it's LIFO or FIFO. Fix some "contrary to"s that are awkward in English. 2006-06-19 Ralf Wildenhues * lib/autoconf/types.m4 (_AC_TYPE_INT): Set `$ac_cv_c_int$1_t' to `yes' instead of `int$1_t' if the type is found, for more consistent configure output (where $1 is the number of bits). (_AC_TYPE_UINT): Likewise for `uint$1_t'. Suggested by Bruno Haible. * lib/autoconf/types.m4 (_AC_TYPE_UNSIGNED_INT): Solaris 2.5.1 needs _UINT8_T and _UINT64_T defines as well, to avoid clashes with system headers. Report by Bruno Haible. 2006-06-17 Ralf Wildenhues * config/config.guess, config/config.sub: Sync from upstream. * bin/Makefile.am (autoconf.in): Use `--melt' for autom4te, in order to avoid picking up an older installed frozen m4sh.m4f. Besides an outdated shell startup, this could have been created by an earlier M4 version with incompatible frozen file format. 2006-06-16 Paul Eggert * README: Recommend m4 1.4.4 instead of 1.4.3.. * doc/autoconf.texi: Likewise. (Special Chars in Names): Say that $(.FOO) is portable, as suggested by Stepan Kasal. (Installation Directory Variables, Build Directories): (Automatic Remaking, Subdirectories, Fortran Compiler): (Making testsuite Scripts, Defining Directories): Quote variable usages better. (Making testsuite Scripts): Add clean-local rule to makefile snippet, by Eric Blake. (Installation Directory Variables): Fix table item font. Reword slightly to clarify. Generalize advice about not using special characters to include all file-related vars, not just VPATH. (Special Chars in Variables): Warn about special characters in $(srcdir) too. (Assignments): Clarify default-value example as suggested by Ralf Wildenhues in . (Special Shell Variables): Note leading ./ or ../, as suggested by Eric Blake. (Limitations of Builtins): Under cd, warn about CDPATH. (The Make Macro MAKEFLAGS): Untabify. Problem reported by Ralf Wildenhues. 2006-06-15 Ralf Wildenhues * doc/autoconf.texi (Configuration Actions): Remove duplicate `@var', for texi2html. (Systemology): Some more word wrapping, for DVI output. (autom4te Invocation): The short option for `--melt' is `-M', not `-m'. 2006-06-15 Paul Eggert * doc/autoconf.texi: More formatting and English tweaks, many suggested by Ralf Wildenhues. Reword to avoid "@code{...}'s" and the like, since it's ugly with Emacs info mode. discontents -> woes. Put a few "will"s back. time stamp -> timestamp. side-effect -> side effect. 2006-06-14 Paul Eggert * doc/autoconf.texi (Initializing configure, Shell Substitutions): Warn about $@ not persisting. Problem reported by Julien Danjou in . (Special Chars in Names): Renamed from Leading _ in Macro Names. Mention other special chars, too. 2006-06-14 Eric Blake * doc/autoconf.texi (The Make Macro MAKEFLAGS): New node. 2006-06-13 Paul Eggert * doc/autoconf.texi: Some systematic minor improvements, as follows. Use "makefile" when talking about makefiles generally (which might be named "makefile" or "Makefile" or even "foo.mk"), "Makefile" when talking about a specific makefile called "Makefile". This unclutters the text from weird quotes (e.g., "`Makefile's" in info mode). Similarly, use "@var{foo} values" rather than "@var{foo}s" and similar constructs containing "}s". Use "Make rules" rather than "Makefile rules". Minor English-language improvements. Change the prefix "sub-" to "sub" and "re-" to "re". Put blank lines around examples more consistently. Avoid "rather" and "very" as intensifiers. Avoid "will" as an auxiliary. (Limitations of Make): Split this node into.... (Portable Make, $< in Ordinary Make Rules, Failure in Make Rules): (Leading _ in Macro Names, Backslash-Newline-Newline): (Backslash-Newline Comments, Long Lines in Makefiles): (Macros and Submakes, The Make Macro SHELL, Comments in Make Rules): (obj/ and Make, make -k Status, VPATH and Make): (VPATH and Double-colon, $< in Explicit Rules): (Automatic Rule Rewriting, OSF/Tru64 Directory Magic): (Make Target Lookup, Single Suffix Rules, Timestamps and Make): New nodes, resulting from splitup of Limitations of Make. All cross-references changed. Raise the top node from a section to a chapter, and all subnodes accordingly. Redo the introductory wording to match the new organization. (Installation Directory Variables): Use an example that is closer to what Autoconf actually does. Mention that VPATH's value should not contain metacharacters or white space. (Fortran Compiler): Fix a VPATH bug in an example. (Leading _ in Macro Names): Mention that this problem is no longer of practical concern. (VPATH and Make): Reword the advice to make it clearer that Autoconf and Automake support VPATH in non-GNU make, but many packages have bugs in this area. ($< in Explicit Rules): Refer to Build Directories rather than using a (non-VPATH-safe) example. (Automatic Rule Rewriting): Mention the sort of disaster that can ensue with Solaris-style rule rewriting with VPATH. 2006-06-13 Ralf Wildenhues * doc/install.texi (Compilers and Options): Weaken the suggestion to use GNU make for VPATH builds. * lib/autom4te.in (Automake-preselections): Add AM_PROG_CXX_C_O, AM_PROG_F77_C_O, AM_PROG_FC_C_O, AC_FC_SRCEXT, AC_FC_FREEFORM. * lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): Fix M4 quotation in regular expression. 2006-06-08 Ralf Wildenhues * doc/autoconf.texi (Installation Directory Variables): Drop extra @samp from `@table @samp' item. (Limitations of Usual Tools): Comment fix. Do not nest @samp just to point to other table items. (Writing testsuite.at) : The second argument to `@dvar' is already @samp'ed. (Making testsuite Scripts) : Likewise, do not use @var in the second argument. 2006-06-07 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Look for $as_shell.exe too. Problem reported by Andreas Buening in . 2006-06-07 Ralf Wildenhues * lib/autoconf/functions.m4 (AC_FUNC_ALLOCA): Work around `unused variable' compiler warning, for `-Wall -Werror'. Reported by Jaap Haitsma in . 2006-06-06 Paul Eggert * lib/autoconf/c.m4 (AC_PROG_CC_C_O): Remove core file, in case the compiler dumps core. Problem reported for OpenServer 5.0.7 by Tim Rice in . * lib/autoconf/general.m4 (_AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Likewise. 2006-06-06 Tim Rice . * lib/freeze.mk: Quiet check-forbidden-patterns so the string "ERROR" only shows up in "make check" output if there is an error. 2006-06-06 Eric Blake * tests/tools.at (automatically allowed tokens): Fix typo. 2006-06-05 Paul Eggert * NEWS: Don't blame non-GNU VPATH compatibility issues on Automake. * doc/autoconf.texi (Integer Overflow): Mention that INT_MIN % -1 typically overflows on x86 CPUs, even though the C standard requires otherwise. 2006-06-05 Ralf Wildenhues * configure.ac (AC_INIT): Bump to 2.59e. * NEWS: Update. 2006-06-05 Ralf Wildenhues Version 2.59d. * config/texinfo.tex: Sync from upstream. * bin/autoreconf.in: Trace `LT_CONFIG_LTDL_DIR'; if it has been seen, invoke libtoolize with `--ltdl' argument. * lib/autom4te.in (Autoreconf-preselections): Adjust. * NEWS: Update. Suggested by Eric Blake. 2006-06-05 Paul Eggert * NEWS: Whoops! AC_FUNC_STRNLEN isn't obsolescent. Problem reported by Ralf Wildenhues. * doc/autoconf.texi (AC_FUNC_STRNLEN): Likewise. 2006-06-05 Ralf Wildenhues * THANKS: Update. 2006-06-05 Paul Eggert * doc/autoconf.texi: Modernize some of the references to Solaris. 2006-06-05 Stepan Kasal * lib/m4sugar/m4sugar.m4 (m4_require): Modify the error message issued by AC_REQUIRE. * tests/m4sugar.at: Check m4_require's error message. * tests/base.at: Check AC_REQUIRE's error message. * tests/local.at (AT_CHECK_M4): New macro, almost identical to... (AT_CHECK_AUTOM4TE): ... which is now a thin wrapper around AT_CHECK_M4. (AT_CHECK_AUTOCONF): Use AT_CHECK_M4; no longer support `expout' as the last parameter. * tests/tools.at: Adapt to the above change. 2006-06-04 Stepan Kasal * doc/autoconf.texi (Limitations of Usual Tools): Correct information about race-free implementations of mkdir. 2006-06-04 Eric Blake * bin/autoreconf.in (help): Document M4 environment variable. * bin/autoconf.as (Usage): Likewise. * bin/autom4te.in (help): Likewise. * doc/autoconf.texi (autom4te Invocation): Likewise. 2006-06-04 Paul Eggert * NEWS: GNU make now recommended for VPATH builds. Mention that some macros are now documented to be obsolescent. * doc/autoconf.texi: Prefer "current" to "modern" to describe currently-used (albeit perhaps old-fashioned) hosts. Mention which ancient features no longer need to be worried about. setgid -> set-group-ID setuid -> set-user-ID (these are the Posix terms) Fix some misuses of "only". (AC_C_BACKSLASH_A, AC_C_CONST, AC_C_PROTOTYPES): (AC_C_STRINGIZE, AC_C_VOLATILE, AC_FUNC_CLOSEDIR_VOID): (AC_FUNC_GETPGRP, AC_FUNC_LSTAT, AC_FUNC_MEMCMP): (AC_FUNC_SELECT_ARGTYPES, AC_FUNC_SETPGRP): (AC_FUNC_SETVBUF_REVERSED, AC_FUNC_STAT, AC_FUNC_STRFTIME): (AC_FUNC_STRNLEN, AC_FUNC_UTIME_NULL, AC_FUNC_VPRINTF): (AC_HEADER_DIRENT, AC_HEADER_STAT, AC_HEADER_STDC): (AC_HEADER_SYS_WAIT, AC_HEADER_TIME, AC_ISC_POSIX): (AC_PROG_GCC_TRADITIONAL, AC_STRUCT_TM): Mention that these macros are obsolescent. (Installation Directory Variables): shall -> should (File Descriptors): Mention that 0, 1, 2 might get reopened. Mention that it's now safe to use 3 and 4. (Limitations of Usual Tools): cp -r is now specified by Posix. Omit longwinded and obsolescent discussion of cp -f. Modernize discussion of expr, ls. (Limitations of Make): Modernize discussion of VPATH builds. Mention $? as a workaround in some cases. * doc/install.texi (Basic Installation): Mention "./configure; make; make install" first. Be more specific about why this file is generic. Remove unnecessary parens. Remove misleading "only". Remove obsolete advice about csh. Don't say "configure" takes awhile; say it might take a while. Suggest CFLAGS=-g rather than CFLAGS=-O2, and CC=c99 rather than CC=c89, as these are blessed by current Posix. Recommend GNU make if doing a VPATH build. 2006-06-03 Paul Eggert * doc/autoconf.texi: Use a consistent style "$ @kbd{...}" for examples involving shell prompts. 2006-06-02 Stepan Kasal and Paul Eggert * doc/autoconf.texi (Here-Documents): Add details about the pre-ksh93g bug. Reword slightly to make it clearer. Consistently use "here-documents" instead of "here documents". 2006-06-01 Ralf Wildenhues * config/texinfo.tex, doc/standards.texi: Sync from upstream. 2006-06-01 Paul Eggert * doc/autoconf.texi (File System Conventions): Warn about ":" anywhere in directory names. 2006-05-31 Paul Eggert * lib/autoconf/general.m4 (_AC_DO_ECHO): Be even more conservative about quoting the case statement, just in case. * doc/autoconf.texi (Here-Documents): Mention that the ksh bug was fixed in ksh93g; reported by Ralf Wildenhues. 2006-05-31 Stepan Kasal * doc/autoconf.texi (System Services): Do not document overriding EXEEXT via ac_cv_exeext=ext. (Particular Programs) : Document that ${MKDIR_P} understands --. * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Improve the comment. 2006-05-31 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_DIRNAME_PREPARE): Guard against test argument with leading hyphen. Problem reported by Paul Eggert. 2006-05-30 Paul Eggert * lib/autoconf/general.m4 (_AC_DO_ECHO): Be more conservative about quoting ac_try: quote all of it, if any of it seems suspicious. This means we don't have to worry about ${ or sed any more. Also, double-quote the case statement, to work around misuses via underquoting as reported by Ralf Wildenhues in . (_AC_EVAL_STDERR): Revert, since evidently some packages rely on this undocumented and dangerous macro. Problem reported by Ralf Wildenhues in . 2006-05-31 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_DIRNAME_PREPARE): Check whether `dirname -- /' returns `/', for SunOS dirname scripts that escaped. Report by Sam Sirlin . 2006-05-30 Paul Eggert * lib/autoconf/general.m4: Revert AC_TRY_EVAL and AC_TRY_COMMAND, since evidently some packages rely on the old, broken behavior. Problem reported by Ralf Wildenhues in . (AC_TRY_EVAL, AC_TRY_COMMAND, _AC_EVAL): Go back to the pre-2006-05-26 definitions, but leave in the comments that these macros are dangerous and should not be used. (_AC_DO_ECHO): Renamed from _AC_EVAL_ECHO. All callers changed. (_AC_DO): Renamed from _AC_EVAL. All callers changed. (_AC_DO_STDERR): Renamed from _AC_EVAL_STDERR. All callers changed. (_AC_DO_VAR): Renamed from AC_TRY_EVAL. (_AC_DO_TOKENS): Renamed from AC_TRY_COMMAND. 2006-05-29 Paul Eggert * lib/autoconf/status.m4 (AC_OUTPUT_MAKE_DEFS): Rewrite to avoid the use of 'tr', since this is our only use of 'tr'. 2006-05-29 Ralf Wildenhues and Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Don't assume 'grep' works on long lines, since AIX grep doesn't. 2005-05-28 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): Do not use `grep' on the output file in the `${datarootdir}' test. 2005-05-28 Stepan Kasal and Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): If we have not seen mention of `datarootdir' in the input file(s), but literal `${datarootdir}' in the output file, and we haven't warned yet, then warn as well: the user may have (erroneously) used `AC_SUBST([mydatadir], [$datadir/my])' instead of the correct `AC_SUBST([mydatadir], ['${datadir}/my'])'. * tests/torture.at (datarootdir workaround): Extend this test. * NEWS: Update. 2006-05-27 Ralf Wildenhues and Paul Eggert * doc/autoconf.texi (autoheader Invocation): The first argument to `AC_DEFINE_UNQUOTED' need not be a literal. Mention the alternatives and clear up the language a bit. 2006-05-27 Paul Eggert * NEWS: Reword notice for AC_TRY_COMMAND, AC_TRY_EVAL, ac_config_guess, ac_config_sub, ac_configure. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Fix typo that prevented an unnecessary space from being removed. Problems reported by Ralf Wildenhues in: http://lists.gnu.org/archive/html/autoconf-patches/2006-05/msg00143.html 2006-05-26 Paul Eggert * doc/autoconf.texi (Particular Programs, Limitations of Usual Tools): Use better wording to talk about AC_PROG_MKDIR_P's thread-safety. Don't use the term "thread-safe" to talk about mkdir race conditions, since the problem is more a process than a thread issue. Problem reported by Stepan Kasal in: http://lists.gnu.org/archive/html/autoconf-patches/2006-05/msg00088.html * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Use code that mimics the test for 'install' more closely. Look at MKDIR_P first. Look in the PATH, and at /opt/sfw/bin. Look for a 'gmkdir' program as well (Solaris 10 /opt/sfw/bin/gmkdir). Don't bother to try mkdir -p, since we already check mkdir --version; just look at the version number. (There's no easy way to check for race-free implementations.) * tests/tools.at (autoconf: subdirectories): Adjust to above changes, since MKDIR_P now might end in "/mkdir -p". * doc/autoconf.texi (autoheader Invocation): Mention that the first arg of AC_DEFINE_UNQUOTED must be a literal. Problem reported by Ben Pfaff in . * NEWS: Mention that AC_TRY_COMMAND and AC_TRY_EVAL may be removed. * doc/autoconf.texi (Special Chars in Variables): New section. (Preset Output Variables): Warn about special chars in CPPFLAGS. (Installation Directory Variables): Quote $(datadir) better. (Limitations of Builtins): Describe some of eval's trickiness. * lib/autoconf/c.m4 (AC_PROG_CC_C_O): Simplify quoting. * lib/autoconf/fortram.m4 (_AC_PROG_FC_V_OUTPUT): Likewise. * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Put leading space in front of every arg, not just trailing args. Quote apostrophes. (_AC_EVAL_ECHO): New macro. (_AC_EVAL, AC_EVAL_STDERR): Use it. Quote arg of eval. (AC_TRY_EVAL, AC_TRY_COMMAND): Mention that these macros might get removed. (_AC_LINK_IFELSE): Use proper rule for shell continuation lines, exposed by quoting of eval argument. Put the command on line line so it logs better. * lib/autoconf/libs.m4 (_AC_PATH_X_XMKMF): Use eval more safely. (_AC_PATH_X, AC_PATH_X): Quote more safely. * lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): Use eval more safely. * lib/autoconf/specific.m4 (AC_SYS_LONG_FILE_NAMES): Don't use eval. * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Minor style change. Handle special chars in prefix, ac_srcdir, ac_aux_dir. Use eval more safely. (_AC_OUTPUT_CONFIG_STATUS): Adjust to above changes. * lib/m4sugar/m4sh.m4 (AS_VAR_GET): Note that this API needs to be replaced. * tests/base.at (AC_TRY_COMMAND): Use proper rule for shell continuation lines, exposed by quoting of eval argument. 2006-05-26 Stepan Kasal and Ralf Wildenhues * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Drop the initialization of `ac_cv_exeext', do not override it if it was already set, unless it was set to `no', for compatibility with Autoconf-2.13, and comment this. Do not export `ac_cv_exeext', Libtool hasn't needed this for years. (_AC_COMPILER_EXEEXT_DEFAULT): Likewise, do not export it. (_AC_COMPILER_EXEEXT_WORKS, _AC_COMPILER_EXEEXT_CROSS): Typos. * doc/autoconf.texi (Compilers and Preprocessors) : Document that this test may be overridden by setting `ac_cv_exeext'. 2006-05-26 Ralf Wildenhues Revert these two patches: 2006-04-06 Eric Blake * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_O): Inside cache check, s/ac_exeext/ac_cv_exeext/. Fixes regression introduced 2006-04-01. 2006-04-01 Stepan Kasal Clean up _AC_COMPILER_EXEEXT* macros. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Don't try to detect exeext, it will be done by _AC_COMPILER_EXEEXT_O; just set ac_file to the name of the default output file and call _AC_COMPILER_EXEEXT_WORKS. Move the definition of ac_files and the initial `rm' of the candidate files... (_AC_COMPILER_EXEEXT): ... here and simplify them. Moreover, use the same list in subsequent `rm' calls, and for the temporary redefinition of ac_clean_files; call _AC_COMPILER_OBJEXT at the end, and don't call the other _AC_COMPILER_EXEEXT_* macros directly, use... (_AC_COMPILER_EXEEXT_TESTS): ... this new macro. (_AC_COMPILER_EXEEXT_O): Don't export ac_cv_exeext, it's not needed (or no longer needed) by libtool. Make it a cache check. (_AC_COMPILER_EXEEXT_CROSS): Remove the comment, it was obviously copied here by mistake. (AC_NO_EXECUTABLES): Redefine _AC_COMPILER_EXEEXT_TESTS, not _AC_COMPILER_EXEEXT. * lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC): Do not call _AC_COMPILER_OBJEXT directly. * lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise. 2006-05-25 Ralf Wildenhues * doc/autoconf.texi (Limitations of Usual Tools) < sed (`t')>: Fix description of how the buggy `sed' works. 2006-05-25 Noah Misch Sync from Automake: * lib/Autom4te/XFile.pm (lock): Allow EOPNOTSUPP, besides ENOLCK. Only mention `make -j' when applicable. Only raise fatal errors when `make -j' is involved. Improve error message. 2006-05-25 Ralf Wildenhues * doc/autoconf.texi (Here-Documents): We now know more about the variable expansion in here documents bug. Thanks to Tim Rice and Stepan Kasal. * doc/autoconf.texi (Making testsuite Scripts): Add an example how to use TESTSUITEFLAGS. Suggested by Eric Blake. 2006-05-24 Ralf Wildenhues * tests/autotest.at (Multiline command from M4 expansion): No failure to be expected if the shell quotes newlines in commands in the `set -x' output. Report by Tim Rice. * THANKS: Update. 2006-05-23 Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_HEADER): Don't use shell expansion in the here-documents used by config.status, as that runs afoul of the Korn shell version M-12/28/93d bug described in the Autoconf manual, and this in turn causes a Coreutils 5.95 build to fail as described by Tim Rice and diagnosed by Ralf Wildenhues in . 2006-05-23 Jim Meyering * lib/autoconf/functions.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Fix typo introduced with 2006-04-02 change. It reversed the sense of the test. 2006-05-23 Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_HEADER): Simplify ac_dA and ac_dB slightly, to save bytes in the script. Max out at 50 lines, rather than 96; this is more likely (though not guaranteed) to avoid obscure 'sed' failures. 2006-05-23 Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT): UnixWare `tr' may interpret `tr -d -' as bad option argument. Work around this by deleting an unrelated character. Report by Tim Rice . 2006-05-22 Paul Eggert , Ralf Wildenhues , Stepan Kasal * doc/autoconf.texi (Particular Programs): Do not promise that we always prefer the GNU version of the program, and that we search according to PATH; both rules can have exceptions. Update description of AC_PROG_GREP, AC_PROG_EGREP, AC_PROG_FGREP, AC_PROG_SED. Move descriptions of limitations to the Limitations of Usual Tools section. (Limitations of Usual Tools) : Mention script length limitations with Solaris /usr/ucb/sed. : Fix wording for empty alternative. Mention that -c and -l should not be combined, and that -E and -F should not be combined. 2006-05-21 Paul Eggert and Ralf Wildenhues * lib/autoconf/programs.m4 (AC_PROG_SED): Catch script length limits in Solaris 8 /usr/ucb/sed by testing a long script. 2006-05-22 Stepan Kasal * doc/autoconf.texi (Defining Symbols): Literal parameter of AC_DEFINE is now passed to m4_pattern_allow. * NEWS: Mention that; likewise for AC_SUBST. * lib/autoconf/general.m4 (AC_DEFINE_TRACE_LITERAL): Pass the parameter to m4_pattern_allow. * tests/tools.at: Add a check for that. 2006-05-22 Stepan Kasal * lib/autoconf/status.m4: Fix typos. 2006-05-21 Ralf Wildenhues * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): Remove only the files that this macro generates. 2006-05-21 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools) : For the HP-UX sed limitation of 99 commands, labels do not count. * lib/autoconf/status.m4 (_AC_SED_CMD_LIMIT): Mention that in the comment. (_AC_OUTPUT_HEADER): Revert the change from 2006-05-19. 2006-05-21 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_GETMNTENT): Import the following fix from coreutils: 2006-01-13 Jim Meyering Invoke AC_CHECK_FUNCS(getmntent) unconditionally so that tests of $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not double-quote uses of that variable, to accommodate the rare case in which getmntent is available in none of the libraries checked. This happens at least on FreeBSD 5.0. 2006-05-20 Paul Eggert * lib/autoconf/general.m4 (AC_CONFIG_AUX_DIRS): Bring back ac_config_guess, ac_config_sub, and ac_configure, since evidently some other programs unwisely rely on these undocumented vars. But put in warning comments about them. Problem reported by Ralf Wildenhues in . * NEWS: Document that these variables are intended to go away. 2006-05-20 Ralf Wildenhues * lib/autoconf/c.m4 (AC_PROG_CXX_C_O): Require AC_PROG_CXX, and set the language to C++ (analogous to the equivalent Fortran tests). * lib/autoconf/c.m4 (AC_PROG_CXX_C_O): New macro. * doc/autoconf.texi (C++ Compiler): Document it. * lib/autoconf/fortran.m4 (_AC_PROG_FC_C_O): Adjust comment. * NEWS: Update. 2006-05-19 Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_HEADER): Fix off-by-one bug that caused config.status to generate 100-command sed scripts; the portable limit is 99. 2006-05-19 Ralf Wildenhues * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): Name temporary variable `ac_d' instead of `d' to avoid infringing namespace. Report by Ralf Menzel. 2006-05-18 Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): Don't prepend $ac_top_build_prefix to $MKDIR_P if it's just 'mkdir -p'. * tests/tools.at (autoconf: subdirectories): New test, taken from the corresponding problem report by Ralf Wildenhues in: http://lists.gnu.org/archive/html/autoconf-patches/2006-05/msg00053.html * lib/autoconf/functions.m4 (AC_REPLACE_FNMATCH, AC_FUNC_FNMATCH_GNU): Quote some uses of shell variables if they might suffer unexpected globbing. This doesn't fix all instances of quoting problems that I found, just the easy ones that look safe. * lib/autoconf/general.m4 (_AC_INIT_SRCDIR, _AC_INIT_HELP): (AC_CONFIG_AUX_DIR, AC_CONFIG_AUX_DIR_DEFAULT, AC_CONFIG_AUX_DIRS): (AC_CANONICAL_BUILD, AC_CANONICAL_HOST, AC_CANONICAL_TARGET): (AC_CACHE_LOAD, AC_CACHE_SAVE): Likewise. * lib/autoconf/libs.m4 (_AC_PATH_X_XMKMF, _AC_PATH_X_DIRECT): Likewise. * lib/autoconf/specific.m4 (AC_SYS_LONG_FILE_NAMES): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_LINK, _AC_OUTPUT_SUBDIRS): Likewise. * lib/autotest/general.m4 (_AC_INIT_PARSE_ARGS): Likewise. * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Likewise. 2006-05-18 Ralf Wildenhues * bin/autoreconf.in ($help): Reword according to the manual. Suggested by Olly Betts. 2006-05-17 Olly Betts (tiny change) and Ralf Wildenhues * bin/autoreconf.in: Pass the directory argument to `require_configure_ac'. Fix comment. * tests/torture.at (Configuring subdirectories): Expose this. Reported by Olly Betts. 2006-05-17 Ralf Wildenhues * lib/Automake/Configure_ac.pm, lib/Automake/Channels.pm, lib/Automake/FileUtils.pm, lib/Automake/Struct.pm: Sync from Automake as follows: * lib/Autom4te/Configure_ac.pm (find_configure_ac): Use `$configure_in' instead of `configure.in', to preserve directory component. 2006-05-17 Ralf Wildenhues * config/config.guess, config/config.sub, config/texinfo.tex, doc/make-stds.texi, doc/standards.texi: Sync from upstream. 2006-05-14 Paul Eggert * lib/autoconf/headers.m4 (AC_HEADER_STDBOOL): Fix overly-picky test for C99 conformance; (bool) 0.5 is an integer constant expression, but (bool) -0.5 is not. Problem reported by Fedor Sergeev in . 2006-05-13 Paul Eggert * doc/autoconf.texi (Particular Programs): AC_PROG_MKDIR_P now sets MKDIR_P, not mkdir_p, to avoid collisions with Automake. Warn about obsolete install-sh files. Remove stray sentence fragment and fix cross reference. * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Don't insist on install -d; this undoes the 2006-05-10 change. (MKDIR_P): Mark with AN_MAKEVAR. (AC_PROG_MKDIR_P): Fall back on $ac_install_sh, not $INSTALL, so that we don't require $INSTALL to be thread-safe. Move comments out of generated code. Require AC_CONFIG_AUX_DIR_DEFAULT instead of AC_PROG_INSTALL. Output a message saying that we're checking mkdir -p. Set MKDIR_P rather than mkdir_p. Do special magic for MKDIR_P instead of AC_SUBST. * lib/autoconf/status.m4 (_AC_OUTPUT_FILE, _AC_OUTPUT_CONFIG_STATUS): Special magic for MKDIR_P, too. * lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Remove comment that defeated a dnl. * tests/local.at (AT_CHECK_ENV): mkdir_p -> MKDIR_P. 2006-05-11 Paul Eggert Sync from Automake, as follows: 2006-05-11 Ralf Wildenhues * config/install-sh: Initialize IFS, so field splitting isn't turned off later. * config/mkinstalldirs: Likewise. * config/missing: Remove superfluous quotes. Replace all uses of `[' by `test', for consistency, and for.. * config/missing (sed_minuso, sed_output): New variables. (autom4te, help2man, makeinfo): Use them. Unifies detection of `-o FILE', `--output FILE', `--output=FILE', stricter regex. Fixes `missing' to detect `--output' for help2man. Fixes PR automake/483. Report by Dennis J. Linse. (autom4te): Document in `missing --help'. 2006-05-10 Paul Eggert * NEWS: New macro AC_PROG_MKDIR_P. AS_MKDIR_P is now more robust. * config/install-sh: Don't use 'path' to talk about file names, as per GNU coding standards. Close a race condition reported by Ralf Wildenhues and Stepan Kasal. There is still a race condition on hosts that predate Posix 1003.1-1992, but we can't help this. Don't mishandle weird characters like space on pre-Posix hosts. Invoke mkdir at most once per dir arg on pre-Posix hosts. * doc/autoconf.texi (Programming in M4sh): Cross-reference to AC_PROG_MKDIR_P from AS_MKDIR_P. (Limitations of Usual Tools): Cross-reference to AC_PROG_MKDIR_P from mkdir. Mention that Autoconf 2.60 install-sh is safe but earlier editions are not (including Automake 1.8.3). Do not suggest mkinstalldirs for thread-safety. * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Insist on an 'install' that understands -d, so that AC_PROG_MKDIR_P can fall back on $INSTALL. * lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Make it more robust in the presence of special characters and race conditions. * tests/local.at (AT_CHECK_ENV): Add mkdir_p to the list of variables in Autoconf's name space. 2006-05-10 Bruno Haible and Paul Eggert * lib/autoconf/programs.m4 (AC_PROG_MKDIR_P): New macro, taken from Automake with minor changes. * doc/autoconf.texi (Particular Programs): Document AC_PROG_MKDIR_P. 2006-05-10 Paul Eggert * config/install-sh: Update to Automake CVS version, as follows: 2006-04-25 Stepan Kasal * lib/install-sh: Simplify the expr implementation of dirname. 2006-04-24 Paul Eggert * lib/install-sh: Handle --, and diagnose unknown options. 2006-05-09 Ralf Wildenhues * tests/Makefile.am (AUTOTEST): Use `$(MY_AUTOM4TE)' instead of `./autom4te' to create `./testsuite', since the `all' target will ensure its presence, but `installcheck' should not create the uninstalled wrappers. * tests/torture.at (Unusual Automake input files): Skip if we detect automake < 1.8. 2006-05-07 Ralf Wildenhues * lib/autoconf/c.m4 (AC_PROG_CC_STDC): If ac_cv_prog_cc_stdc is set to `no', then that overrides and sets ac_cv_prog_cc_c89 and ac_cv_prog_cc_c99 to `no', for backward compatibility. * NEWS: Update. 2006-05-06 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Take care not to munge (multiple) white space and other oddities. * tests/torture.at (AT_CHECK_AC_ARG_VAR): Make sure to M4-escape single quotes in variable assignment. (AC_ARG_VAR, configure invocation): Adjust tests to expose this and similar failures by adding multiple spaces, tabs, and other special characters. Report and different test suggested by Francesco Romani and Andrew Church . * lib/autoconf/general.m4 (_AC_INIT_PREPARE): When we escape single quotes, we only need to search for single quotes; this both simplifies the search pattern, and makes us less susceptible to `echo' variations for arguments not containing single quotes. (_AC_ARG_VAR_VALIDATE): Likewise. 2006-05-04 Ralf Wildenhues * doc/autoconf.texi (Special Shell Variables) : Document `$*' and IFS concatenation issue with traditional shells and bash-2.04. Report by Seanster@Seanster.com. 2006-05-03 Bruno Haible * doc/autoconf.texi (Limitations of Usual Tools): Identify more precisely which Mac OS X versions have the od problem. 2006-05-02 Paul Eggert * doc/autoconf.texi: Use @option systematically. 2006-05-02 Paul Eggert and Bruno Haible * doc/autoconf.texi (Limitations of Usual Tools): Add a paragraph about 'od'. (Integer Overflow): Mention the special case of integer division overflow. 2006-05-02 Ralf Wildenhues * lib/autoconf/general.m4 (_AC_CANONICAL_SPLIT): Cater for traditional shells like the Solaris one that do not use the first IFS character for assembling `$*'. Prompted by a related report from autoconf_bug@nro.ca. 2006-05-01 Paul Eggert and Ralf Wildenhues * doc/autoconf.texi (Limitations of Builtins, Limitations of Make): Mention more problems with the -e option. 2006-04-30 Ralf Wildenhues * NEWS: Typo. * doc/autoconf.texi (Systemology): Mention the Heirloom Project. * doc/autoconf.texi (Introduction, Pointers): Use `@/' liberally in URLs to improve DVI formatted output (requires texinfo 4.6). (System Services, Systemology, Shellology): Likewise. (Limitations of Usual Tools): Rewrite Mac OS X example for nicer output. * doc/autoconf.texi (Fortran Compiler): Do not use `@ovar' in continuous text. (Runtime): Fix macro argument names to match description: `action-if-found' -> `action-if-true' and similarly. (Obsolete Macros): Likewise. * lib/autoconf/general.m4 (_AC_COMPILE_IFELSE): Likewise. (AC_COMPILE_IFELSE, AC_TRY_COMPILE, _AC_LINK_IFELSE) (AC_LINK_IFELSE, AC_TRY_LINK, AC_COMPILE_CHECK): Likewise. 2006-04-29 Ralf Wildenhues * doc/autoconf.texi (Limitations of Make): Clean up markup. * ChangeLog: Typo. * doc/autoconf.texi (Portable Shell): Allow wrapped URLs, for DVI output. 2006-04-28 Ralf Wildenhues * doc/autoconf.texi (Limitations of Builtins): Document FreeBSD /bin/sh set unsorted output. * lib/autoconf/general.m4 (_AC_CACHE_DUMP): Adjust. * tests/local.at: Likewise. 2006-04-26 Paul Eggert * doc/autoconf.texi (Portable C and C++, Varieties of Unportability): (Integer Overflow, Null Pointers, Buffer Overruns): (Floating Point Portability, Exiting Portably): New sections. (Writing Test Programs): Fix some langauge. Recommend exiting with status 1, not merely nonzero. Clarify exit declaration. (Run Time): Move C exit status stuff to new Exiting Portably section. (Systemology): Mention Posix and levenez. Update v7 reference. (Portable Shell): Mention the Posix shell. 2006-04-25 Stepan Kasal * bin/autoconf.as (me): Replace by as_me. 2006-04-25 Paul Eggert * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Don't use AS_ERROR, since as_me isn't set yet. 2006-04-23 Paul Eggert Prepare for deprecation of AS_BASENAME and AS_DIRNAME, and fix a few minor bugs in this area. * doc/autoconf.texi (Programming in M4sh): Comment out the documentation of AS_BASENAME, for now. (Shell Substitutions): Do not use AS_DIRNAME in an example. (Limitations of Builtins) : Do not refer to AS_BASENAME. * bin/autoconf.as (me): Don't use AS_BASENAME. (dir): Remove the unused variable. * lib/m4sugar/m4sh.m4 (_AS_DETECT_REQUIRED): Renamed from AS_DETECT_REQUIRED. All uses changed. (_AS_DETECT_SUGGESTED): Renamed from AS_DETECT_SUGGESTED. All uses changed. (_AS_DETECT_BETTER_SHELL): Put ;; at the end of a case. (AS_BASENAME): Use "basename --" to protect against leading "-". (_AS_BASENAME_EXPR): Renamed from AS_BASENAME_EXPR. All uses changed. (_AS_BASENAME_SED): Renamed from AS_BASENAME_SED. All uses changed. (_AS_BASENAME_PREPARE): Reject implementations that cannot handle "--". (_AS_DIRNAME_PREPARE): Likewise. (_AS_DIRNAME_EXPR): Renamed from AS_DIRNAME_EXPR. All uses changed. (_AS_DIRNAME_SED): Renamed from AS_DIRNAME_SED. All uses changed. (AS_DIRNAME): Use "dirname --". 2006-04-23 Paul Eggert * doc/autoconf.texi (Runtime): Renamed from "Run Time". All uses of "run time" and "run-time" changed to "runtime", for consistency. * lib/autoconf/fortran.m4: Likewise (in comment). * lib/autoconf/functions.m4: Likewise. * lib/autoconf/general.m4: Likewise. * lib/autoconf/headers.m4: Likewise. * doc/autoconf.texi (Run Time): Document the exit status situation with more accuracy and detail. 2006-04-23 Ralf Wildenhues * doc/autoconf.texi (Introduction): The GNU Autoconf Macro Archive is not officially `GNU' any more. Update URL. (Defining Directories): Likewise * lib/autoconf/c.m4 (AC_C_RESTRICT): Update URL. 2006-04-19 Ralf Wildenhues * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Remove the leading newline from the `trap' code to finish `config.log'; the NetBSD /bin/sh resets the exit status after an empty command, as documented in doc/autoconf.texi. Reported by Dalibor Topic . 2006-04-19 Paul Eggert * doc/autoconf.texi (C Compiler): Clarify AC_C_TYPEOF. Suggested by Bruno Haible. 2006-04-18 Paul Eggert * configure.ac (ac_cv_sh_n_works): Don't try to test for it, since some shells (e.g., Solaris 8 /bin/sh) implement it verrrry slowly. Instead, just list the shells that we know work. * tests/local.at (AT_CHECK_SHELL_SYNTAX): Remove 2nd arg. All uses changed. Be more cautious about the _cv_ variable. * tests/tools.at (Syntax of the shell scripts): Check the _cv_ variable once, at first, to avoid an internal autoconf error when sh -n does not work. 2006-04-17 Ralf Wildenhues * lib/Autom4te/FileUtils.pm: Sync from Automake. 2006-04-16 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_CONFIG_LOG): Don't use ">&-" since we're only 99.999% sure that this is portable, and since the MinGW bug is fixed in a different way. * lib/autotest/general.m4 (AT_INIT): Likewise. 2006-04-16 Stepan Kasal * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Handle --recheck before opening config.log, to avoid hitting a bug on MinGW. 2006-04-14 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_CONFIG_LOG): Close AS_MESSAGE_LOG_FD before reopening it onto the log file. This works around a MinGW bug reported by Eric Paire. Make sure that all writes to the log file append to it, rather than possibly losing data. * lib/autotest/general.m4 (AT_INIT): Likewise. 2006-04-14 Stepan Kasal * lib/Autom4te/FileUtils.pm (find_file): Fix a typo in the description. 2006-04-13 Ralf Wildenhues * NEWS: Update. * configure.ac (AC_INIT): Bump to 2.59d. 2006-04-12 Ralf Wildenhues Version 2.59c. * Makefile.maint (news-date-check): Do not require a leading `*' before the release date in NEWS. 2006-04-12 Stepan Kasal and Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_FILE): If the templates for the instantiated file do not contain the string 'datarootdir' but contain @datadir@, @docdir@, @infodir@, @localedir@, or @mandir@, replace the reference '${datarootdir}' by the value. * tests/torture.at (datarootdir workaround): New test. * NEWS: Advertise this temporary fixup. Based on a patch by Bruno Haible, reported and analyzed by Paul Eggert and Noah Misch. 2006-04-12 Eric Blake * tests/autotest.at (Debugging a failed test): Fix comment. 2006-04-12 Stepan Kasal * lib/m4sugar/m4sh.m4 (_AS_LN_S_PREPARE): Simplify the summary of all the changes since 2006-04-07. 2006-04-11 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_LN_S_PREPARE): If `ln -s file1 file2' succeeded, but `ln -s file dir' failed, take care to remove the leftover target before the next test, to prevent its spurious failure; also make sure `ln file dir' works before selecting it. Thanks to Keith Marshall for pointing this out. * THANKS: Update. * lib/autotest/general.m4 (AT_INIT): Store quoted variable assignments in `at_debug_args', so that we put them correctly in the `run' script. * tests/autotest.at (Debugging a failed test): Unmark XFAIL. Reported by Eric Blake. 2006-04-11 Eric Blake * tests/autotest.at (AT_CHECK_AT): Add new argument, to allow top-level tests after micro-suite has been run. Used in... (Debugging a successful test, Debugging script and environment), (Debugging a failed test): ...these new tests. The first of these is fixed by... * lib/autotest/general.m4 (_AT_CREATE_DEBUGGING_SCRIPT): New macro, split out from... (AT_INIT): ...here, so that using -d also generates a run script. Document that -d inhibits top-level logging. * doc/autoconf.texi (testsuite Invocation): Document that -d only inhibits top-level logging; debug scripts are created. * lib/autotest/general.m4 (_AT_CHECK): Avoid syntax error on empty check. * tests/autotest.at (Empty test, Empty check): New test to check it. * lib/autoconf/c.m4 (AC_C_CONST, AC_C_VOLATILE): Avoid warnings from gcc. 2006-04-10 Stepan Kasal * tests/mktests.sh: Use "trap '' 0", not "trap 0". Do not touch the files if a problem appears. Make the empty *.at files read-only, too. Proposed by Ralf Wildenhues. 2006-04-10 Ralf Wildenhues * config/Makefile.am: Add comment to force updated Makefile.in. * lib/freeze.mk: Fix typo in comment. Unlike the last, white space only patch to this file, this patch causes the Makefile.in files that include freeze.mk to be updated, and thus have a newer time stamp again, which in turn makes a pristine CVS checkout have correct time stamps. * Makefile.maint (cvs-sv): New macro, to be used.. (config.guess-url_prefix, config.sub-url_prefix) (texinfo.tex-url_prefix, standards.texi-url_prefix): ..here; point to CVS text checkout of Gnulib files. (copyright-check): Bump current year. (announcement): Do not hard-wire `./announce-gen'. (cvs-update): Propagate failures of `cvs' and `move-if-change' correctly. * Makefile.cfg (executable-update): Use `chmod a+x' instead of `chmod +x'. (wget_files): Update config.guess, config.sub, texinfo.tex by `wget-update', now that their URLs work again. 2006-04-10 Paul Eggert * doc/autoconf.texi (Particular Types): Don't use AC_CHECK_TYPE. Problem noted by Paul D. Smith. 2006-04-10 Ralf Wildenhues * doc/autoconf.texi: Remove unused words from word list. * .x-sc_prohibit_atoi_atof, .x-sc_space_tab, .x-sc_sun_os_names, .x-sc_trailing_space: New files. * doc/standards.texi: Sync from gnulib. * NEWS, doc/autoconf.texi (AC_LIBOBJ vs LIBOBJS): Mark `LIBOBJDIR' as experimental. * lib/m4sugar/m4sh.m4 (_AS_LN_S_PREPARE): MSYS `ln -s' fails with a target directory; it's internally implemented as `cp' anyway, but since Autoconf advertises the possibility to use a target directory when LN_S is `ln -s', we need to find out. Reported by Rolf Ebert against MSYS, analyzed by Keith Marshall . * THANKS: Update. 2006-04-10 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Just output confdefs.h as-is. In general, if it has backslash-newline or the like, then it doesn't work either to sort or to remove empty lines. 2006-04-09 Stepan Kasal * tests/Makefile.am (AUTOCONF_FILES): Fix typo in the comment. 2006-04-09 Alexandre Duret-Lutz * lib/autom4te.in (Automake-preselections): Preselect _AM_SUBST_NOTMAKE. 2006-04-08 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Use '\'' for an apostrophe within a single-quoted string, as this is the usual tradition and is easier to read than '"'"'. Don't rely on the shell treating "$/" like '$/'. Use a more-consistent indenting style for the trap. 2006-04-09 Eric Blake * tests/autotest.at (Backquote command substitution), (Multiline backquote command substitution): Remove mistaken AT_NO_CMDSUBST from the 2006-03-14 patch, which was meant to be applied... (Parenthetical command substitution, Multiline parenthetical command substitution): here. 2006-04-08 Paul Eggert Import macros from gnulib (often changing their name). * NEWS: AC_C_TYPE_LONG_DOUBLE is now obsolete. New macros AC_CHECK_DECLS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_HEADERS_ONCE, AC_FUNC_STRTOLD, AC_HEADER_ASSERT, AC_STRUCT_DIRENT_D_INO, AC_STRUCT_DIRENT_D_TYPE, AC_TYPE_LONG_DOUBLE, AC_TYPE_LONG_DOUBLE_WIDER, AC_TYPE_INT8_T, AC_TYPE_INT16_T, AC_TYPE_INT32_T, AC_TYPE_INT64_T, AC_TYPE_INTMAX_T, AC_TYPE_INTPTR_T, AC_TYPE_LONG_LONG_INT, AC_TYPE_UINT8_T, AC_TYPE_UINT16_T, AC_TYPE_UINT32_T, AC_TYPE_UINT64_T, AC_TYPE_UINTMAX_T, AC_TYPE_UINTPTR_T, AC_TYPE_UNSIGNED_LONG_LONG_INT, AC_USE_SYSTEM_EXTENSIONS. The manual mentions Gnulib more prominently. * doc/autoconf.texi (Gnulib): New node. (Pointers): Add Gnulib URL. (Particular Functions): Alphabetize. Add AC_FUNC_STRTOLD. (Generic Functions): Add AC_CHECK_FUNCS_ONCE. Refer to new Gnulib section. (Particular Headers): Add AC_HEADER_ASSERT. For stdbool.h, suggest a #define rather than a typedef for _Bool, and mention Gnulib rather than trying to substitute stdbool code. (Generic Headers): Add AC_CHECK_HEADERS_ONCE. (Generic Declarations): Add AC_CHECK_DECLS_ONCE. (Particular Structures): Add AC_STRUCT_DIRENT_D_INO, AC_STRUCT_DIRENT_D_TYPE. (Particular Types): Mention stdint.h and inttypes.h as standard headers too. Add AC_TYPE_INT8_T, AC_TYPE_INT16_T, AC_TYPE_INT32_T, AC_TYPE_INT64_T, AC_TYPE_INTMAX_T, AC_TYPE_INTPTR_T, AC_TYPE_LONG_DOUBLE, AC_TYPE_LONG_DOUBLE_WIDER, AC_TYPE_LONG_LONG_INT, AC_TYPE_UINT8_T, AC_TYPE_UINT16_T, AC_TYPE_UINT32_T, AC_TYPE_UINT64_T, AC_TYPE_UINTMAX_T, AC_TYPE_UINTPTR_T, AC_TYPE_UNSIGNED_LONG_LONG_INT. (C Compiler): Move AC_C_LONG_DOUBLE to ... (Obsolete Macros): here. Under AC_LONG_DOUBLE, mention AC_TYPE_LONG_DOUBLE or AC_TYPE_LONG_DOUBLE_WIDER instead. (Posix Variants): Add AC_USE_SYSTEM_EXTENSIONS. (Coding Style). Don't mention m4_expand_once. * lib/autoconf/c.m4 (AC_C_LONG_DOUBLE): Implement via AC_TYPE_LONG_DOUBLE_WIDER. Now obsolete. * lib/autoconf/functions.m4 (_AH_CHECK_FUNCS): New macro. (AC_CHECK_FUNCS): Use it. (AC_CHECK_FUNCS_ONCE, AC_FUNC_STRTOLD): New macros. (AC_FUNC_WAIT3): "the Open Group standards" -> "POSIX". * lib/autoconf/general.m4 (AC_CHECK_DECLS_ONCE): New macro. * lib/autoconf/headers.m4 (AC_CHECK_HEADERS_ONCE): New macro. (AC_HEADER_ASSERT): New macro. (AC_HEADER_STDBOOL): Don't assume "#error" works. Catch a bug in IBM AIX xlc compiler version 6.0.0.0. Catch a bug in an HP-UX C compiler. * lib/autoconf/specific.m4 (AC_USE_SYSTEM_EXTENSIONS): New macro. * lib/autoconf/types.m4 (AC_TYPE_INTMAX_T. AC_TYPE_UINTMAX_T): (AC_TYPE_INTPTR_T, AC_TYPE_UINTPTR_T. AC_TYPE_LONG_DOUBLE): (AC_TYPE_LONG_DOUBLE_WIDER, AC_C_LONG_DOUBLE, AC_TYPE_LONG_LONG_INT): (AC_TYPE_UNSIGNED_LONG_LONG_INT, _AC_TYPE_INT, _AC_TYPE_UNSIGNED_INT): (_AC_STRUCT_DIRENT, AC_STRUCT_DIRENT_D_INO, AC_STRUCT_DIRENT_D_TYPE): New macros. * tests/mktests.sh (ac_exclude_list, au_exclude_list): Do not use /^foo|bar$/, it does not mean /^(foo|bar)$/. 2006-04-08 Stepan Kasal * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Fix the wording of the warning introduced by the 2001-08-28 change. 2006-04-08 Stepan Kasal , Ralf Wildenhues * lib/autoconf/general.m4 (AC_CACHE_SAVE): All `ac_cv_env_foo' variables shall be overriden by the cache. * tests/torture.at (AC_ARG_VAR): Test also with a first value that contains braces. 2006-04-07 Stepan Kasal Revert the patch from 2006-04-01 and only improve _AS_DETECT_BETTER_SHELL: * lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Do not optimize; do not skip nonexistent directories. (_AS_DETECT_BETTER_SHELL): The optimization is moved here--try only shell candidates which exist. (AS_UNAME): No need to give three parameters to _AS_PATH_WALK. * lib/autotest/general.m4 (AT_INIT): No need to give three parameters to _AS_PATH_WALK. 2006-04-07 Stepan Kasal , Ralf Wildenhues * bin/autoupdate.in (handle_autoconf_patches): Change the way we distinguish m4sugar macros. * tests/tools.at (autoupdating with aclocal and m4_include): New test. Bug reported by Gary V. Vaughan , test case by Noah Misch . 2006-04-07 Stepan Kasal Revert my change from 2006-03-17, in other words: * lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Insert BIN_SH=xpg4 and DUALCASE=1. (AS_SHELL_SANITIZE): Remove DUALCASE=1. * doc/autoconf.texi (Special Shell Variables) : Say that it is set. 2006-04-07 Eric Blake * doc/autoconf.texi (Programming in M4sh): Document that AS_MKDIR_P exits the script on failure. * lib/autotest/general.m4: Remove redundant AS_ERROR. 2006-04-07 Ralf Wildenhues * config/elisp-comp, config/install-sh, config/mdate-sh, config/missing, config/mkinstalldirs: Sync from Automake. * lib/Autom4te/FileUtils.pm, lib/Autom4te/Struct.pm: Sync from Automake. * doc/make-stds.texi: Sync from gnulib. 2006-04-06 Eric Blake * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_O): Inside cache check, s/ac_exeext/ac_cv_exeext/. Fixes regression introduced 2006-04-01. 2006-04-06 Stepan Kasal , Eric Blake , Paul Eggert , Ralf Wildenhues * lib/autoconf/general.m4 (_AC_CACHE_DUMP): Fix the detection of whether `set' quotes correctly: redirect stderr of the tested `set', and use a subshell, for Ultrix; use `sed' instead of `grep' for zsh `set' which may write binary output; match only at the beginning of a line, to avoid false positives. In order to avoid false positives by unrelated variables with multiline content, put the dump algorithm in a subshell and unset all variables containing newlines (except some which are special to the shell). Warn about cache variables that are unset. 2006-04-06 Ralf Wildenhues * config/config.guess, config/config.sub, config/texinfo.tex: Sync from upstream. * tests/mktests.sh: Reword comments. * tests/mktests.sh: Only skip internal macros starting with `_AC_' or `__AC_'. Noted by Stepan Kasal. Update exclusion lists for the test suite to this end: (AC_ARG_VAR): Do test this now. (AC_SEARCH_LIBS, AC_REPLACE_FUNCS): Need an argument. (AC_LINKER_OPTION): Remove (renamed to _AC_LINKER_OPTION). (AC_LIST_MEMBER_OF): Likewise (renamed to _AC_LIST_MEMBER_IF). (AC_LINK_FILES): Obsoleted since (and thus AU_DEFUN'ed). * doc/autoconf.texi (Shell Substitutions): Mention the MSYS shell issue with double-quoted command substitutions of native commands. Reported to MSYS by Mark Cave-Ayland, to Autoconf by Keith Marshall. * Makefile.maint (sc_cast_of_argument_to_free): Do not fail when no file matches the glob, discard the warning, set `nullglob'. (syntax-check): Likewise. (sc_cast_of_x_alloc_return_value): Likewise. (sc_cast_of_alloca_return_value, sc_error_exit_success) (sc_prohibit_jm_in_m4, .re-list, sc_unmarked_diagnostics) (m4-check): Likewise. (sc_system_h_headers): Do not print rule on execution. (sc_tight_scope): Do not fail for non-existing `src' directory. (sc_changelog): Skip the Copyright footer. * lib/autoconf/lang.m4: Remove trailing space. * lib/autoconf/status.m4: More replacements to where this makes sense. 2006-04-06 Stepan Kasal * tests/Makefile.am (maintainer-check-posix): s/POSIXLY_CORRECTLY/POSIXLY_CORRECT/ * lib/autoconf/status.m4 (_AC_CONFIG_FOOS): Append TAGS to ac_config_s again, sometimes normalized, sometimes not. (AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_LINKS): (AC_CONFIG_COMMANDS): Do not do so here. (_AC_CONFIG_REGISTER_DEST): Double quote the tags in macros _AC_LIST_TAGS and_AC_LIST_TAG_COMMANDS; fixes another regression introduced by the 2005-07-25 rewrite. Noticed by Noah Misch. * lib/autoconf/general.m4 (AC_PRESERVE_HELP_ORDER): Do not define _AC_PRESERVE_HELP_ORDER, ... (AC_ARG_ENABLE, AC_ARG_WITH): ... use AC_PROVIDE_IFELSE insetad. * lib/autoconf/general.m4 (AC_ARG_VAR): Do not use m4_divert_once inside m4_expand_once; it is redundant. * lib/autoconf/general.m4 (_AC_INIT_HELP): Remove the broken support for --help from Cygnus `configure.' 2006-04-06 Paul Eggert * doc/autoconf.texi (C Compiler): Warn about #error. Follows up on a patch proposed by Ralf Wildenhues. 2006-04-05 Paul Eggert * lib/autoconf/status.m4: Replace '' with where this makes sense. 2006-04-05 Howard Chu (trivial change) Noah Misch * lib/autoconf/general.m4 (AC_PRESERVE_HELP_ORDER): New macro. (AC_ARG_ENABLE, AC_ARG_WITH): Adjust. * doc/autoconf.texi (Help Formatting): New node. * NEWS: Announce AC_PRESERVE_HELP_ORDER. 2006-04-05 Ralf Wildenhues * TODO, config/Makefile.am, lib/freeze.mk, lib/autoconf/c.m4, lib/autoconf/specific.m4, lib/autoconf/status.m4, lib/autoconf/types.m4, lib/autotest/general.m4, tests/mktests.sh, tests/torture.at: White space cleanup: remove some SPACE before TAB, or add quoting ('' or @&t@). * NEWS, TODO, bin/autoreconf.in: `filesystem' -> `file system'. * doc/autoconf.texi (Shell Substitutions): Document `^' vs. `|'. 2006-04-05 Eric Blake * lib/autotest/general.m4 (AT_INIT): Prep AT_*_all, so that an empty test suite works. * tests/autotest.at (Empty test suite): Remove xfail. 2006-04-05 Noah Misch * lib/autoconf/status.m4 (_AC_CONFIG_FOOS): Do not append normalized TAGS to ac_config_s. (AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_LINKS): Do so here. (AC_CONFIG_COMMANDS): Append NAME to ac_config_commands without normalizing it, consistent it with previous releases. * tests/torture.at (Macro calls in AC_CONFIG_COMMANDS tags): New test. 2006-04-05 Paul Eggert * lib/m4sugar/m4sh.m4 (AS_BASENAME_EXPR, AS_DIRNAME_EXPR): Use simplified args that Eric Blake originally suggested. 2006-04-04 Paul Eggert * tests/mktests.sh: Don't use 'cat'; just read the files directly. Prefer 'sort -u' to 'sort | uniq'. Filter data before sorting it. Use 'comm' rather than N instances of grep; this also fixes a bug whereby substrings were incorrectly matched, causing us to not generate tests for AC_F77_NAME_MANGLING and AC_FUNC_LSTAT. (exclude_list): Exclude empty macros. (ac_exclude_list): Exclude AC_INCLUDES_DEFAULT. Use awk rather than grep -E or egrep, to avoid portability problems with regular expressions containing newlines. (exclude_list, ac_exclude_list, au_exclude_list, ac_exclude_script): Switch from grep to awk syntax. (ac_exclude_script): Renamed from ac_exclude_egrep. (au_exclude_script): Renamed from au_exclude_egrep. 2006-04-04 Noah Misch * lib/autoconf/general.m4 (_AC_INIT_HELP): Only `configure.in' evidences a subdirectory subject to Cygnus `configure'. * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Likewise. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): Omit the bug report request when we have no AC_PACKAGE_BUGREPORT. 2006-04-03 Ralf Wildenhues * THANKS: Update. * tests/mktests.sh: Update copyright year in the header of the generated files. * lib/autoconf/c.m4 (AC_C_INLINE): Do not skip cleanup code. (AC_C_RESTRICT): Likewise. Furthermore, add a function with a typedef'ed restricted pointer, to catch a compiler bug on HP-UX 11.x, and fix warnings so it passes with -Werror. (_AC_PROG_CC_C99): Likewise. Reported by Albert Chin . * tests/mktests.sh: Do not skip AC_C_INLINE, AC_C_RESTRICT. 2006-04-03 Noah Misch * bin/autoscan.in (subdirs): New global. (scan_file): Prune directories with configure{,.{ac,in,gnu}}. (output): Emit AC_CONFIG_SUBDIRS as needed. * tests/autoscan.at (autoscan): Remove XFAIL. 2006-04-03 Noah Misch * lib/autoconf/general.m4 (AC_CACHE_SAVE): Use AC_MSG_NOTICE. 2006-04-03 Eric Blake * THANKS: Add myself. 2006-04-03 Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT): Add `at_testdir' to pointer to log, point to testsuite output tree. 2006-04-02 Paul Eggert * NEWS: AC_PROG_CC and AC_PROG_CXX no longer declare 'exit'. * doc/autoconf.texi (Function Portability): Mention that C++ has trouble with 'exit'. (Guidelines): Test programs shouldn't use 'exit'. * lib/autoconf/c.m4 (_AC_PROG_CXX_EXIT_DECLARATION): Remove; all uses removed. (AC_LANG_INT_SAVE(C), AC_C_BIGENDIAN): Return from 'main' instead of calling 'exit'. * lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA, AC_FUNC_CLOSEDIR_VOID): (_AC_FUNC_FNMATCH_IF, AC_FUNC_GETGROUPS): (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, _AC_FUNC_MALLOC_IF): (AC_FUNC_MEMCMP, AC_FUNC_MKTIME, AC_FUNC_MMAP, _AC_FUNC_REALLOC_IF): (AC_FUNC_SETPGRP, _AC_FUNC_STAT, AC_FUNC_STRTOD, AC_FUNC_STRERROR_R): (AC_FUNC_STRNLEN, AC_FUNC_SETVBUF_REVERSED, AC_FUNC_UTIME_NULL): (_AC_FUNC_FORK, _AC_FUNC_VFORK, AC_FUNC_WAIT3): Likewise. * lib/autoconf/headers.m4 (AC_HEADER_STDC): Likewise. * lib/autoconf/specific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Likewise. * lib/autoconf/types.m4 (AC_TYPE_GETGROUPS): Likewise. * tests/compile.at: Likewise. 2006-04-02 Pavel Roskin * doc/autoconf.texi (AC_PATH_X): Update per 2005-08-26 change. 2006-04-01 Stepan Kasal Clean up _AC_COMPILER_EXEEXT* macros. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Don't try to detect exeext, it will be done by _AC_COMPILER_EXEEXT_O; just set ac_file to the name of the default output file and call _AC_COMPILER_EXEEXT_WORKS. Move the definition of ac_files and the initial `rm' of the candidate files... (_AC_COMPILER_EXEEXT): ... here and simplify them. Moreover, use the same list in subsequent `rm' calls, and for the temporary redefinition of ac_clean_files; call _AC_COMPILER_OBJEXT at the end, and don't call the other _AC_COMPILER_EXEEXT_* macros directly, use... (_AC_COMPILER_EXEEXT_TESTS): ... this new macro. (_AC_COMPILER_EXEEXT_O): Don't export ac_cv_exeext, it's not needed (or no longer needed) by libtool. Make it a cache check. (_AC_COMPILER_EXEEXT_CROSS): Remove the comment, it was obviously copied here by mistake. (AC_NO_EXECUTABLES): Redefine _AC_COMPILER_EXEEXT_TESTS, not _AC_COMPILER_EXEEXT. * lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC): Do not call _AC_COMPILER_OBJEXT directly. * lib/autoconf/fortran.m4 (_AC_PROG_FC): Likewise. 2006-04-01 Stepan Kasal * lib/m4sugar/m4sh.m4 (_AS_DIRNAME_PREPARE): New macro. (AS_DIRNAME): Use it. (_AS_PREPARE): Add _AS_DIRNAME_PREPARE. * tests/*.at: Remove the generated ones. 2006-04-01 Stepan Kasal * lib/autotest/general.m4 (AT_INIT): Don't optimize the first PATH walk. 2006-04-01 Eric Blake * lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Optimize nonexistent directories, unless optional third argument supplied. (AS_UNAME): Don't optimize PATH walk. * lib/Autom4te/Struct.pm, lib/autoconf/c.m4: s/non-existent/nonexistent/ 2006-04-01 Eric Blake and Stepan Kasal * lib/m4sugar/m4sh.m4: Sort sections as implied by the comments, and fix some typos. 2006-04-01 Noah Misch * lib/autoconf/general.m4 (_AC_INIT_VERSION): Emit script name and Autoconf version number despite a zero- or one-argument AC_INIT. * bin/autoreconf.in (parse_args): Multiple -v send --verbose to subordinate tools. * lib/Autom4te/General.pm (getopt): Make -v and -d incremental. * doc/autoconf.texi (autoreconf Invocation): Document it. * doc/autoconf.texi: Use `Cygwin', `MinGW', and `license' consistently. Append LocalWords so ispell-buffer passes cleanly. Spelling fixes. 2006-04-01 Eric Blake * lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Allow use in shell lists. * lib/autotest/general.m4: Be tolerant of existing directory when rm failed to remove it. 2006-04-01 Ralf Wildenhues * bin/autoupdate.in: Redefine m4_location so that warnings print the correct lines of the input file by subtracting.. (_au__first_line): ..this new definition. * lib/autoconf/general.m4 (AC_COMPILE_CHECK): Prefer AC_MSG_CHECKING over obsolete AC_CHECKING in autoupdated code. Remove stray newline in output. (AC_FOREACH): AU_DEFUN this as literal for autoupdate, and also AC_DEFUN this for autoconf, including the obsoletion diagnose. Fixes autoupdating of code where the replacement output contains m4sugar macros. * lib/autoconf/lang.m4 (AC_LANG_SAVE): Likewise. * tests/mktests.sh (ac_exclude_list): Add AC_FOREACH. (au_exclude_list): Add AC_LANG_SAVE. * tests/tools.at: Several new tests for all of this. * doc/autoconf.texi (Obsoleting Macros): Give a hint about the hairy details. The AC_LANG_SAVE issue was reported against Libtool by Dalibor Topic , and against Autoconf 2.57 by Kristian Kvilekval . 2006-04-01 Stepan Kasal * bin/autoupdate.in: Handle m4 builtins and m4sugar macros together-- switch all of them on and of when necessary. Fixes the bug when m4sugar macros (e.g., m4_define) were expanded after the first automatic update (e.g., after AC_PREREQ or AC_INIT). 2006-03-31 Paul Eggert * doc/autoconf.texi (Programming in M4sh): Sharpen the descriptions of AS_BASENAME and AS_DIRNAME. Reported by Stepan Kasal. * lib/m4sugar/m4sh.m4 (AS_BASENAME_EXPR): Handle ///, ////, etc. correctly. Problem reported by Eric Blake. (_AS_EXPR_PREPARE): Detect Tru64 expr bug. Problem reported by Ralf Wildenhues. 2006-03-30 Paul Eggert * doc/autoconf.texi (Programming in M4sh, Limitations of Usual Tools): Tighten up the basename/dirname wording. 2006-03-30 Ralf Wildenhues * Makefile.maint (sc_texi_notab): New check: do not use TABs in texinfo files outside of verbatim environments. (syntax-check-rules): Update. * doc/autoconf.texi (Configuration Headers): Conform to it. 2006-03-30 Chris Pickett (tiny change) * doc/autoconf.texi (autoreconf Invocation): Mention that -I for aclocal cannot be given on the command line. 2006-03-29 Paul Eggert * doc/autoconf.texi (Programming in M4sh): Mention AS_BASENAME. Give an example for AS_DIRNAME instead of referring to Posix.. (File System Conventions): Put discussion of // versus / here, and modernize it a bit. (Limitations of Usual Tools): Add basename. Remove verbiage after dirname, since it got moved to the above sections. All this was inspired by a patch proposed earlier by Eric Blake. 2006-03-27 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Quote `$0' to protect against spaces. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Likewise, for `$0', $as_me. 2006-03-26 Ralf Wildenhues * bin/autoscan.in: The value of find_configure_ac should be checked for existence, so we don't barf over a nonexisting configure.ac. Reported by Laurence Darby . 2006-03-22 Ralf Wildenhues * bin/autoupdate.in: Fix some typos. 2006-03-21 Stepan Kasal * doc/autoconf.texi (Installation Directory Variables): Fix typo. * lib/autoscan/autoscan.list: Refreshed. 2006-03-20 Ralf Wildenhues * tests/local.at (AT_CHECK_ENV): Ignore AC_SUBSTed Objective C and Erlang related variables. * lib/autoconf/c.m4 (AC_LANG(Objective C), AC_LANG_OBJC) (_AC_LANG_ABBREV(Objective C), _AC_LANG_PREFIX(Objective C)) (AC_LANG_SOURCE(Objective C), AC_LANG_PROGRAM(Objective C)) (AC_LANG_CALL(Objective C), AC_LANG_FUNC_LINK_TRY(Objective C)) (AC_LANG_BOOL_COMPILE_TRY(Objective C)) (AC_LANG_INT_SAVE(Objective C), AC_LANG_PREPROC(Objective C)) (AC_PROG_OBJCPP, AC_LANG_COMPILER(Objective C), AC_PROG_OBJC) (_AC_PROG_OBJC_G): New macros. (_AC_ARG_VAR_CPPFLAGS): Adjusted. * doc/autoconf.texi (Objective C Compiler): New node. (Preset Output Variables): Document OBJCFLAGS. (Language Choice): Document `Objective C' language. (Fortran Compiler): Fix typo. * NEWS: Updated. Inspired by a patch from David M. Lloyd . 2006-03-20 Stepan Kasal * doc/autoconf.texi (Default Includes): Fix typo s/AC_HEADERS_STDC/AC_HEADER_STDC/ (Limitations of Usual Tools): s/unwriteable/unwritable/ * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT): Fix typos in the comments. 2006-03-17 Stepan Kasal * lib/autoconf/programs.m4 (AC_PATH_TOOL, AC_CHECK_TOOL, AC_CHECK_TOOLS): Factor out the warning to... (_AC_TOOL_WARN): ... this new macro; use `cross_compiling'. * tests/local.at (AT_CHECK_MACRO_CROSS): Avoid this warning. * tests/semantics.at (AC_C_BIGENDIAN): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Do not special case `ac_delim' when writing the sed script. * lib/m4sugar/m4sh.m4 (AS_BOURNE_COMPATIBLE): Removed BIN_SH=xpg4, moved DUALCASE=1 ... (AS_SHELL_SANITIZE): ... here. * doc/autoconf.texi (Special Shell Variables) : Do not say that it is set. * lib/autoconf/programs.m4 (AC_CHECK_PROG): Quote the parameter of AC_SUBST. (_AC_PATH_PROG): Store the result to VARIABLE. (AC_PATH_PROG): No need to set VARIABLE again. * tests/local.at (AT_CHECK_MACRO_CROSS): New macro, creates two tests: the first one is usual AT_CHECK_MACRO test, the second one checks that the same works when cross-compiling. * tests/semantics.at (AC_CHECK_ALIGNOF, AC_CHECK_ALIGNOF struct): (AC_CHECK_SIZEOF, AC_CHECK_SIZEOF struct): Use it. 2006-03-17 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Prepend the directory `/usr/bin/posix' in the shell search, to prefer the Posix shell not only in subsequent spawns as with `$BIN_SH' on Tru64. * doc/autoconf.texi (contents): To fix texi2html output, hide `@setcontentsaftertitlepage' for HTML. (Writing Autoconf Macros): Likewise, insert space after `@c'. (Leviticus, Numbers, Deuteronomy): Likewise, change `@,c' to `@,{c}'. 2006-03-16 Stepan Kasal * lib/m4sugar/m4sh.m4 (_AS_PREPARE): Move the IFS setup and CDPATH sanitizing... (AS_SHELL_SANITIZE): ...here; mention _AS_PATH_WALK needs IFS set. * lib/autoconf/general.m4 (_AC_CANONICAL_SPLIT): Add an explanation why IFS is restored so late; thank you, Ralf, for reminding us. 2006-03-15 Stepan Kasal * doc/autoconf.texi (Pretty Help Strings): No need to use cached variables in the examples. 2006-03-14 Romain Lenglet * doc/autoconf.texi (several sections): Cleaned up documentation for macros in erlang.m4. 2006-03-14 Ralf Wildenhues * tests/autotest.at (AT_NO_CMDSUBST): New macro to determine failure condition for `$(cmd)' style command substitutions. (Parenthetical command substitution, Multiline parenthetical command substitution): Use it. * doc/autoconf.texi (Special Shell Variables): Missing word. Reported by Keith Marshall . * lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Do not forget to reset IFS even in case of empty `$PATH'. 2006-03-12 Ralf Wildenhues * lib/autotest/general.m4 (AT_INIT) : Optimize `expr' away if there is nothing to do. < --keywords >: Simplify and robustify argument handling. Revert erroneous comment from 2005-08-23. Extend to allow keyword negation with `!'. Update help message. Remove broken code to prevent running tests multiple times. * doc/autoconf.texi (testsuite Invocation) < --keywords >: Update and fix the documentation accordingly. * tests/autotest.at (Keywords): Renamed to.. (Keywords and ranges): .. this. Extended to make sure negated keywords, keywords taken from AT_SETUP arguments, and numeric test ranges work, and that matching is case-insensitive. 2006-03-11 Ralf Wildenhues * lib/autoconf/types.m4 (_AC_CHECK_TYPE_NEW): Use a typedef to allow to pass unnamed structs even in C++. (AC_CHECK_SIZEOF): Likewise. Also fix quoting error in `AC_MSG_FAILURE' arguments. * tests/semantics.at (AC_CHECK_ALIGNOF struct, AC_CHECK_SIZEOF struct): New tests for unnamed structs, each both native and cross-compiling. * lib/autoconf/c.m4 (AC_C_TYPEOF): Use typedef to avoid defining a structure inside a cast, for C++ conformance. * lib/autoconf/types.m4 (AC_CHECK_ALIGNOF): Likewise. Also fix quoting error in `AC_MSG_FAILURE' arguments. * lib/autoconf/c.m4 (AC_PROG_CC_STDC): If we cannot enable C99 nor C89 mode, set `$ac_cv_prog_cc_stdc' to `no' instead of trying to execute the command `no'. * lib/autoconf/lang.m4 (AC_LANG_CONFTEST): AC_DEFUN this, not m4_define, so that the requirements of `AC_INCLUDES_DEFAULT' are expanded outside. * doc/autoconf.texi (autoconf Invocation): Fix typos in trace example. Do not emphasize `$%', it is hardly new and special. Reported by Edouard Bechetoille . * doc/autoconf.texi (Limitations of Usual Tools): Document OpenBSD and traditional `grep' failure to handle multiple patterns separated by newlines. 2006-03-10 Romain Lenglet * doc/autoconf.texi (several sections): Add documentation for macros in erlang.m4. 2006-03-10 Eric Blake * doc/autoconf.texi (Obsolete Macros): Fix wording of AC_TRY_LINK_FUNC. 2006-03-10 Paul Eggert * doc/autoconf.texi: Use @acronym more consistently for acronyms like BSD, GPL, LGPL. Fix minor English typos. (AC_STDC_HEADERS, AC_PROG_GCC_TRADITIONAL): Mention that these macros are becoming obsolete. (AC_STDC_HEADERS, AC_PROG_CC, AC_C_CONST, AC_C_VOLATILE): Use more modern terminology for which standard is what. (AC_PROG_CC): Mention gcc first, and remove obsolete references to egcs and to ansi2knr. (AC_PROG_CXX): Likewise. (AC_C_PROTOTYPES, Test Functions, AC_LIBOBJ vs LIBOBJS): Remove obsolete discussion about how to port to K&R. (Guidelines for Test Programs): Suggest AC_HEADER_STDBOOL rather than the obsolescent AC_HEADER_STDC. (AC_FOO_IFELSE vs AC_TRY_FOO): Don't use #error; test programs can't rely on it. 2006-03-08 Ralf Wildenhues * tests/c.at (AC_PROG_CPP without warnings, AC_PROG_CPP via CC): Remove stdin redirection from /dev/null to allow pipe to work. 2006-03-08 Paul Eggert * tests/c.at (AC_PROG_CPP without warnings, AC_PROG_CPP via CC): Require that /lib/cpp include stdio.h correctly. Solaris 10's doesn't. Problem reported by D'Arcy A MacIsaac and diagnosed by Ralf Wildenhues. 2006-03-06 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_SED_CMD_LIMIT): The limit for HP-UX sed is 99 commands, not 100. (_AC_OUTPUT_FILES_PREPARE): Do not count the `}' of an _AC_SUBST_FILES fragment. Separate `{' and `r' commands by newline for portability. * tests/torture.at (Torturing config.status): Also test 100 AC_SUBST_FILE invocations. Fix test to actually verify the AC_CONFIG_FILES output. * doc/autoconf.texi (Limitations of Usual Tools): Document HP-UX command, label, and read-file `r' limits. Unify HP-UX spelling. * tests/Makefile.am (edit, $(wrappers)): Do not use `$<' in non-suffix rule. ($(TESTSUITE_GENERATED_AT)): Use `$(srcdir)` for the benefit of non-GNU make. (autoconfdir, $(AUTOCONF_FILES)): Likewise. * tests/mktests.sh: Small shell portability fixes. 2006-03-05 Ralf Wildenhues * doc/autoconf.texi (Caching Results): Fix the examples to use a recommended quoting style and discard unwanted output. 2006-03-05 Paul Eggert * lib/autotest/general.m4 (_AT_NORMALIZE_TEST_GROUP_NUMBER): New macro. (AT_INIT): Use it, to remove arbitrary limit of 999,999 test cases, and to work around Tru64 expr bug. 2006-03-05 Ralf Wildenhues * doc/autoconf.texi (Limitations of Usual Tools): Mention Tru64 expr bug that turns the result of a regex match into a number if possible. 2006-03-04 Ralf Wildenhues * lib/autoconf/types.m4 (AC_CHECK_ALIGNOF): Work around HPUX compiler bug, similarly to AC_CHECK_SIZEOF, as documented in section `Specific Compiler Characteristics'. 2006-03-04 Eric Blake * lib/autoconf/functions.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning. 2006-03-01 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_HEADER): Force correct order of variable initialization, so even the Solaris 2.6 shell can create a config header correctly. Fixes lots of test suite failures. 2006-02-22 Ralf Wildenhues * doc/autoconf.texi (Text processing Macros): New node to document the m4sugar macros m4_re_escape, m4_tolower, m4_toupper, m4_split, m4_normalize, m4_append, m4_append_uniq. 2006-02-22 Paul Eggert * lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT): Fix typo: XrmInitialize (0) -> XrmInitialize (). Reported by Toshio Kuratomi. 2006-02-21 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (AS_IF): Extend to allow more than one test, as in `if tests; then cmd1; elif ...; else ...; fi'. * doc/autoconf.texi (Programming in M4sh): Adjusted. * tests/m4sh.at (AS_IF and AS_CASE): Test this. Also make sure both macros are defun'ed so that required macros are evaluated outside. * doc/autoconf.texi (Prerequisite Macros): State more precisely where a required macro will be expanded. (Coding Style): Another reason not to use `m4_define'. 2006-02-21 Eric Blake * lib/autoconf/general.m4 (_AC_LIBOBJ): Minor optimization. 2006-02-20 Ralf Wildenhues * doc/autoconf.texi (Looping constructs): New node, to document m4_for, m4_foreach, m4_foreach_w, and mention obsolete AC_FOREACH. (Obsolete Macros): Document AC_FOREACH. * lib/m4sugar/m4sugar.m4 (_m4_for): Fix declaration comment. (m4_for): Fix to never loop (almost) endlessly, work correctly with arithmetic expressions in arguments, a step of zero or non-integer multiple of the interval, and avoid integer overflow. * tests/m4sugar.at: New test for m4_for, m4_foreach, and m4_foreach_w. 2006-02-20 Romain Lenglet Add basic support for Erlang, both for configuring Erlang/OTP tools, and Erlang as a conf test language. * lib/autoconf/erlang.m4: New file. * lib/autoconf/autoconf.m4: Add erlang.m4. * lib/autoconf/Makefile.am (dist_autoconflib_DATA): Likewise. * lib/freeze.mk (autoconf_m4f_dependencies): Likewise. * NEWS: Add short description of new macros. * THANKS: Add Romain Lenglet. 2006-02-20 Ralf Wildenhues * doc/autoconf.texi (Shellology) : Document that pdksh as native /bin/sh may not set KSH_VERSION (seen on OpenBSD). 2006-02-15 Eric Blake * lib/autoconf/general.m4 (AC_CHECK_DECL): Avoid unused variable warning. 2006-02-15 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (AS_CASE): New macro. (_AS_CASE): Private helper macro. * tests/m4sh.at: Basic tests for AS_IF and AS_CASE. * doc/autoconf.texi (Programming in M4sh): Document AS_CASE. Fix syntax of AS_IF description (Prerequisite Macros): Mention AS_IF and AS_CASE as workarounds for the AC_REQUIRE mess. * NEWS: Mention AS_CASE, AS_BOURNE_COMPATIBLE, and AS_SHELL_SANITIZE. 2006-02-14 Paul Eggert * doc/autoconf.texi: Minor style cleanup. Be consistent about spaces after commas. Insert [] where empty args look a bit funny. Fix some "i.e." and "e.g." usages. Try to avoid "X/Y" usages. Don't be pedantic about "ISO C99"; just say C99. Prefer GNU style for spaces in front of parens. (Function Portability): Comment about C89 versus C99 signed integer division. (Particular Headers): Use current gnulib style for dirent includes. 2006-02-14 Stepan Kasal and Ralf Wildenhues * bin/autoupdate.in (handle_autoconf_macros): Fix updating of macros without parameters. * lib/autoconf/autoupdate.m4 (AU_ALIAS): Likewise. * doc/autoconf.texi (Obsoleting Macros): Document AU_ALIAS. * tests/tools.at (autoupdating AU_ALIAS): New test for AU_ALIAS `$#' bug. (autoupdate): Updated to match AU_ALIAS fix. 2006-02-13 Ralf Wildenhues and Paul Eggert * doc/autoconf.texi (Programming in M4sh): Document AS_BOURNE_COMPATIBLE and AS_SHELL_SANITIZE. 2006-02-13 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE): Renamed to.. (AS_BOURNE_COMPATIBLE): ..this. (_AS_RUN, AS_SHELL_SANITIZE): Adjusted all callers. 2006-02-12 Paul Eggert * doc/install.texi (Defining Variables): Tighten up the CONFIG_SHELL wording. 2006-02-12 Paul Eggert and Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE): Look at the output of (set -o) rather than testing whether (set -o posix) succeeds, to work around a bug in the AIX 5.3 shell. Problem originally reportd by Howard Chu for libtool. 2006-02-10 J.T. Conklin * doc/autoconf.texi (Running the Compiler, Running the Linker): Changes the macro arguments in summaries to match the descriptions. 2006-02-04 Stepan Kasal * doc/install.texi (Defining Variables): Classify the `CONFIG_SHELL' hint as ``a workaround for a bug.'' 2006-01-31 Ralf Wildenhues * bin/autoreconf.in: New option `--no-recursive'. Improve wording for subpackages a bit. * doc/autoconf.texi (autoreconf Invocation): Updated. * NEWS: Updated. * doc/install.texi (Defining Variables): Put `CONFIG_SHELL' in environment of `configure', not the command line. Reported by Howard Chu . 2006-01-25 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Document the problem with "trap -". 2006-01-23 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS, _AC_FC_DUMMY_MAIN): (_AC_FC_MAIN, __AC_FC_NAME_MANGLING): Use _AC_LANG in check messages to differentiate Fortran and Fortran 77 tests. (AC_FC_SRCEXT, AC_FC_FREEFORM): Use AC_LANG_PUSH/POP instead of AC_LANG_ASSERT, to allow use in mixed-language projects. 2006-01-23 Paul Eggert * lib/autoconf/c.m4 (AC_LANG_FUNC_LINK_TRY(C)): Prefer "defined FOO" to "defined (FOO)". * lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA): Likewise. * lib/autoconf/headers.m4 (AC_HEADER_STAT): Likewise. * lib/autoconf/specific.m4 (AC_XENIX_DIR): Likewise. * tests/tools.at (ifnames): Likewise. 2006-01-21 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (AS_TMPDIR): Do not pass `-q' to mktemp. * lib/Autom4te/General.pm (mktmpdir): Likewise. (END): Improve error message a bit. Reported by Bruce Korb . 2006-01-12 Ralf Wildenhues * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Ignore `-LIST:' and `-LNO:', for PathScale 2.3 compilers. 2006-01-11 Stepan Kasal * doc/autoconf.texi (Header Portability): On Solaris 8, sys/ptem.h requires sys/stream.h. Reported by Oliver Kiddle. 2006-01-11 Ralf Wildenhues Stepan Kasal * lib/autotest/general.m4 (AT_INIT): When ensuring writability before the removals of test dirs, use `find' to avoid modification of symlinked directories. 2006-01-11 Steven G. Johnson * lib/autoconf/fortran.m4 (AC_F77_DUMMY_MAIN, AC_FC_DUMMY_MAIN): Don't ignore the macro arguments. 2006-01-11 David Thompson * lib/autoconf/c.m4 (_AC_PROG_CXX_EXIT_DECLARATION): Add `exit' declaration that works for MSVC. 2006-01-11 Ralf Wildenhues * lib/autoconf/lang.m4 (_AC_COMPILER_OBJEXT_REJECT): Add `*.map' and `.inf' for Green Hills compiler. Reported by Stefan Seefeld . * lib/m4sugar/m4sugar.m4 (m4_text_wrap): Handle quadrigraphs correctly: pad with spaces after FIRST_PREFIX if necessary, and compute string lenghts with `m4_qlen' instead of `m4_len'. * lib/m4sugar/m4sh.m4 (AS_HELP_STRING): Comments updated. * tests/m4sh.at (AS_HELP_STRING): Test extended. * NEWS: Updated. Reported by numerous people, numerous times. 2006-01-05 Paul Eggert * bin/autoconf.as, bin/autoheader.in, bin/autom4te.in * bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in: * lib/autoconf/general.m4, lib/autoconf/status.m4: * lib/autotest/general.m4, tests/local.at: Update copyright year to 2006. * Makefile.maint (sc_root_tests): Use the recommended style s/a/b/ for sed substitutions. * doc/autoconf.texi (Installation Directory Variables): Use s|a|b| for file names, again. Reported by Noah Misch. (Coding Style): Explain that s|a|b| is preferred for file names. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Prefer s/a/b/. (AC_OUTPUT_MAKE_DEFS): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Likewise. * tests/local.at (AT_CHECK_AUTOM4TE): Likewise. Fix Posix-conformance bugs re use of { command in sed scripts, and improve the sed-related documentation a bit. * doc/autoconf.texi (Installation Directory Variables): Use our own style advice re 's,a,b,' versus 's|a|b|'. Use "Sed" rather than "sed" when talking about Sed in general. (Particular Programs): Likewise. (Coding Style): y is like s with respect to / and ,. (Limitations of Usual Tools): Document the weird restrictions that Posix has about { }. Use better quoting. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE, _AC_OUTPUT_HEADER): Rewrite to conform to Posix rules about { } in sed scripts. * lib/m4sugar/m4sh.m4 (AS_DIRNAME_SED, AS_BASENAME_SED): Likewise. * tests/foreign.at (Libtool): Likewise. * tests/semantics.at (AC_CHECK_PROG & AC_CHECK_PROGS): Use our own style advice re 's,a,b,' versus 's|a|b|'. 2006-01-05 Ralf Wildenhues * lib/autoconf/status.m4: Fix typo. * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Ignore singly- or doubly-quoted arguments to `-cmdline', `-ignore', `-def', for the benefit of Portland `pgf90 -Mipa'. Reported by Christopher Hulbert . 2006-01-04 Paul Eggert * doc/autoconf.texi: Update copyright (and other) dates to 2006. * doc/autoconf.texi (Shellology): Mac OS X 10.2 changed the default shell from zsh to bash. 2005-12-31 Stepan Kasal * lib/autoconf/programs.m4 (_AC_PROG_GREP): Use $PATH_SEPARATOR; ":" caused problems on OS/2-EMX. Suggested by Andrew Belov. 2005-12-29 Paul Eggert * doc/autoconf.texi (Shell Substitutions): Warn about unbalanced parentheses in $(...). Problem reported by Eric Blake. 2005-12-12 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Mention which characters can be escaped with \ in portable regular expressions used in grep, sed, expr. Mention the leading ^ problem with expr. Clean up some confusing wording. Mention which grep options are portable. 2005-12-09 Stepan Kasal * tests/local.at (AT_CHECK_AUTOM4TE): Fix typo in the comment. 2005-12-02 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Fix typos in previous patch, noted by Ralf Wildenhues. 2005-12-02 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE): Try `set -o posix' unconditionally, for pdksh in `native sh' emulation. 2005-12-01 Paul Eggert * doc/autoconf.texi (Shellology): Document eval $? problem with ash. (Limitations of Builtins): Likewise. 2005-11-10 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Pass CONFIG_SHELL in the environment of the configure rerun. * doc/autoconf.texi (Here-Documents, config.status Invocation): Suggest passing CONFIG_SHELL absolute, and in the environment rather than as option. 2005-11-09 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): Fix quoting of output line (triggered for many AC_SUBST_FILEs). Fix macro quoting. Fix output for n * 98 substituted variables. 2005-11-08 Ralf Wildenhues * lib/autoconf/status.m4 (_AC_OUTPUT_MAIN_LOOP): Initialize `tmp' to avoid file removal race. 2005-11-07 Ralf Wildenhues * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Initialize ac_clean_files and LIBOBJS. 2005-11-06 Ralf Wildenhues * lib/autoconf/programs.m4 (AC_CHECK_PROG, AC_PATH_PROG): Factor functionality to.. (_AC_CHECK_PROG, _AC_PATH_PROG): these new macros, but only `AC_SUBST($1)' in the public version. (AC_CHECK_TOOL, AC_PATH_TOOL, AC_PATH_TARGET_TOOL) (AC_CHECK_TARGET_TOOL): Use internal versions for ac_ct_* and ac_pt_* variables. 2005-11-01 Stepan Kasal * lib/autoconf/c.m4 (AC_PROG_CC_C_O): Remove the comment about 8+3 filesystems. 2005-11-01 Ralf Wildenhues * NEWS: Move AH_HEADER mention to right place. 2005-10-27 Stepan Kasal * lib/autoconf/c.m4 (AC_PROG_CC_C_O): "conftst2" -> "conftest2" * lib/autoconf/fortran.m4 (_AC_PROG_FC_C_O): Likewise. 2005-10-25 Stepan Kasal * lib/autoconf/c.m4 (AC_PROG_CC_C_O): rm -f conftst2.*, not only conftst2.$ac_objext. * lib/autoconf/fortran.m4 (_AC_PROG_FC_C_O): Likewise. 2005-10-24 Stepan Kasal * lib/autoconf/c.m4 (AC_PROG_CC_C_O): Use conftst2.o instead of conftest.o, to see whether the compiler really obeys; rm the object file before and after the test and register it with ac_clean_files. * lib/autoconf/fortran.m4 (_AC_PROG_FC_C_O): Likewise. 2005-10-21 Stepan Kasal * lib/autoconf/status.m4 (_AC_OUTPUT_FILES_PREPARE): When determining, the delimiter CEOF$ac_eof: fix quoting of CEOF[0-9]* and modify the code so that the most common case requires less forks. 2005-10-20 Stepan Kasal * doc/autoconf.texi (Shell Substitutions}: Document that ${10} is not portable; thanks to Paul Eggert and Alexandre. * NEWS: Fix an old typo. 2005-10-20 Jim Meyering * doc/autoconf.texi: Typo: s/feature/features/ in ``the features of the latter'', in two places. 2005-10-19 Paul Eggert * doc/autoconf.texi (Generating Sources): AC_LANG_PROGRAMS -> AC_LANG_PROGRAM, fixing a typo. Don't give details about the inner workings of AC_LANG_FUNC_LINK_TRY. * lib/autoconf/c.m4 (AC_LANG_CALL(C)): Reformat to match AC_LANG_FUNC_LINK_TRY. This involves returning the value returned by the function rather than ignoring it. (AC_LANG_FUNC_LINK_TRY(C)): Call the function rather than simply comparing its address. Intel's interprocedural optimization was outsmarting the old heuristic. Problem reported by Mikulas Patocka. 2005-10-19 Stepan Kasal * lib/autoconf/general.m4 (AC_SUBST): Remove an obsolete comment. 2005-10-05 Paul Eggert * lib/m4sugar/m4sugar.m4 (_m4_map): New macro. (m4_map, m4_map_sep): Use it. Handle the empty list correctly. 2005-10-04 Stepan Kasal * lib/autotest/general.m4 (AT_INIT): Really make the subtree writable before removing it (chmod -R u+rwx); there are three instances of this. 2005-10-02 Ralf Wildenhues Stepan Kasal * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Balance parentheses. * lib/autotest/general.m4 (AT_INIT): If the test dir already exists, make its content writable before removing it. Remove an errorneous comment from the end, where the logs of the failed tests are copied to the main log file. 2005-09-27 Stepan Kasal * tests/semantics.at (AC_C_BIGENDIAN): Pass --force to autoheader, in case the computer is too quick. Double quote the configure.ac snippets. * tests/local.at (AT_CHECK_AUTOCONF): Always pass --force to prevent problems if the testsuite were running too fast. 2005-09-18 Paul Eggert * lib/autoconf/libs.m4 (_AC_PATH_X_DIRECT): Look for X11/Xlib.h and XrmInitialize rather than X11/Intrinsic.h and XtMalloc (which belong to Xt, not X itself). See Debian bug 327655. * NEWS: Mention this. 2005-09-07 Stepan Kasal * lib/autoconf/c.m4 (AC_LANG_SOURCE(C)): Remove an incorrect comment. 2005-09-06 Paul Eggert * config/move-if-change: Don't output "$2 is unchanged"; suggested by Ben Elliston. Handle weird characters correctly. 2005-09-06 Stepan Kasal * lib/autoconf/libs.m4 (AC_SEARCH_LIBS): Merge the two AC_LINK_IFELSE calls, so that the final expansion of this macro is shorter. Create the conftest.$ac_ext outside the `for' loop, to speed the run. Do not use `break' in the argument to AC_LINK_IFELSE, it would skip the cleanup there. Use AS_VAR_* macros, to be more general. * tests/semantics.at (AC_SEARCH_LIBS): Check for the cleanup. * lib/autoconf/general.m4: Use AS_IF where appropriate. * lib/m4sugar/m4sh.m4 (AS_IF): Use m4_default. 2005-09-01 Stepan Kasal * doc/autoconf.texi (Configuration Headers): Add an index entry for AH_HEADER. 2005-08-26 Pavel Roskin * lib/autoconf/libs.m4 (_AC_PATH_X_XMKMF): Use shell variable XMKMF to locate xmkmf. Make XMKMF precious. Export CC when running xmkmf. 2005-08-26 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_VERSION_COMPARE_PREPARE): The previous patch didn't work, so try a better one. 2005-08-26 Stepan Kasal * doc/autoconf.texi (Programming in M4sh) : Fix m4 quoting in the example. Reported by Bruno Haible. : Likewise. Also modify the example to be more convincing: "if $undefined_var;" succeeds with my shell. * lib/autoconf/general.m4 (AC_CANONICAL_BUILD, AC_CANONICAL_HOST, AC_CANONICAL_TARGET): Define by AC_DEFUN, no need to use AC_DEFUN_ONCE; but change the m4_divert_text to m4_divert_once. 2005-08-25 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_VERSION_COMPARE_PREPARE): Work around bug in Solaris /usr/xpg4/bin/awk. The bug is present in at least Solaris 8 through 10. 2005-08-24 Stepan Kasal * lib/autoconf/general.m4 (_AC_CANONICAL_SPLIT): Simplify; rejecting some evil values and relying on the fact that $* concatenates the parameters by the first character from IFS. 2005-08-23 Ralf Wildenhues , Stepan Kasal * lib/autoconf/status.m4 (_AC_CONFIG_REGISTER_DEST): When the first header appears, define AH_HEADER. * doc/autoconf.texi (Configuration Headers): Document AH_HEADER. Update limitations about when to call AC_CONFIG_HEADERS. (Configuration Commands): Document that AC_CONFIG_COMMANDS_PRE parameter can call AC_SUBST, AC_DEFINE, or AC_CONFIG_FOOS; explain that AC_CONFIG_COMMANDS_PRE and AC_CONFIG_COMMANDS_POST are not ``Configuration Actions''; fix their index entries. * lib/autotest/general.m4 (AT_INIT): Process multiple keywords options correctly. Process N-M as M-N if M is smaller than N. Process ranges correctly so that N-N will run only N. Sort and uniquify the tests that will be run. If there is more than one test, reinsert the banners for the tests. * tests/autotest.at (Keywords): Unmark XFAIL. 2005-08-23 Stepan Kasal * lib/autoconf/general.m4 (_AC_DEFINE_Q): Strip the parameter list before passing the macro name to AH_TEMPLATE. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): config.status now opens log after option processing; in particular, --version and --help do not touch config.log. * Makefile.maint: Revert the change from 2005-08-12. 2005-08-22 Stepan Kasal * lib/autoconf/general.m4 (AC_ARG_ENABLE, AC_ARG_WITH): Factor out common code to... (_AC_ENABLE_IF, _AC_ENABLE_IF_ACTION): ... these new macros. 2005-08-21 Ralf Wildenhues * doc/autoconf.texi (Using Autotest, testsuite Scripts) (Autotest Logs, Writing testsuite.at, testsuite Invocation): Language cleanup. * doc/autoconf.texi (Defining Symbols, Changed Results): Prepend to LIBS, not append, in examples. 2005-08-16 Stepan Kasal When building in place, set srcdir="."; suggested by Tim Van Holder. * lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Do this; to recognize build in place, we need ac_pwd, and thus have to AC_REQUIRE ... (_AC_INIT_DIRCHECK): ... this macro and AC_DEFUN both of them. * lib/autoconf/status.m4 (_AC_SRCDIRS): Fix a comment: srcdir="." does not mean "no --srcdir option". 2005-08-15 Ralf Wildenhues * tests/autoscan.at (autoscan): New file. * tests/suite.at: Use it. * tests/Makefile.am (TESTSUITE_HAND_AT): Add it. Reported against Libtool by Gideon Go . * tests/autotest.at (Keywords): Test keywords combinations. 2005-08-12 Stepan Kasal * Makefile.maint (GZIP_ENV): When checking the help text of gzip, add "2>&1"; gzip 1.2.4 prints help on stderr. 2005-07-27 Stepan Kasal * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): The symbol at_reason was pushdef'ed twice while popped only once. Push it only once. (_AT_CHECK): Cosmetic changes to the "case $at_status" command. 2005-07-26 Stepan Kasal * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): The message is now prefixed by mere "===", not "configure: === ". 2005-07-25 Paul Eggert * Makefile.maint: Update from Bison. * lib/m4sugar/m4sugar.m4 (m4_strip): Comment fix---change tab to "" in comment, so that the point is understandable. 2005-07-25 Stepan Kasal Rewrite substantial part of lib/autoconf/status.m4. The main change is that CONFIG_FILES, CONFIG_HEADERS, CONFIG_LINKS, and CONFIG_COMMANDS are not processed in four separate loops. Instead, there is one main loop. This allows that the common code is expanded only once, thus config.status (and configure) is smaller. The registration mechanism in AC_CONFIG_FILES and cousins also changed; the AC_LIST_FILES and cousins macros are no longer used. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_OUTPUT_LINKS, _AC_OUTPUT_COMMANDS): Renamed to ... (_AC_OUTPUT_FILE, _AC_OUTPUT_HEADER, _AC_OUTPUT_LINK, _AC_OUTPUT_COMMAND): ..., respectively. These macros no longer contain the initialization, nor the for loop, nor the associated commands; all these go to ... (_AC_OUTPUT_MAIN_LOOP): ... this new macro, called from _AC_OUTPUT_CONFIG_STATUS. (_AC_CONFIG_SPLIT, _AC_CONFIG_SPLIT_SOURCE_DEST, _AC_CONFIG_SPLIT_FILE_IN): Nuked; the code was merged into _AC_OUTPUT_MAIN_LOOP. (_AC_OUTPUT_FILE): The creation of the sed script ... (AC_OUTPUT): ... and the setup of ac_vpsub goes to ... (_AC_OUTPUT_FILES_PREPARE): ... a new macro, also called from _AC_OUTPUT_MAIN_LOOP. (_AC_CONFIG_FILES, _AC_CONFIG_HEADERS, _AC_CONFIG_LINKS, _AC_CONFIG_COMMANDS): Use ... (_AC_CONFIG_FOOS): ... this new macro, which uses these ... (_AC_CONFIG_REGISTER, _AC_CONFIG_REGISTER_DEST): ... new macros. (_AC_CONFIG_FILE, _AC_CONFIG_HEADER, _AC_CONFIG_LINK, _AC_CONFIG_COMMAND, _AC_CONFIG_DEPENDENCIES): No longer needed. (_AC_CONFIG_DEPENDENCY): Update, it uses these ... (_AC_CONFIG_DEPENDENCY_DEFAULT, _AC_FILE_DEPENDENCY_TRACE_COLON): ... new macros. (_AC_CONFIG_UNIQUE): Update. (AC_LIST_FILES, AC_LIST_HEADERS, AC_LIST_LINKS, AC_LIST_COMMANDS): Replaced by this ... (_AC_LIST_TAGS): ... new common macro. (AC_LIST_FILE_COMMANDS, AC_LIST_HEADER_COMMANDS, AC_LIST_LINK_COMMANDS, AC_LIST_COMMAND_COMMANDS): Replaced by this ... (_AC_LIST_TAG_COMMANDS): ... new common macro. (_AC_CONFIG_COMMANDS_INIT): Moved top to the `registration' section; this didn't belong to the `config commands' section. (_AC_OUTPUT_COMMANDS_INIT): Don't initialize, m4_ifdef is our friend. (AC_CONFIG_COMMANDS_PRE, AC_OUTPUT_COMMANDS_PRE, AC_CONFIG_COMMANDS_POST): Moved to a new section, these didn't belong to the `config commands' section either. (AC_CONFIG_SUBDIRS): Don't touch diversion DEFAULTS. (_AC_LIST_SUBDIRS): Don't initialize, m4_ifdef is our friend. ... and many changes to the comments nearby. * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): At the end of the day, set ac_subdirs_all='_AC_LIST_SUBDIRS'. * tests/torture.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS): AC_CONFIG_COMMANDS(command:input,...) is no longer allowed. (#define header templates): The comment at the top of the generated header now includes the name(s) of the source file(s). Several unrelated small changes: * lib/autoconf/general.m4 (AC_CACHE_VAL): Be didactic, quote the first parameter to AC_DIAGNOSE. * lib/autoconf/status.m4 (AC_CONFIG_SUBDIRS): Likewise. (_AC_LINK_FILES_CNT): Don't AU_DEFUN this; it causes confusing messages with autoupdate; use m4_define_default inside AU_DEFUNed AC_LINK_FILES. (AC_OUTPUT): In the compatibility code, use m4_ifvaln, to be consistent with AU::AC_OUTPUT. (AU::AC_OUTPUT): Don't double-quote $2 and $3, the compatibility code in AC_OUTPUT doesn't double-quote it either. * tests/tools.at (autoupdate): AU::AC_OUTPUT no longer double-quotes the parameters. 2005-07-10 Stepan Kasal * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Document which versions of Portland Group compiler produce single- and double-quoted -cmdline argument. Reported by Steven G. Johnson and Ole Holm Nielsen . 2005-07-07 Paul Eggert * tests/local.at (AT_CONFIG_CMP): Ignore lines like "LIBS=''" too. This is a corrected version of yesterday's patch. 2005-07-07 Stepan Kasal * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Report the full path, too; insert a "===" to emphasize the line. * lib/autoconf/general.m4 (AC_CANONICAL_BUILD): Rename ac_cv_build_alias to ac_build_alias. (AC_CANONICAL_HOST, AC_CANONICAL_TARGET): Simplify. On 2005-02-24, an unintentional AC_SUBST([CC]) was introduced; this change eliminates it. Problem reported by Alexandre Duret-Lutz. * lib/autoconf/general.m4 (_AC_ARG_VAR_PRECIOUS): Move the AC_SUBST ... (AC_ARG_VAR): ... here. (_AC_INIT_PREPARE): Call AC_SUBST for build_alias, host_alias and target_alias. Keep a list of all precious variables and process them with one simple for loop, instead of expanding all commands, or, OTOH, complicated processing of output of "set". * lib/autoconf/general.m4 (_AC_ARG_VAR_PRECIOUS): Accumulate the variable names in new macro... (_AC_PRECIOUS_VARS): ... which will be assigned to ac_precious_vars. (_AC_ARG_VAR_STORE): New macro which writes to diversion PARSE_ARGS a loop to assign all ac_env_* and ac_cv_env_* variables. (_AC_ARG_VAR_VALIDATE): Use shell variable ac_precious_vars, divert to INIT_PREPARE. (_AC_INIT_DEFAULTS): At the end, if _AC_PRECIOUS_VARS is set, assign its value to shell variable ac_precious_vars and call _AC_ARG_VAR_STORE and _AC_ARG_VAR_VALIDATE. * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Don't call _AC_ARG_VAR_VALIDATE. * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Move AC_LANG_PUSH(C) and the AC_SUBSTs ... (AC_INIT): ... here. * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Changed the title of the ac_subst_files section in config.log. * tests/local.at (AT_CONFIG_CMP): Revert Paul's previous change. 2005-07-06 Paul Eggert * NEWS: New macro AC_C_TYPEOF. * doc/autoconf.texi (C Compiler): Document AC_C_TYPEOF. * lib/autoconf/c.m4 (AC_C_TYPEOF): New macro. * tests/c.at (C keywords): Test AC_C_TYPEOF. Fix problems reported by Nicolas Joly. * tests/base.at (Input/Output): Ignore 'loading site script' chatter. * tests/local.at (AT_CONFIG_CMP): Ignore lines like "LIBS=''" too. They are generated by the Tru64 v5.1B shell. 2005-07-05 Stepan Kasal Fix my changes from 2005-07-01; reported by Noah Misch. * lib/autoconf/status.m4 (_AC_CONFIG_DEPENDENCIES): Fix the description, the macro now accepts only a single tag. (_AC_CONFIG_UNIQUE): Likewise; s/AC_File/[$1]/ Fix cases when the varsions of Autoconf and Autotest don't match. Reported by Noah Misch. * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Set also at_top_builddir, for compatibility with older autotest. * lib/autotest/general.m4 (AT_INIT): If at_top_build_prefix is not set, use at_top_builddir, for compatibility with older versions of autoconf. 2005-07-04 Paul Eggert * bin/autom4te.in ($m4): Catch usages like --nesting-limit=2048. Problem reported by Patrick Welche. 2005-07-03 Paul Eggert * lib/autoconf/general.m4 (AC_ARG_PROGRAM): Use &, not |, in sed substitution command, so that we allow | in program prefixes and program suffixes. (& is a problem anyway; we're not fixing that here.) * lib/autoconf/status.m4 (AC_CONFIG_FILES): Likewise, for configure_input, top_builddir, srcdir, etc. * lib/autotest/general.m4 (AT_INIT): Likewise, for PATH_SEPARATOR in AUTOTEST_PATH. 2005-07-02 Alexandre Duret-Lutz * lib/autoconf/general.m4 (AC_SITE_LOAD): Rewrite the for loop over config.site files using `set', to allow directory names containing IFS characters. 2005-07-01 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): Remove the tests for directories with weird names. Apparently some people like living on the edge. However, improve the test that "pwd" actually does report a name for the working directory. * NEWS: Remove the claim that we test for funny chars in dir names. 2005-07-01 Stepan Kasal * lib/autoconf/general.m4 (AC_FOREACH): Make obsolete; it's replaced ... * lib/m4sugar/m4sugar.m4 (m4_foreach_w): ... by this new macro. * lib/autoconf/status.m4 (_AC_CONFIG_DEPENDENCIES, _AC_CONFIG_UNIQUE): Now accept a single tag, not whitespace separated list. (AC_CONFIG_SUBDIRS): Call _AC_CONFIG_UNIQUE in a m4_foreach_w loop. 2005-06-30 Stepan Kasal * doc/autoconf.texi (Configuration Headers): Change the explanation about #include . (Generic Functions): Mention the Gnulib project. (Limitations of Usual Tools) : Another minor rephrasing. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Use a here document to output the default config_* lists to config.status. Don't recognize option --file, if the functionality is not there. Likewise for --header; moreover, recognize --he and --h as shortcuts for --help in that case. * lib/autoconf/status.m4: Fix the order of the "sections", so that it matches the order of execution. No code changed. 2005-06-30 Ralf Wildenhues * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Fix also for single-quoted -cmdline argument in Portland Group compiler. Reported against LAM by Ole Holm Nielsen . 2005-06-30 Alexandre Duret-Lutz * lib/autom4te.in (Automake-preselections): Preselect AC_SUBST_TRACE. 2005-06-29 Stepan Kasal * doc/autoconf.texi (File Descriptors): ksh doesn't pass open file descriptors to child processes; reported by Norman Gray. 2005-06-29 Stepan Kasal * lib/autoconf/general.m4 (AC_ARG_VAR): Move next to _AC_ARG_PRECIOUS. * lib/autoconf/general.m4 (AC_SUBST_TRACE): New macro, to be traced instead of AC_SUBST; proposed by Alexandre Duret-Lutz. (AC_SUBST): Call it. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Call AC_SUBST_TRACE for the directory specific variables; but don't call it for configure_input. 2005-06-28 Derek Price * doc/autoconf.texi (Limitations of Usual Tools) : Reword recent addition. 2005-06-23 Paul Eggert * NEWS: Don't worry about spaces in bindir etc. Only srcdir and working directory have inherent problems with special characters like spaces, due to limitations in Make syntax. Problem reported by Alexandre Duret-Lutz. * lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): Implement the above. Also, fix Tru64 porting problem with shell patterns, reported by Ralf Wildenhues. 2005-06-23 Ralf Wildenhues * doc/autoconf.texi (Subdirectories): Fix markup typos. 2005-06-23 Paul Eggert * tests/local.at (AT_CHECK_ENV): Simplify regexp slightly. Fix some more shell quoting problems. Prompted by a bug report from Justace Clutter. * lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): Put name of invalid variable into diagnostic. Make the diagnostic an error, not a warning, because we really don't support spaces and suchlike in dir names. (_AC_INIT_SRCDIR): Allow special characters in $ac_unique_file. Don't worry about backslashes in srcdir; it can't happen now. (_AC_INIT_PARSE_ARGS): Allow weird characters in ac_optarg. Simplify ac_optarg handling. (_AC_ARG_VAR_VALIDATE): Remove unnecessary and inconsistent quotes. 2005-06-22 Stepan Kasal Fix AT_CONFIG_CMP for Solaris hosts; idea from Ralf Menzel. * configure.ac: Call AC_PROG_EGREP and AC_PROG_SED. * tests/atlocal.in: Propagate $EGREP and $SED. * tests/local.at (AT_CHECK_ENV): Use $EGREP, not $GREP -E. (AT_CONFIG_CMP): Use sed instead of grep plumbing. * doc/autoconf.texi (Limitations of Usual Tools) : Mention that '\|' is not allowed in BREs; recommend using newline separated list of patterns instead of multiple -e options. * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Remove an old comment. * lib/autoconf/general.m4 (_AC_CANONICAL_SPLIT): Use AC_SUBST/2. 2005-06-22 Ralf Wildenhues * lib/autoconf/general.m4 (_AC_CANONICAL_SPLIT): Fix typo. 2005-06-21 Stepan Kasal * doc/autoconf.texi (Limitations of Usual Tools) : Document that b, t, r, w commands require single space, while : cannot have any. (Special Shell Variables): Fix sed code this in the example. * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS): Likewise; and fix a typo. * lib/autotest/general.m4 (AT_ARG_OPTION): Fix typo in the description. * lib/m4sugar/m4sugar.m4 (m4_split): If the parameter is empty, expand to the empty list. Don't use two pairs of m4_changequote, it's not necessary. 2005-06-20 Derek Price * lib/m4/programs.m4 (AC_PROG_YACC): Declare YACC & YFLAGS precious. 2005-06-17 Paul Eggert * lib/m4sugar/m4sh.m4 (as_awk_strverscmp): Port to Solaris /bin/awk. * doc/autoconf.texi: Don't mention Solaris versions so much, if a problem is common to all extant versions of Solaris. Say "SunOS 4" instead of "SunOS" for SunOS 4. (awk): Mention more of the limitations of traditional Awk. (cat): Don't talk about cat -v. 2005-06-16 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_VERSION_COMPARE_PREPARE): New macro. (AS_VERSION_COMPARE): New macro. The API is taken from CVS, but the implementation is entirely different and is designed to be compatible with glibc strverscmp. * tests/m4sh.at (AS_VERSION_COMPARE): New test. * doc/autoconf.texi (Limitations of Usual Tools): Mention expr bug on Mac OS X 10.4 reported by Peter O'Gorman in: http://lists.gnu.org/archive/html/autoconf-patches/2005-06/msg00041.html * lib/autoconf/general.m4 (_AC_CANONICAL_SPLIT): Use shell builtins rather than 'expr', to work around expr bug. 2005-06-10 Paul Eggert * doc/autoconf.texi: "filesystem" -> "file system". "behaviour" -> "behavior". Warn about \(...\)* in Solaris sed (written by Ralf Menzel). * lib/autoconf/general.m4: Omit blank after ":" sed command, as per POSIX. * lib/m4sugar/m4sh.m4: Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS): Work around problem with Solaris sed. Fix by Ralf Menzel and Stepan Kasal. * man/Makefile.am (MOSTLYCLEANFILES): Add $(srcdir)/*.t. (.x.1): Ignore the time stamp in the .TH line when deciding whether to update the man page. That way, we don't have to check in new man pages every month. * lib/m4sugar/m4sh.m4 (AS_VAR_TEST_SET): Work even if $1 contains quotes and backslashes. Patch from Derek Price. 2005-06-10 Derek Price * doc/autoconf.texi (Programming in M4sh): Document AS_TR_CPP & AS_TR_SH. 2005-06-08 Paul Eggert * lib/autotest/general.m4 (AT_INIT): Don't accept Solaris 9's diff -u, since it outputs chatter if the input files are the same. Problem reported by Ralf Menzel. 2005-06-08 Derek Price * lib/m4sugar/m4sugar.m4: Undefine include & sinclude rather than renaming them since they are about to be redefined anyhow. 2005-06-08 Derek Price * doc/autoconf.texi (Redefined M4 Macros): Add index entries for most redefined M4 macros to this node. Document m4_include & m4_sinclude. Move m4_undefine to alphabetical order. 2005-06-07 Paul Eggert * README: Recommend GNU M4 1.4.3 or later. * doc/autoconf.texi (Introduction): Likewise. Reword to avoid some formatting glitches. Use "#!/bin/sh", not "#! /bin/sh"; the space isn't needed these days. Clarify explanation of HP compiler bug. Redo example output tp match current CVS snapshot. Use @example.org in email addresses when the examples might get inadvertently cut-and-pasted into user code. Remove example of autom4te usage that doesn't seem to work now. Use modern AC_INIT (except when the example is meant to be shown with Autoconf 2.13). Update ksh info for Solaris 9 and later. KB -> kB. Modernize description of Automake versions a bit. Don't claim a future version of Autoconf is near. * doc/install.texi: Reword to avoid some formatting glitches. 2005-06-07 Ralf Wildenhues * doc/autoconf.texi: Add [] to examples, so that the manual follows its own advice about quoting better. Reword to avoid some formatting glitches. * doc/installt.exi: Reword to avoid some formatting glitches. * doc/autoconf.texi (Limitations of Builtins) : Mention Tru64 ksh pattern matching bug. Reported against Libtool by Albert Chin and Nicolas Joly . 2005-06-06 Stepan Kasal m4_cdr of one-member list was [[]] (one-member list containing an empty string) instead of [] (an empty list. Callers were skewed to match this misbehaviour. As a consequence of this: - m4_foreach([x], [], [foo]) expanded to `foo', while - the expansion of m4_foreach([x], [[]], [foo]) was empty. This bug has been fixed: * lib/m4sugar/m4sugar.m4 (m4_cdr): If only one argument is given, expand to an empty string; print error msg if called without an argument list. (m4_foreach, m4_map, m4_map_sep): Don't expect the previous misbehaviour; handle [] and [[]] correctly. 2005-06-06 Stepan Kasal * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Nuke ac_max_here_lines. * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS): Simplify the sed scripts created and the loop applying them, use _AC_SED_CMD_LIMIT. 2005-06-06 Ralf Menzel (trivial change) * doc/autoconf.texi (Limitations of Usual Tools): Solaris' awk cannot swallow records with more than 99 fields. * lib/autotest/general.m4 (AT_INIT): Use the awk builtin `split' to parse the long line. 2005-06-04 Stepan Kasal * doc/autoconf.texi (Limitations of Usual Tools): AIX awk cannot swallow literals longer than 399. Reported by Ralf Wildenhues. * lib/autotest/general.m4 (AT_INIT): Pass $at_groups though stdin, to workaround this limitation. 2005-06-03 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_FC): Find g95 in addition to gfortran, and make these the first two compiler names checked (following the general autoconf preference for gcc). 2005-06-03 Stepan Kasal * tests/Makefile.am (check_SCRIPTS): Set to $(wrappers). (DISTCLEANFILES): Remove $(check_SCRIPTS). (testsuite): Make sure autotest.m4f is up-to-date before using it. 2005-06-02 Paul Eggert * lib/autotest/general.m4 (AT_INIT): Don't create a regular expression of unbounded size when processing the --list option. This runs afoul of a limit of 399 bytes per regular expression on AIX. Problem reported by Ralf Wildenhues. 2005-06-01 Paul Eggert * NEWS: Note yesterday's changes to AC_SUBST and AC_SUBST_FILE. * doc/autoconf.texi (Particular Headers): Reword example for multiline stdbool replacement. (Setting Output Variables): Reword text a bit. Don't give all the details about |#_!!_#|. Reword description of line replacement. 2005-05-31 Dan Manthey * lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Output variables may now contain newlines, and substituted files must be referenced on a line alone; the sed scripts to substitute them are now very different. (_AC_SED_CMD_LIMIT): Added; single place to store limit on how many commands can be put in a sed script portably. * doc/autoconf.texi (Setting Output Variables): Document above changes. (Particular Header Checks) : Give exaple use of multiline substitution. * tests/torture.at: No longer expect substitution of newline to fail. 2005-05-27 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_WORK): Fix diagnostics. From Ralf Menzel (trivial change). 2005-05-25 Paul Eggert * tests/local.at: Don't attempt to check for negated character classes in shell scripts. The test was too brittle. 2005-05-25 Stepan Kasal * bin/autoconf.as: Don't use "shift 2"; it's not portable enough. * doc/autoconf.texi (Limitations of Builtins): Document this limitation. 2005-05-24 Stepan Kasal * lib/m4sugar/m4sh.m4 (_AS_ECHO_LOG): New macro to factor out common code; used in many places in the tree. (AS_ESCAPE): Make the pattern a bit simpler; use \& insetad of \1. (_AS_ECHO_UNQUOTED): Move the macro lower; no code change. * lib/m4sugar/m4sugar.m4 (m4_ifset): Use m4_ifval. * lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Merge the two error messages when ac_unique_file is not found. (AC_CONFIG_MACRO_DIR): Simplify the `if' at the end. (AC_MSG_CHECKING, AC_MSG_RESULT): Put braces around the two echo commands, for consistency with AC_MSG_ERROR and such. * bin/autoconf.as: Make more use of "shift 2" in option processing. * bin/Makefile.am: Merge the two rules for creating scripts. 2005-05-23 Stepan Kasal * lib/autoconf/general.m4 (AC_MSG_RESULT_UNQUOTED): Make obsolete; it was never documented. (AC_CACHE_CHECK): Use AC_MSG_RESULT instead. 2005-05-20 Stepan Kasal * NEWS: @top_builddir@ is now a dirname, ac_top_builddir will follow. * lib/autoconf/status.m4 (_AC_SRCDIRS): Rename ... (ac_top_builddir): ... this ... (ac_top_build_prefix): ... to this; the old name is also kept, for backward compatibility. (ac_top_builddir_sub): New variable, without the trailing slash, always nonempty. (_AC_OUTPUT_FILES): s/@top_builddir@/$ac_top_builddir_sub/ * doc/autoconf.texi (Configuration Actions): Rename ac_top_builddir to ac_top_build_prefix. * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Rename at_top_builddir to at_top_build_prefix. * lib/autotest/general.m4 (AT_INIT): Likewise. 2005-05-20 Stepan Kasal * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Simplify the init of confdefs.h . 2005-05-17 Stepan Kasal * lib/m4sugar/m4sugar.m4 (m4_text_wrap): Don't m4_quote the second argument to m4_foreach. I guess it was necessary in the past, but I think it's a no-op now. 2005-05-17 Stepan Kasal * lib/autoconf/general.m4 (_AC_INIT_HELP): Merge two consecutive ``cat <<_ACEOF'' commands to one. (_AC_CANONICAL_SPLIT): Use expr, not ``echo|sed.'' * lib/autoconf/status.m4: On various places, use expr instead of ``echo|sed.'' (_AC_CONFIG_SPLIT, _AC_CONFIG_SPLIT_SOURCE_DEST): (_AC_CONFIG_SPLIT_FILE_IN): New macros, to factor out common code. * lib/autotest/general.m4 (AT_INIT): Use expr to get the numbers from a range. * tests/local.at (AT_CHECK_SHELL_SYNTAX): Use awk to search for the wrong patterns between ``case'' and ``esac.'' The previous code had false positives. 2005-05-14 Alexandre Duret-Lutz * lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA): Prepend ${LIBOBJDIR}, as on 2005-05-02. * doc/autoconf.texi (Particular Functions) : Mention LIBOBJDIR. 2005-05-13 Paul Eggert * AUTHORS, BUGS, COPYING, ChangeLog, ChangeLog.0, ChangeLog.1, ChangeLog.2, GNUmakefile, Makefile.am, Makefile.cfg, Makefile.maint, NEWS, README, README-alpha, TODO, configure.ac, bin/Makefile.am, bin/autoconf.as, bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in, config/Makefile.am, config/config.guess, config/config.sub, config/elisp-comp, config/m4.m4, config/mdate-sh, config/missing, config/texinfo.tex, doc/Makefile.am, doc/fdl.texi, lib/Makefile.am, lib/autom4te.in, lib/freeze.mk, lib/Autom4te/C4che.pm, lib/Autom4te/ChannelDefs.pm, lib/Autom4te/Channels.pm, lib/Autom4te/Configure_ac.pm, lib/Autom4te/FileUtils.pm, lib/Autom4te/General.pm, lib/Autom4te/Request.pm, lib/Autom4te/Struct.pm, lib/Autom4te/XFile.pm, lib/autoconf/Makefile.am, lib/autoconf/autoconf.m4, lib/autoconf/autoheader.m4, lib/autoconf/autoscan.m4, lib/autoconf/autotest.m4, lib/autoconf/autoupdate.m4, lib/autoconf/c.m4, lib/autoconf/fortran.m4, lib/autoconf/functions.m4, lib/autoconf/general.m4, lib/autoconf/headers.m4, lib/autoconf/lang.m4, lib/autoconf/libs.m4, lib/autoconf/oldnames.m4, lib/autoconf/programs.m4, lib/autoconf/specific.m4, lib/autoconf/status.m4, lib/autoconf/types.m4, lib/autoscan/Makefile.am, lib/autoscan/autoscan.list, lib/autoscan/autoscan.pre, lib/autotest/Makefile.am, lib/autotest/autotest.m4, lib/autotest/general.m4, lib/emacs/Makefile.am, lib/emacs/autoconf-mode.el, lib/emacs/autotest-mode.el, lib/m4sugar/Makefile.am, lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4, man/Makefile.am, tests/Makefile.am, tests/atlocal.in, tests/autotest.at, tests/base.at, tests/c.at, tests/compile.at, tests/foreign.at, tests/fortran.at, tests/local.at, tests/m4sh.at, tests/m4sugar.at, tests/mktests.sh, tests/semantics.at, tests/suite.at, tests/tools.at, tests/torture.at, tests/wrapper.as: Update FSF postal mail address. 2005-05-13 Stepan Kasal * lib/autoconf/general.m4 (AC_CONFIG_LIBOBJ_DIR): Remove the broken check. * lib/m4sugar/m4sugar.m4 (m4_bmatch): Halt with error if we don't get enough arguments, similarly as in m4_bpatsubsts. 2005-05-12 Stepan Kasal * lib/autoconf/status.m4 (_AC_SRCDIRS): Simplify the computation of absolute paths. 2005-05-11 Stepan Kasal * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Make the check for absolute directory names in one loop. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Handle abbreviations of --version and --debug. 2005-05-10 Paul Eggert * doc/autoconf.texi (Autoconf Language): Be more precise about quoting rules. Problems noted by Stepan Kasal. Also, throughout this document, be more careful about white space. "blank", "white space", and "space" all have different meanings and we should be careful to say what we mean. 2005-05-05 Paul Eggert Fix C++ related problems reported by Werner Lemberg. * doc/autoconf.texi (C++ Compiler): Mention .cpp extension. * lib/autoconf/c.m4 (AC_LANG(C++)): Set ac_ext to .cpp, not .cc. * lib/autoconf/types.m4 (AC_TYPE_SIGNAL): Simplify test, to avoid problems with C++ and throw. * tests/compile.at: .cpp, not .cc. * tests/semantics.at: Prepend LIBOBJDIR, as per 2005-05-02 change. 2005-05-05 Ralf Wildenhues * doc/autoconf.texi (Generic Functions): Typos. 2005-05-02 Gary V. Vaughan * lib/autoconf/general.m4 (_AC_LIBOBJS_NORMALIZE): Prepend each object named in LIBOBJS and LTLIBOBJS with the ${LIBOBJDIR}, as set by latest automake. 2005-05-01 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): "expr '' \| ''" outputs 0 on GNU/Linux these days. 2005-04-29 Paul Eggert * doc/autoconf.texi (Autoconf Language): Add more description about quoting heuristics. (Limitations of Builtins): Describe "set -" problems. 2005-04-29 Ralf Wildenhues * lib/autotest/general.m4 (AT_KEYWORDS): Separate by space, not newline. * doc/autoconf.texi (External Software): Replace AC_DEFINE_UNQUOTED by AC_DEFINE; it was a mistake. From bug reported against libtool by Dalibor Topic . 2005-04-25 Stepan Kasal * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS): A tiny optimization. 2005-04-22 Stepan Kasal * doc/autoconf.texi (External Software): Quadrigraphs are not processed correctly in AS_HELP_STRING; avoid this in the examples. * lib/m4sugar/m4sh.m4 (AS_HELP_STRING): Add a FIXME about quadrigraphs. * lib/m4sugar/m4sugar.m4 (m4_text_wrap): Likewise; and rephrase the comment and reduce m4_default([foo], []) to [foo]. (m4_strip): Update the explanation. 2005-04-19 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_PREPARE, _AC_RUN_IFELSE): Remove core.conftest.* too; it's generated by Tru64 5.1. Problem reported by Jennis Pruett. * lib/autoconf/functions.m4 (AC_FUNC_SETVBUF_REVERSED, AC_FUNC_UTIME_NULL): Don't bother to remove core files; AC_RUN_IFELSE should do that for you. 2005-04-19 Stepan Kasal * lib/m4sugar/m4sugar.m4 (m4_bpatsubsts): Add the b- to comment, too. 2005-04-19 Alexandre Duret-Lutz * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Handle --docdir. Report from Horst Wente. 2005-04-15 Stepan Kasal * lib/autoconf/general.m4 (_AC_ARG_VAR_VALIDATE): Fixed a typo in the comment. 2005-04-14 Gregorio Guidi * doc/autoconf.texi (External Software, Package Options): Add examples showing how to implement --with-* and --enable-* options. 2005-04-13 Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Look for configure.ac as well as configure.in. Problem reported by Gregorio Guidi. 2005-04-10 Paul Eggert * doc/autoconf.texi (Particular Functions): Use gnulib's current pattern for alloca snippet. 2005-04-04 Stepan Kasal * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): Fix a typo. 2005-04-01 Stepan Kasal * doc/autoconf.texi (Generic Programs): Fix a typo. 2005-04-01 Paul Eggert * lib/autotest/general.m4 (AT_INIT): Don't assume that "date +%s" fails if %s isn't supported. Problem reported by Ralf Wildenhues. 2005-03-22 Ralf Wildenhues * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Merge `-z option' as well for the benefit of Solaris link flags. Pass whole-archive (-zallextract, -zdefaultextract) options in the hope of unique libraries, for the Sun Fortran 95 8.0 compiler. Bug reported against Libtool by Yury Puhalsky . 2005-03-22 Paul Eggert * NEWS: The configure command now warns you if you attempt to use a directory whose name contains a special character like space, newline, or "\". * doc/autoconf.texi (Installation Directory Variables): Allow "," in file names. Do not use \@; it's not a portable regexp. * bin/Makefile.am (edit): Likewise. * lib/Makefile.am (edit): Likewise. * tests/Makefile.am (edit): Likewise. * tests/semantics.at: Likewise. * tests/torture.at: Likewise. * lib/autoconf/general.m4 (AC_ARG_PROGRAM): Likewise. * lib/autoconf/status.m4 (_AC_SRCDIRS): Likewise. * doc/autoconf.texi (File System Conventions): Warn about unportable file names. * lib/autoconf/general.m4 (_AC_INIT_DIRCHECK): New macro. (AC_INIT): Use it. (_AC_INIT_SRCDIR): Use ac_pwd rather than invoking pwd. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Propagate ac_pwd, and quote srcdir. * lib/autotest/general.m4 (AT_INIT): Quote file name args. * doc/autoconf.texi: Fix some systematic formatting problems. ".)" needs a following @: if not at the end of a sentence, and similarly for "!)". "etc." should be preceded by a comma. "n-th" -> "@var{n}th". pdksh is still buggy, so update its date. 2005-03-22 Bruno Haible * doc/autoconf.texi (Input): Mention that AC_CONFIG_AUX_DIR's argument is often called 'build-aux'. 2005-03-07 Stepan Kasal * doc/autoconf.texi (Quotation Rule Of Thumb): Mention that the macro AC_TRY_LINK is obsolete. (Installation Directory Variables): Change `AC_OUTPUT_FILES' to `AC_CONFIG_FILES'. 2005-02-24 Stepan Kasal * lib/autoconf/c.m4 (AC_PROG_CC): Be more careful to skip `/usr/ucb/cc'; use `cl.exe' to distinguish the MS compiler from a Common Lisp's `cl'. (AC_PROG_CXX): Behave according to the documentation: don't search for $ac_tool_prefix$CCC and $CCC, just set CXX=$CCC; make the variable CCC precious; use `cl.exe', not `cl'. 2005-02-23 Paul Eggert Alexandre Duret-Lutz * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Redirect stdin from /dev/null, as "configure" shouldn't read stdin, and this insulates us from problems (e.g., when testing for "cl"). Also, do this redirection before invoking "hostname" or "uname", and keep the original input stream available via... (AS_ORIGINAL_STDIN_FD): ... this new macro. (_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Don't bother with " * lib/m4sugar/m4sh.m4 (_AS_ECHO_N_PREPARE): Don't set ECHO_C to newline if neither \c nor -n work, as that would output two newlines. Prefer -n to \c. Reported by Stepan Kasal. 2005-02-12 Stepan Kasal * lib/m4sugar/m4sh.m4 (AS_IF): Define by m4_defun, not m4_define. This causes that any required macros inside will get before the if. * doc/autoconf.texi (autom4te.cache): A typo. 2005-02-12 Paul Eggert Undo previous change, except keep the change to lib/autoconf/programs.m4 that replaced grep with shell pattern-matching. This is because net-snmp configure reads stdin. Reported by Noah Misch. 2005-02-11 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Redirect stdin from /dev/null, as "configure" shouldn't read stdin, and this insulates us from problems (e.g., when testing for "cl"). Suggested by Alexandre Duret-Lutz. Also, do this redirection before invoking "hostname" or "uname". (_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Undo previous change, as it's no longer needed. * lib/autoconf/c.m4 (AC_PROG_CC, AC_PROG_CXX): Don't bother with " * lib/autoconf/general.m4 (_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE): Redirect stdin to /dev/null, in an attempt to avoid thinking that Allegro Common Lisp's "cl" command is a C++ compiler. 2005-02-09 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Document that grep -q isn't portable. Improve grep -s explanation. Problem reported by Dan Manthey. 2005-02-08 Paul Eggert * doc/autoconf.texi (Special Shell Variables): Clarify PATH_SEPARATOR wording; fix typo in IFS. Reported by Gary V. Vaughan. 2005-02-07 Paul Eggert * doc/autoconf.texi: Use @acronym for DJGPP. Fix some @code's that should have been @env's, and vice versa. Sort environment variable names. Mention that shells no longer inherit IFS. Don't recommend PATH_SEPARATOR=';' so strongly. Mention that $RANDOM might expand to the empty string. "symlink" and "soft link" -> "symbolic link". Improve mktemp description (reported by Bruno Haible). 2005-02-05 Paul Eggert * tests/foreign.at (Libtool): Don't overquote AT_SETUP arg. * tests/m4sh.at (AS_DIRNAME, AS_BASENAME, AS_MKDIR_P, AS_HELP_STRING): Likewise. * tests/semantics.at (AC_C_BIGENDIAN, AC_PATH_PROG & AC_PATH_PROGS): Likewise. 2005-02-04 Paul Eggert * NEWS: Mention AT_COPYRIGHT. * tests/local.at (AT_CMP): Use diff directly on input files rather than copying them. * lib/autoconf/programs.m4 (AC_PROG_SED): Don't look in /usr/xpg4/bin since that sed dumps core (at least on Solaris 8). 2005-02-04 Noah Misch and Paul Eggert * tests/autotest.at (Empty test suite): New test. * tests/torture.at (Substitute and define special characters) (Substitute a 2000-byte string, Define to a 2000-byte string) (Substitute a newline, Define a newline): New tests. 2005-02-04 Noah Misch * lib/m4sugar/m4sugar.m4 (m4_re_string, m4_re_word): Revert 2002-03-04. * tests/local.at (AT_CHECK_M4SUGAR): Add `m4sugar' to keywords. (AT_CHECK_ENV): Ignore LTLIBOBJS, FC variables, EGREP, FGREP, and SED. * tests/m4sugar.at (AT_CHECK_M4SUGAR_TEXT, AT_CHECK_M4RE): New macros. (Standard regular expressions): New test. (m4_warn, m4_require: circular dependencies, m4_text_wrap): Strip excess test name quoting. * tests/semantics.at (AC_CHECK_HEADERS_OLD, AC_CHECK_HEADERS_NEW): Pass CPPFLAGS to `configure' instead of setting it in `configure'. * lib/m4sugar/m4sh.m4 (AS_UNAME): Try only /usr/bin/hostinfo, not any `hostinfo' in $PATH, since hostinfo.exe is a popular file name on some platforms. * lib/autoconf/fortran.m4 (AC_LANG(Fortran), AC_FC_SRCEXT): s/FC_SRCEXT/ac_fc_srcext/; s/FCFLAGS_SRCEXT/ac_fcflags_srcext/. * tests/local.at (AT_CMP): New macro. (AT_DATA_AUTOCONF): Do not call AC_PROG_GREP. (AC_SAVE_STATE): Move environment grep... (AT_CHECK_ENV): to here. Filter out `'$''. Use AT_CMP. (AT_CONFIG_CMP): New macro. (AT_CHECK_MACRO): Run `configure' twice with cache and compare results. * tests/c.at (Extensions): Do not exit early. * tests/atlocal.in: Inherit $GREP. * lib/autoconf/c.m4 (_AC_C_STD_TRY): New macro. (_AC_PROG_CC_C89, _AC_PROG_CC_C99): Use it. * lib/autoconf/general.m4 (_AC_INIT_COPYRIGHT): Update for 2005. (AC_COPYRIGHT): Factor header comment portion out and move into... * lib/m4sugar/m4sh.m4 (AS_COPYRIGHT): This. * lib/autotest/general.at (AT_COPYRIGHT): New macro. (AT_INIT): Add Autotest copyright notice. Display copyright notices in --version output. * tests/local.at: Add Autoconf test suite copyright notice. * doc/autoconf.texi (Writing testsuite.at): Document AT_COPYRIGHT. 2005-02-04 Bruno Haible and Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): New mkstemp entry. 2005-02-03 Paul Eggert * lib/m4sugar/m4sugar.m4 (m4_re_escape): Escape ?, ^, \, $ too; this fixes a bug tickled by the AT_CAPTURE_FILE change noted below. Try not to generated lines of unlimited length, as POSIX places a 2047-byte limit on line length of portable text files. * lib/autoconf/general.m4 (AC_SUBST, AC_SUBST_FILE): Use newline as a separator, not space. * lib/autotest/general.m4 (AT_TESTED, AT_KEYWORDS): Likewise. (AT_CAPTURE_FILE): Use space-backslash-newline as a separator, not space. 2005-02-03 Ralf Wildenhues * lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_WORK): Move func_* to as_func_*. Add test to check whether positional parameters are restored after function return. 2005-02-02 Paul Eggert * doc/autoconf.texi (Special Shell Variables): Mention _, BIN_SH, DUALCASE. Say that variables other than "status" are safe if they contain a lower-case letter. The DUALCASE problem was reported by Ralf Wildenhues. * bin/autoconf.as: Don't exit with status 0 after write failure with --help or --version. * lib/autoconf/general.m4 (_AC_INIT_HELP, _AC_INIT_VERSION): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Likewise. 2005-02-02 Ralf Wildenhues * doc/autoconf.texi (Limitations of Usual Tools): Unicos 9 sed limitations. * lib/autoconf/fortran.m4 (_AC_PROG_FC): Try cf77 before fort77 to get the option-enhanced interface on older Crays. Try ftn for Fortran 95 (newer Crays). 2005-02-01 Paul Eggert * man/Makefile.am (.x.1): Go back to the simple solution, but take care to echo the commands, so the user knows what's going on. Modified from a suggestion by Stepan Kasal. * doc/autoconf.texi (autoreconf Invocation): Mention autopoint, with a cross reference. Derived from a suggestion by Bruce Korb. 2005-01-31 Paul Eggert * doc/autoconf.texi (config.status Invocation): Warn about discrepancy between CONFIG_SHELL and shell used to invoke 'configure'. * doc/install.texi (Defining Variables): Likewise. Based on a proposed patch by Ralf Wildenhues. * man/Makefile.am (.x.1): Make sure the required generated files are up to date. Problem and original solution proposed by Stepan Kasal. $(dist_man_MANS:.1=-bin-prereq), $(dist_man_MANS:.1=-tests-prereq), implicit-man-prerequisites): New rules, used by the above. * doc/make-stds.texi, doc/standards.texi: Sync from gnulib. * config/config.guess, config/config.sub, config/install-sh: Likewise. * config/missing, config/texinfo.tex: Likewise. 2005-01-29 Stepan Kasal Simplify the implementation of m4_require (a.k.a. AC_REQUIRE). Update the long comment explaining it. m4_require no longer writes an ``is required by'' line to the execution stack. It contains only one bit of non-redundant information: that the macro was required, not called. And even this bit is useless in most situations: have you ever met a macro which both calls and requires the same macro? * lib/m4sugar/m4sugar.m4 (_m4_defun_pro): Don't push a diversion... (_m4_defun_pro_outer): ... only via this macro, for the outermost macro. (_m4_defun_epi, _m4_defun_epi_outer): Complementarily. (m4_expansion_stack_pop): Remove the misplaced comment. (m4_require): Don't put the ``is required by'' line to the execution stack; slightly improve the out-of-a-defun error message. (_m4_divert_grow): New macro, counter for the temporary diversions. (_m4_require_call): Use it. * tests/m4sugar.at (m4_require): Expect output without the ``is required by'' messages. 2005-01-28 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Recommend X rather than x for expr. * lib/autoconf/lang.m4 (_AC_COMPILER_OBJEXT): Avoid subshells when this is safe. * lib/autoconf/programs.m4 (AC_PROG_EGREP, AC_PROG_FGREP): Likewise. * lib/autoconf/specific.m4 (AC_SYS_LONG_FILE_NAMES): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/m4sugar/m4sh.m4 (_AS_LINENO_WORKS): Likewise. * tests/mktests.sh: Likewise. 2005-01-27 Akim Demaille Have autoheader honor --force. * doc/make-stds.texi, doc/standards.texi: Update from masters. * lib/Autom4te/Channels.pm, lib/Autom4te/Configure_ac.pm * lib/Autom4te/FileUtils.pm, lib/Autom4te/XFile.pm: Update from masters, so that FileUtils.pm's update_file provide --force support. * bin/autoheader.in: Pass $force to update_file so that config.h.in is always recreated when --force. 2005-01-24 Stepan Kasal * doc/autoconf.texi (Introduction): Update Peter Simons' address. 2005-01-21 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Clarify that "if test ! -d foo; ..." is portable. Suggested by Stepan Kasal. 2005-01-20 Paul Eggert * doc/autoconf.texi (Shell Substitutions): Fix typo in case statement. Warn about newline stripping in `` and $(). Update Solaris version to 9. (Limitations of Builtins): Use expr "X...", not expr "x...", as X insulates us from future changes to Posix. (Limitations of Usual Tools): For AS_DIRNAME, warn about newline stripping. 2005-01-19 Stepan Kasal * doc/autoconf.texi (Defining Symbols): Delete the false comment that you cannot use AC_DEFINE to define macros containing `[' or `]'. 2005-01-13 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Document bug in Solaris 8 join. Problem reported by Tomohiro Suzuki on bug-tar mailing list. 2005-01-05 Stepan Kasal * lib/m4sugar/m4sugar.m4 (m4_copy): Fix the explanation. 2005-01-05 Paul Eggert * lib/autoconf/c.m4 (AC_LANG_INT_SAVE(C)): Declare longval and ulongval to be static, to avoid unwanted GCC warning. Problem reported by Michael Jennings via Daniel Reed; see . 2005-01-05 Alexandre Duret-Lutz * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Define datarootdir, docdir, htmldir, dvidir, pdfdir, psdir, and localdir. Update datadir, infodir, and mandir. Adjust argument parsing code. (_AC_INIT_HELP): Update help text. * doc/autoconf.texi (Installation Directory Variables): Document new variables. 2005-01-04 Noah Misch * lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): If the Make program does not seem to work, assume it does set $(MAKE). * doc/autoconf.texi (AC_PROG_MAKE_SET): Update. 2005-01-03 Stepan Kasal * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Add a comment about nesting. 2005-01-03 Stepan Kasal A cleanup of the diversion support in m4sugar. * lib/m4sugar/m4sugar.m4 (_m4_divert): A typo in description. (_m4_divert_n_stack): New macro; the expansion is m4_divert_stack, if m4_divert_stack is defined, and void otherwise. (m4_divert, m4_divert_push, m4_divert_pop, m4_init): Use it. (m4_divert_push, m4_divert_pop, _m4_defun_epi): Don't expand the word stored in _m4_divert_diversion or _m4_divert_dump. (m4_divert_pop): When the parameter is given, compare the symbolic name with the last diversion pushed on the stack. Previously, the current diversion was compared with the numeric value of the diversion given as the parameter. (m4_require): If the macro hasn't been expanded yet, call ... (_m4_require_call): this new macro. 2005-01-03 Ralf Wildenhues * lib/autoconf/general.m4 (_AC_INIT_PREPARE, _AC_ARG_VAR_VALIDATE): Workarounds for documented `case' limitations. 2005-01-03 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Warn about sed 'command1;command2'. Problem reported by Ralf Wildenhues. 2005-01-02 Paul Eggert * bin/autoconf.as, bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in, tests/mktests.sh: Update copyright date to 2005. Patch from Roger Leigh (with some minor changes) as follows: * NEWS: New macros AC_PROG_CC_C89, AC_PROG_CC_C99. Resurrect AC_PROG_CC_STDC. * doc/autoconf.texi (C Compiler): Add AC_PROG_CC_STDC, AC_PROG_CC_C89, AC_PROG_CC_C99. (Obsolete Macros): Remove AC_PROG_CC_STDC; it's no longer obsolete. * lib/autoconf/c.m4 (_AC_PROG_CC_C89, _AC_PROG_CC_C99, AC_PROG_CC_C89, AC_PROG_CC_C99): New macros. (AC_PROG_CC_STDC): Use them. (_AC_PROG_CC_STDC): Remove. (AC_C_PROTOTYPES): Use ac_cv_prog_cc_c89, not ac_cv_prog_cc_stdc. * THANKS: Add Roger Leigh. 2004-12-30 Noah Misch * bin/autoreconf.in (autoreconf_current_directory): AM_INIT_AUTOMAKE signals that the package uses Automake; a `Makefile.am' is typical but not essential. Reported by Magnus Therning. * tests/torture.at (autoreconf.): New banner. (autoreconf and non-AC configure): Rename to `Non-Autoconf AC_CONFIG_SUBDIRS'. (autoreconf an empty directory): Rename to `Empty directory'. (Unusual Automake input files): New test. 2004-12-30 Noah Misch * lib/autotest/general.m4 (AT_CAPTURE_FILE): New macro. (AT_SETUP): Clear AT_capture_files. (_AT_CHECK): On failure, log each of AT_capture_files. Fix comment. (AT_KEYWORDS): Fix comment typo. * tests/autotest.at (AT_CHECK_AT): Use AT_CAPTURE_FILE. * tests/local.at (AT_CHECK_CONFIGURE): Use AT_CAPTURE_FILE. * doc/autoconf.texi (Writing testsuite.at): Document AT_CAPTURE_FILE. 2004-12-29 Albert Chin-A-Young * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): If the variable to set is already set, set ac_cv_path_$1 to the preset value so caller can assume ac_cv_path_$1 is available. (trivial change) 2004-12-27 Noah Misch * BUGS (Minor Problems): Warn about makefile limitations. * Makefile.am: Find and update `INSTALL' in $(srcdir). * man/Makefile.am: Find and update manual pages in $(srcdir). 2004-12-24 Eric Blake * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Test candidate shells in subshell, to avoid noise from ash. (trivial change) 2004-12-22 Ralf Wildenhues * doc/autoconf.texi (Limitations of Builtins) : Mention problems with SunOS ksh and backslash escaping, Bourne shells and closing brackets (both within character classes). Bug reported against Libtool by Alexander Kurz . : New entry. Mention non-availability of -r. 2004-12-21 Akim Demaille * lib/autotest/general.m4 (AT_LINE): Don't add srcdir here, to avoid cluttering displayed messages. Rather, prepend srcdir where AT_LINE is used for log files. 2004-12-21 Stepan Kasal * lib/autoconf/status.m4: Quote ``$tmp'' in many places. * lib/m4sugar/m4sh.m4 (AS_TMPDIR): Fix the comment, as traps are no longer part of the macro, quote the occurrence of ``$tmp''. * doc/autoconf.texi (Forbidden Patterns): Typo. 2004-12-21 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Make sure the "ok" etc. are separated from the test title by forcing a white space. 2004-12-21 Akim Demaille Enable Emacs navigation within testsuite.log files. * lib/autotest/general.m4 (AT_CLEANUP): Add an hint for Emacs to use the compilation mode. (AT_LINE): Point to the srcdir. 2004-12-19 Noah Misch * tests/Makefile.am (installcheck-local): Use $(bindir). (check-local, installcheck-local): Pass TESTSUITEFLAGS. * doc/autoconf.texi (Making testsuite Scripts): Recommend the same Makefile.am scheme Autoconf now uses. 2004-12-18 Noah Misch * lib/m4sugar/m4sugar.m4 (m4_qlen, m4_qdelta): New macros. * lib/autotest/general.m4 (AT_SETUP): Use m4_qdelta. 2004-12-18 Noah Misch * lib/autotest/general.m4 (_AT_DECIDE_TRACEABLE): New macro. (_AT_CHECK): Use it. * lib/m4sugar/m4sh.m4 (AS_ESCAPE_FOR_EXPAND): Remove. (AS_ESCAPE): Fix comment. * tests/autotest.at: Adjust section banner comments. (AT_CHECK_AT): Accept STATUS and STDERR. (AT_CHECK_AT_TEST): Likewise. (Invalid brace-enclosed parameter expansion) (Multiline command from M4 expansion) (Double-M4-quoted command): New tests. 2004-12-17 Paul Eggert * doc/autoconf.texi: Update GNU FDL version from 1.1 to 1.2. 2004-12-17 Akim Demaille * lib/autoconf/general.m4 (AC_SUBST, AC_SUBST_FILES): Pass $1 to m4_pattern_allow. Suggested by Alexandre Duret-Lutz. * doc/autoconf.texi (Setting Output Variables): Catch up. 2004-12-17 Stepan Kasal * lib/m4sugar/m4sh.m4 (_AS_TEST_PREPARE): Fix comment. 2004-12-17 Stepan Kasal * lib/autoconf/general.m4 (_AC_LIBOBJ): We can use AC_SUBST/2, remove the comment which said we cannot. 2004-12-17 Stepan Kasal Add a specialized check for resolv.h. Thanks to Gerrit P. Haase, Reini Urban and Paul Eggert for reporting the dependencies. * lib/autoconf/headers.m4 (AC_HEADER_RESOLV): New macro. * doc/autoconf.texi (AC_HEADER_RESOLV): Document it. (AC_HEADER_STAT): @cvindex{STAT_MACROS_BROKEN}, not @acindex. 2004-12-17 Stepan Kasal * bin/autoscan.in: Open autoscan.log only after ``parse_args''; so that eg. ``autoscan --help'' doesn't truncate it. 2004-12-15 Nicolas Joly * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): Remove generated conftest files. 2004-12-13 Noah Misch * lib/autotest/general.m4 (_AT_CHECK) [--trace]: Do not enable shell tracing on commands with possibly-escaped newlines. * doc/autoconf.texi (Writing testsuite.at): Delete documentation of the discontinued behavior and its implications. * tests/autotest.at (BS-newline in command, ^BS-newline in command) (BSx641-newline in command, BS-BS-newline in command) (BSx640-newline in command, Newline-CODE-BS-newline in command) (Single-quote-BS-newline in command) (Single-quote-newline-BS-newline in command): New tests. 2004-12-13 Stepan Kasal * lib/m4sugar/m4sh.m4 (AS_EXECUTABLE_P): Use test -f && test -x on platforms where it works. (_AS_TEST_PREPARE): Test for ``test -x''. (_AS_BROKEN_TEST_PREPARE): Nuke. 2004-12-13 Stepan Kasal * lib/m4sugar/m4sh.m4 (AS_TMPDIR): Move the trap commands ... * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): ... here; give only 4-letter prefix to AS_TMPDIR, comment fixed. * lib/autoconf/programs.m4 (_AC_PATH_PROG_FEATURE_CHECK): Don't create the temporary directory. (_AC_FEATURE_CHECK_LENGTH): Work in current directory. 2004-12-12 Kelley Cook * bin/autoheader.in: Exit if no AC_CONFIG_HEADERS was found. (trivial change) 2004-12-12 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Usual Tools) : Typo. 2004-12-11 Noah Misch * lib/autotest/general.m4 (_AT_CHECK) [--trace]: Rework a shell pattern to avoid using a negated character class. Reported by Nicolas Joly. * tests/local.at (AT_CHECK_SHELL_SYNTAX): Check for similar constructs. 2004-12-10 Paul Eggert * man/Makefile.am (autoconf.1, autoheader.1, autom4te.1, autoreconf.1, autoscan.1, autoupdate.1, ifnames.1, config.guess.1, config.sub.1): Don't depend on .x file explicitly, since "make" does that for us. Suggested by Stepan Kasal. * bin/Makefile.am (MOSTLYCLEANFILES): Renamed from CLEANFILES. Add *.tmp. (autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate, ifnames): Factor common code. And they said it couldn't be done! 2004-12-09 Paul Eggert * bin/.cvsignore: Add autoconf.in. * tests/.cvsignore: Add wrapper.in. * lib/autotest/general.m4: Escape '$' in case pattern. 2004-12-09 Noah Misch * man/Makefile.am (autoconf.1): Regenerate when `autoconf.as' changes. * lib/autotest/general.m4 [--trace] (AT_INIT): Do not `set -v'. * tests/autotest.at: New file. * tests/suite.at: Include it. * tests/Makefile.am: Distribute it. * lib/autotest/general.m4 [--trace] (_AT_CHECK): Do not enable shell tracing on a command that could contain multiple lines. * doc/autoconf.text: Document that fact and its implications. * lib/m4sugar/m4sh.m4 (AS_ESCAPE_FOR_EXPAND): New macro. * tests/autotest.at (Multiline backquote command substitution, Multiline parameter expansion, Literal multiline command, Multiline parenthetical command substitution): Remove XFAIL. 2004-12-09 Paul Eggert * doc/autoconf.texi (Libraries): Clarify problems with AC_CHECK_LIB and suggest AC_SEARCH_LIBS. Suggested by Noah Misch and Stepan Kasal. 2004-12-08 Noah Misch * configure.ac (test suite): Cease to generate wrapper scripts. * configure: Regenerate. * lib/freeze.mk (MY_AUTOM4TE): Wrap the uninstalled autom4te directly. (m4f_dependencies): Adjust accordingly. * tests/Makefile.am (Wrappers): Generate wrapper scripts. (wrapper.in): Generate it in the build directory. (MAINTAINERCLEANFILES): Delete wrapper.in. (CLEANFILES): Add wrapper.in. * tests/wrapper.as: Move AS_INIT to very top, preserving copyright in the output. Replace each $as_me with a @wrap_program@. * tests/wrapper.in: Delete it; we always build it. * bin/Makefile.am (autoconf.in): Generate it in the build directory. (EXTRA_DIST): Remove autoconf.in. (CLEANFILES): Add autoconf.in. (autoconf): Find autoconf.in in the build directory. * bin/autoconf.in: Delete it; we always build it. 2004-12-08 Noah Misch * lib/autotest/general.m4 (AT_INIT): Replace a `tr' with a `sed'. Join PATH members so as to not prepend an empty element. Move a comment. * Makefile.am (SUBDIRS): Build in `tests' last. * tests/Makefile.am (installcheck-local): Add check-local dependencies. 2004-12-08 Paul Eggert * lib/mdate-sh: Don't use "set - x`$ls_command /`", as zsh mishandles the spaces inside $ls_command. Problem reported by Loulou Pouchet in . Don't use "set - x"; plain "set x" is enough, and simplifies debugging. 2004-12-07 Stepan Kasal * lib/autoconf/functions.m4 (AC_FUNC_GETMNTENT): Fix typo in previous patch: extra "-l"s. 2004-12-06 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_GETMNTENT): Check libc before looking elsewhere for getmntent. Problem reported by Mark D. Baushke. * doc/autoconf.texi (Particular Functions): Mention new behavior. 2004-12-03 Stepan Kasal * lib/autoconf/general.m4 (AC_DEFINE, AC_DEFINE_UNQUOTED): Factor out the common code to ... (_AC_DEFINE_Q): ... a new macro; simplify the condition about the value of the #define--default to 1, iff the macro was called with exactly one parameter. 2004-12-02 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_MEMCMP): Use "char c = '\200';" rather than "char c = 0x80;" as the latter doesn't conform to the strict C standard due to overflow on signed char hosts. * lib/autoconf/c.m4 (_AC_PROG_CC_STDC): Prefer -qlanglvl=extc89 to -qlanglvl=ansi. We don't want to disable extensions. 2004-11-29 Paul Eggert * doc/autoconf.texi (Particular Programs): @code{$PATH} -> @env{PATH}. (Using Autotest, testsuite Scripts, Writing testsuite.at): Reword slightly to avoid some English-language problems noted by Ralf Wildenhues in: http://lists.gnu.org/archive/html/autoconf-patches/2004-11/msg00027.html 2004-11-29 Stepan Kasal * NEWS: Add ^L above each release. 2004-11-28 Paul Eggert Fix documentation problems reported by Russ Boylan in , along with some nearby cruft. * doc/autoconf.texi (Libtool): Libtool can be used without Automake (not without Autoconf). (Introduction): Mention lists.gnu.org. * BUGS: Don't mention bugs.gnu.org. Remove mention of ancient libtool compatibility problem. * NEWS: Mention that bugs.gnu.org is kaput. * README: Likewise. Mention where mailing list archives can be found. 2004-11-28 Stepan Kasal * lib/m4sugar/m4sh.m4 (AS_HELP_STRING): A typo in the comment. 2004-11-26 Paul Eggert * doc/autoconf.texi (Pretty Help Strings): Go back to single-quoting assignments to cache variables. 2004-11-23 Stepan Kasal * doc/autoconf.texi (Pretty Help Strings): Fix quoting issues with the examples; fix the bug in MY_ARG_WITH example reported by Alexandre Duret-Lutz. * lib/autoconf/general.m4 (AC_ARG_ENABLE, AC_ARG_ENABLE): Enable expansion of $1 in the comment emitted to configure. 2004-11-23 Paul Eggert * doc/autoconf.texi (Pretty Help Strings): Fix typo in my editing of the previous patch. Problem reported by Alexandre Duret-Lutz. 2004-11-22 Stepan Kasal * doc/autoconf.texi (Autoconf Language): Explain that ``descriptions'' may not be double quotes. (Quotation Rule Of Thumb): Likewise. (Pretty Help Strings): Likewise; remove the wrong comment; simplify the examples and improve their quoting. 2004-11-13 Stepan Kasal * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): Don't check the $1_found variable, don't test whether the file is executable; Both things are checked ... (_AC_PATH_PROG_FEATURE_CHECK): ... here; AS_EXECUTABLE_P replaces the former ``test -f''. * lib/m4sugar/m4sh.m4 (_AS_TEST_PREPARE): Fix a typo. 2004-11-10 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Avoid cp -r; use cp -R instead. 2004-11-10 Derek R. Price * doc/autoconf.texi (Limitations of Usual Tools): Note `cp -r' limitations. Reorder paragraphs for clarity. 2004-10-11 Paul Eggert * doc/autoconf.texi: Standardize spelling of "Posix" (as opposed to "POSIX" or "@acronym{POSIX}"), and similarly for "DOS variants", "Unix", and some related minor wording fixups. (Shellology, Special Shell Variables): Document that the Zsh problem with NULLCMD was fixed in zsh 3.1.6-dev-18. Thanks to Alexandre Duret-Lutz for this info. 2004-10-10 Alexandre Duret-Lutz * doc/autoconf.texi (One-Shot Macros): New node. 2004-09-28 Paul Eggert * doc/autoconf.texi (Function Portability): Fix misdescription of putenv. Problem reported by Michael Wardle. 2004-09-22 Paul Eggert * doc/autoconf.texi (auindex): New macro. (AU_DEFUN): Use it to fix the bug when the index contained AC_AU_DEFUN. Problem reported by Stepan Kasal. 2004-09-05 Paul Eggert Fix problems reported by Andreas Buening in: http://lists.gnu.org/archive/html/autoconf-patches/2004-04/msg00004.html * lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): Set SHELL=/bin/sh in test makefile. * lib/autotest/general.m4 (AT_INIT): Don't assume /dev/null is readable; it's not true in OS/2-emx. 2004-09-04 Paul Eggert * lib/autoconf/libs.m4 (_AC_PATH_X_XMKMF): If xmkmf returns "/usr/include", clear ac_x_includes instead of leaving it as "no" (trivial change). Problem and patch reported by Andrew Church in: http://lists.gnu.org/archive/html/bug-autoconf/2004-04/msg00016.html 2004-09-03 Paul Eggert * doc/autoconf.texi: Give AC_DEFINE and AC_DEFINE_UNQUOTED three args in examples. Problem reported by Frederik Fouvry in: http://lists.gnu.org/archive/html/bug-autoconf/2004-09/msg00017.html Also, fix some minor spacing and punctuation bugs. 2004-09-02 Akim Demaille * doc/autoconf.texi (Limitations of Builtins): Swap "cd" and "case" to restore ordering. Reported by Stepan Kasal. 2004-08-26 Akim Demaille * doc/autoconf.texi: Minor typos and stylos. 2004-08-20 Paul Eggert * configure.ac (AC_INIT): Bump to 2.59c. 2004-08-20 Paul Eggert Version 2.59b. * README: Add advice about m4 1.4.2. * Makefile.cfg (wget_files): Remove config.guess, config.sub, texinfo.tex for now (done by hand now). * Makefile.maint (wget_files, cvs_files): Remove ansi2knr.c; nobody uses it. (ansi2knr.c-url_prefix): Remove. (cvs-update): Fix test for failure. I don't know why it ever worked... * doc/autoconf.texi: Update URLs, some of which went stale. Use @uref rather than @href. * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Have configure handle "--" as per POSIX. Suggested by Paul Pogonyshev. * config/config.guess, config/config.sub, config/elisp-comp, config/install-sh, config/mkinstalldirs, config/texinfo.tex, doc/fdl.texi, doc/standards.texi: Sync with master copy. * NEWS, TODO, configure.ac, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in, doc/autoconf.texi, doc/install.texi, lib/Autom4te/Configure_ac.pm, lib/Autom4te/FileUtils.pm, lib/autoconf/general.m4, lib/autoconf/programs.m4, lib/autoconf/status.m4, lib/autotest/general.m4, lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4, tests/local.at, tests/m4sh.at, tests/tools.at, tests/torture.at: Use "file name" rather than "filename" or "path", to be consistent with the terminology of the GNU coding standards. 2004-08-19 Paul Eggert * lib/autoconf/c.m4 (AC_LANG_BOOL_COMPILE_TRY(C), AC_C_LONG_DOUBLE): Undo 2004-06-04 change, as it didn't work with HP-UX 11.23 cc/aCC or Tru64 4.0 cc. Problem reported by Noah Misch in . More fixes to support spaces in the name of the build directory. This isn't a complete fix but it's an improvement. * bin/autoconf.as (autom4te_options): New var. Use it instead of appending to AUTOM4TE, so that we can allow spaces in the build directory's absolute name. * bin/autoheader.in ($autoconf): Allow spaces in file names. * lib/autotest/general.m4 (AT_INIT, AT_CLEANUP, _AT_CHECK, AT_CHECK_NOESCAPE): Likewise. * tests/wrapper.as (testdir, AUTOM4TE_CFG, autom4te_perllibdir, main program): Likewise. 2004-08-18 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_HELP): Quote $ac_popdir uses. From Ralf Corsepius in: http://lists.gnu.org/archive/html/autoconf-patches/2004-08/msg00014.html 2004-08-12 Paul Eggert * doc/autoconf.texi (Function Portability): Document isinf and and isnan. From a suggestion by Kevin Ryde. * lib/Autom4te/General.pm (END): Return correct exit status even if unlink succeeds and sets $?. Needed with Solaris 8's perl 5.00503. 2004-08-09 Paul Eggert * tests/torture.at (Deep Package): Use configure.in, not configure.ac, for compatibility with Automake 1.4. Reported by J C Fitzgerald in . 2004-08-04 Alexandre Duret-Lutz * lib/autoconf/general.m4 (AC_REQUIRE_AUX_FILE): New empty macro. (AC_CANONICAL_BUILD): Call it to require config.sub and config.guess. * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Likewise for install-sh. * doc/autoconf.texi (Input): Document AC_REQUIRE_AUX_FILE. * lib/autom4te.in (Automake-preselections): Preselect AC_REQUIRE_AUX_FILE. Automake 1.10 will trace it. 2004-08-02 Alexandre Duret-Lutz * lib/autom4te.in (Automake-preselections): Preselect AC_CANONICAL_BUILD and AC_CANONICAL_TARGET. Automake 1.9.1 will trace them. 2004-07-29 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE): Set BIN_SH, for Tru64. * doc/autoconf.texi (Shellology): Mention BIN_SH. Document problem with "`""`" in pdksh POSIX mode. 2004-07-27 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE): Use "set -o posix" with pdksh, too. Problem reported by Patrick Welche via Gary V. Vaughan. * doc/autoconf.texi (Shellology): Note that set -o posix is useful for pkdsh, too. 2004-06-24 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Require _AS_UNSET_PREPARE, so that we can use $as_unset directly. Don't fail if ENV or BASH_ENV is readonly. (AS_SHELL_SANITIZE): Don't fail if ENV, MAIL, MAILPATH, LC_ALL, etc. are read only. Problem reported by Ludovic Courtes. 2004-06-23 Noah Misch * lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE): If the shell is zsh, disable GLOB_SUBST to avoid backslash handling problems. (trivial change) 2004-06-04 Paul Eggert * doc/autoconf.texi (File System Conventions): Warn about names like "aux". Problem reported by Eric Blake. * lib/autoconf/c.m4 (AC_LANG_BOOL_COMPILE_TRY (C)): Use division by zero instead of array size, so that we can use any arithmetic constant expression (instead of requiring an integer constant expression). This allows us to test expressions like DBL_MAX < LDBL_MAX, which didn't conform to the C standard using the old method. (AC_C_LONG_DOUBLE): Put back in the tests for LDBL_MAX and LDBL_EPSILON, now that we can do floating-point tests at compile time. 2004-06-02 Paul Eggert * lib/autoconf/c.m4 (AC_C_LONG_DOUBLE): Don't check LDBL_MAX and LDBL_EPSILON, as the resulting expression isn't an integer constant expression and violates the C standard. Problem reported by Nelson H. F. Beebe. Also, check for "L" suffix, and check that long double doesn't have worse range or precision than double, that mixed-mode arithmetic doesn't generate a diagnostic, that double constants fit in long double. 2004-06-03 Kevin Ryde * doc/autoconf.texi (Function Portability): Add notes on free(NULL), malloc(0) and realloc(NULL,size). * doc/autoconf.texi (Shell Substitutions): Spelling error reported by Bob Proulx. 2004-05-31 Paul Eggert * lib/autoconf/headers.m4 (HAVE_STDBOOL_H): Detect _Bool bug in HP aC++/ANSI C B3910B A.05.55 [Dec 04 2003]. Problem reported by Jim Meyering. 2004-05-26 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Mention that ! COMMAND can be rewritten using if-then-else. Suggested by Bruno Haible. 2004-05-25 Paul Eggert * doc/autoconf.texi (testsuite Scripts): Fix typo. Problem reported by Stepan Kasal. 2004-05-24 Paul Eggert * tests/Makefile.am (autoconfdir): Fix to match comment (trivial change). Patch reported by Ralf Wildenhues in . * lib/autoconf/functions.m4 (AC_FUNC_MBRTOWC): Don't assume that a function F exists if the compiler and linker let you compile an expression like (F != 0). Recent versions of GCC optimize away the reference to F in that case, since every function address must be nonzero, so the link succeeds even if F does not exist. Problem reported by Manu in . * doc/autoconf.texi (Systemology): Standardize on the spelling of "Unix". Many uses changed. (Limitations of Builtins): Explain better why the ! command isn't portable. 2004-05-22 Alexandre Duret-Lutz * lib/autom4te.in (Automake-preselections): Preselect LT_SUPPORTED_TAG in lieu of AC_LIBTOOL_TAGS. 2004-05-19 Kevin Ryde * doc/autoconf.texi (Function Portability): Add strerror_r, cross referencing AC_FUNC_STRERROR_R. * doc/autoconf.texi (Particular Functions): In AC_FUNC_CLOSEDIR_VOID, note pessimistic assumption when cross compiling. 2004-05-16 Paul Eggert * doc/autoconf.texi (Limitations of Make): Note that BSD make (until 2004) invoked subcommands with sh -e, contra POSIX. Reported by Kevin Ryde. 2004-05-10 Eric Sunshine * programs.m4 (_AC_PROG_GREP): Fixed bug where PATH argument handed to _AC_PATH_PROG_FEATURE_CHECK contained leading whitespace (i.e. " $PATH:/usr/xpg4/bin"). This resulted in bogus tests, such as `test -f " /usr/bin/grep"', which _always_ failed. (AC_PROG_SED): Ditto bogus PATH fix. * autoconf.texi (AC_PROG_GREP): Properly document that this macro requires that grep correctly supports _multiple_ `-e' options, rather than stating only that grep should accept `-e'. 2004-05-03 Paul Eggert Port to C99, which requires that 'exit' be declared. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Use AC_INCLUDES_DEFAULT to ensure that stdlib.h is included. * lib/autoconf/functions.m4 (_AC_LIBOBJ_ALLOCA, AC_FUNC_SETPGRP, AC_FUNC_STRTOD, AC_FUNC_SETVBUF_REVERSED, AC_FUNC_FORK, _AC_FUNC_FORK, _AC_FUNC_VFORK, AC_FUNC_WAIT3): Likewise. * lib/autoconf/specific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Likewise. * lib/autoconf/types.m4 (AC_TYPE_GETGROUPS): Likewise. * lib/autoconf/headers.m4 (AC_HEADER_STDC): Include when using 'exit' in a test; C99 requires that 'exit' be declared. 2004-05-02 Paul Eggert * doc/autoconf.texi (Particular Programs): AC_PROG_GREP now prefers 'grep' implementations that accept -e. (Limitations of Usual Tools): Describe problems of traditional egrep and fgrep with long input lines, and of traditional grep with -e. * lib/autoconf/programs.m4 (AC_PROG_GREP): Check for -e, too. (_AC_PROG_GREP): Assume 3rd arg is properly quoted for the shell. All callers changed. Append /usr/xpg4/bin to the PATH, for Solaris. (_AC_FEATURE_CHECK_LENGTH): Discard stderr, so we don't bother the user with complaints about multiple -e options. * tests/local.at (AC_STATE_SAVE): Use $GREP, not grep. Define it with AC_PROG_GREP. * configure.ac (AC_PROG_GREP): Add. * lib/freeze.mk (GREP): New macro. 2004-05-02 Eric Sunshine * lib/m4sugar/m4sh.m4 (_AS_DETECT_BETTER_SHELL): Consult $SHELL as a possible candidate only after all others fail, rather than consulting it first. This improves backward compatibility by better reflecting the way shell selection occurred in previous versions of Autoconf, and should help to avoid triggering latent problems in other packages, such as the one in Automake where zsh is not handled robustly: http://mail.gnu.org/archive/html/automake/2004-04/msg00095.html Although it is not Autoconf's responsibility to work around problems in Automake, it nevertheless makes sense to avoid introducing unnecessary incompatibilites. 2004-04-22 Albert Chin-A-Young , Gary V. Vaughan * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): Don't guess how deeply nested we are when a suitable tool is found, set the ac_path_TOOL_found flag. (_AC_PATH_PROG_FEATURE_CHECK): Encapsulate knowledge of how deeply nested we are in this macro. Break out of all 3 nested loops if ac_path_TOOL_found is set. 2004-04-21 Gary V. Vaughan * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): Break out of the _AS_PATH_WALK loop too if GNU flavor is found. 2004-04-21 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Make): Update documentation for `$<'. New entry `Long lines', based on a report from Simon Josefsson. Augment the documentation for SHELL = @SHELL@ with a paragraph about DJGPP, based on a mail from Richard Dawe. 2004-04-20 Paul Eggert * tests/c.at (C keywords): Don't assume that GCC supports "restrict" and "inline", as sufficiently-old GCC versions do not (also, GCC configured to be in pedantic C89 mode does not). Problem reported by Sumit Pandya in: http://mail.gnu.org/archive/html/autoconf/2004-04/msg00092.html * lib/autoconf/c.m4 (_AC_PROG_CC_G, _AC_PROG_CXX_G): Don't consider -g to work if it generates warnings when plain compiles don't. Problem reported by Braden McDaniel in: http://mail.gnu.org/archive/html/autoconf-patches/2003-07/msg00014.html * doc/autoconf.texi (Slashes): New section, to document a problem reported by Jim Meyering in: http://mail.gnu.org/archive/html/bug-coreutils/2004-02/msg00060.html * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Remove potential linker output files before linking, to work around IRIX 6 linker bug. Problem reported by Rainer Orth in: http://mail.gnu.org/archive/html/autoconf-patches/2004-02/msg00007.html 2004-04-20 Gary V. Vaughan * lib/autoconf/programs.m4 (_AC_FEATURE_CHECK_LENGTH): Make the best tool so far counter rely on the tool path variable name to avoid checks for one tool being affected by the results of running the length check on a previous tool. * lib/autoconf/programs.m4 (_AC_PROG_GREP): Take an additional match expression argument, as different greps have different regular expression flavours. (AC_PROG_FGREP): Pass 'FGREP'. fgrep treats all match chars as literals. (AC_PROG_EGREP): Pass 'EGREP$'. (AC_PROG_GREP): Pass 'GREP$'. 2004-04-20 Albert Chin-A-Young * lib/autoconf/programs.m4 (AC_PROG_GREP): Cache variable is `ac_cv_path_GREP', not `oc_cv_path_GREP'. 2004-03-29 Paul Eggert * doc/autoconf.texi (Particular Headers, Particular Types, Generic Types, Specific Compiler Characteristics, System Services, Obsolete Macros): Use 'long int', 'short int', 'unsigned int' etc. consistently instead of 'long', 'short', 'unsigned' etc. * lib/autoconf/c.m4 (AC_LANG_INT_SAVE(C), AC_C_BIGENDIAN): Likewise. * lib/autoconf/functions.m4 (AC_FUNC_MMAP, AC_FUNC_SELECT_ARGTYPES): Likewise. * lib/autoconf/headers.m4 (AC_HEADER_SYS_WAIT): Likewise. * lib/autoconf/types.m4 (AC_TYPE_GETGROUPS, AC_TYPE_SIZE_T, AC_TYPE_OFF_T): Likewise. * tests/semantics.at (AC_CHECK_TYPES: backward compatibility): Likewise. * tests/foreign.at (Libtool): Create an empty aclocal.m4, to pacify libtool 1.5.2. Fix quoting problems in sed command. 2004-03-28 Paul Eggert * doc/autoconf.texi (Particular Structures): AC_STRUCT_TIMEZONE now defines HAVE_DECL_TZNAME if it is declared, when HAVE_STRUCT_TM_TM_ZONE is not defined. * lib/autoconf/types.m4 (AC_STRUCT_TIMEZONE): Implement this. Do not assume atoi. Rely on HAVE_DECL_TZNAME when testing for HAVE_TZNAME. 2004-03-28 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Corrected superfluous backslashing of quotes (") in sed expressions; thanks to Paul Eggert. 2004-03-26 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_FC): new name of Intel Fortran compiler is ifort, also added pghpf; thanks to Nelson H. F. Beebe for the bug report. 2004-03-26 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): fix for quoted -cmdline argument in Portland Group compiler (bug reported by Jeffrey J. Barteet). 2004-03-25 Kevin Ryde * doc/autoconf.texi (Specifying Names): Move cross_compiling ovindex to (Run Time): ... here, where it's now mentioned. 2004-03-19 Alexandre Duret-Lutz * doc/autoconf.texi (autom4te Invocation): Language Autoconf inherits from language Autoconf-without-aclocal-m4. (Customizing autom4te): Adjust example; the cache must now be disabled for language Autoconf-without-aclocal-m4. 2004-03-16 Paolo Bonzini Nathanael Nerode * lib/autoconf/programs.m4 (AC_PATH_TOOL, AC_CHECK_TOOL, AC_CHECK_TOOLS): Warn if a cross-tool is found without a prefix. (AC_PATH_TARGET_TOOL, AC_CHECK_TARGET_TOOL, AC_CHECK_TARGET_TOOLS): New macros. * doc/autoconf.texi (Generic Programs): Document (AC_PATH_TARGET_TOOL, AC_CHECK_TARGET_TOOL, AC_CHECK_TARGET_TOOLS, and warn for future changes in the behavior of AC_PATH_TOOL, AC_CHECK_TOOL and AC_CHECK_TOOLS. (Specifying Names): Document the reason for these future behavioral changes. * tests/mktests.sh: Do not generate tests for the new macros. * NEWS: Document these changes. * doc/autoconf.texi: Avoid macros with unbraced arguments, they make TeX hang up. 2004-03-15 Paul Eggert * NEWS: New macro AC_CHECK_ALIGNOF. * doc/autoconf.texi (Generic Compiler Characteristics): Document it. * lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Use long int rather than int; avoid "a `$1'" since this isn't grammatical if $1 begins with a vowel. (AC_CHECK_ALIGNOF): New macro. * tests/mktests.sh (ac_exclude_list): Exclude AC_CHECK_ALIGNOF. * tests/semantics.at (AC_CHECK_ALIGNOF): Add tests similar to those for sizeof. 2004-03-03 Paul Eggert * bin/Makefile.am (edit): Don't use $< in a context where POSIX doesn't require support for it. Use $@.in instead. Problem reported by Anthony N. Frasso in . * bin/autoscan.in, bin/autoupdate.in: Add @configure_input@ comment. 2004-02-23 Gary V. Vaughan * bin/autoreconf.in (autoreconf_current_directory): Recognize LT_INIT from the next generation of Libtool. * lib/autom4te.in (Autoreconf-preselections): Ditto. 2004-02-20 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Usual Tools) : `mkdir -p' is not always thread-safe. Report from Nathanael Nerode. 2004-02-18 Paul Eggert Fix a dependencies problem, stemming from a Autoconf 2.59 build problem on QNX reported by Stephen Rasku in . * bin/Makefile.am ($(srcdir)/autoconf.in): Depend on $(m4sh_m4f_dependencies); this removes a FIXME. * tests/Makefile.am ($(srcdir)/wrapper.in): Likewise. (MAINTAINERCLEANFILES): Split into pieces, one per related section. Add $(srcdir)/wrapper.in. 2004-02-09 Paul Eggert * doc/autoconf.texi (Setting Output Variables): Emphasize that AC_SUBST provides no portable way to escape literal newlines. * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Ignore all flags of the form -lcrt*.o, not just -lcrt[01].o and -lcrtbegin.o. Darwin uses -lcrt2.o and there's little point to cataloging all the system variants. Partial fix reported by Andreas Waechter in: http://mail.gnu.org/archive/html/autoconf-patches/2004-02/msg00006.html for bug reported by Nelson H. F. Beebe in: http://mail.gnu.org/archive/html/bug-autoconf/2003-12/msg00090.html 2004-02-04 Paolo Bonzini * doc/autoconf.texi (AU_DEFUN): Fix English, suggested by Paul Eggert. * lib/autoconf/autoupdate.m4: Correct reference to acobsolete.m4, suggested by Alexandre Duret-Lutz. 2004-02-02 Paolo Bonzini * bin/autoupdate.in: Define __file__ so that warnings refer to the correct file. * doc/autoconf.texi (AU_DEFUN): Describe more correctly the behavior of the third argument. * lib/autoconf/autoupdate.m4 (AU_DEFUN): Describe more correctly the behavior of the third argument. Document what the three macros that AU_DEFUN defines do. Fix warning message when the third argument includes $0 (reported by Alexandre Duret-Lutz). 2004-01-30 Paolo Bonzini Eric Sunshine Paul Eggert * lib/m4sugar/m4sh.m4 (M4SH-SANITIZE): New diversion. (AS_INIT): Output shell initialization there. Removed optional parameter. Expand _AS_SHELL_FN_SPY. (AS_INIT_WITH_SHELL_FN): Removed. (_AS_SHELL_FN_SPY): New macro. (AS_DETECT_REQUIRED, AS_DETECT_SUGGESTED): New macros. (AS_SHELL_SANITIZE): Remove loop to find better shell and documentation for the parameter. (_AS_DETECT_BETTER_SHELL): Move it here. (_AS_SHELL_FN_WORK): Remove shell invocation, reformat. (_AS_RUN): Move it here, support testing with eval. (AS_REQUIRE_SHELL_FN): Require shell functions when it is used. (_AS_LINENO_WORKS): Put around braces, we do not trigger the bash bug anymore. * lib/autotest/general.m4: Document M4SH-SANITIZE, do not use AS_INIT_WITH_SHELL_FN. * bin/autoconf.in, tests/wrapper.in: Regenerated. 2004-01-30 Paolo Bonzini * bin/autoupdate.in: Trace AU_DEFINE instead of AU_DEFUN. * doc/autoconf.texi: Don't say that the third parameter is broken. * lib/autoconf/autoupdate.m4 (AU_DEFINE): New dummy macro. (AU_DEFUN): Honor the third parameter, create autoupdate macros with AU_DEFINE. * lib/autoconf/headers.m4 (AC_USG, AC_MEMORY_H, AC_DIR_HEADER): Use AU_DEFUN's third parameter. * lib/autoconf/lang.m4 (AC_LANG_SAVE): Likewise. * lib/autoconf/programs.m4 (AC_RSH): Likewise. * lib/autoconf/specific.m4 (AC_HAVE_POUNDBANG, AC_ARG_ARRAY, AC_CYGWIN, AC_EMXOS2, AC_MINGW32, AC_XENIX_DIR): Likewise. * lib/autoconf/types.m4 (AC_INT_16_BITS, AC_LONG_64_BITS, AC_STRUCT_ST_BLKSIZE, AC_STRUCT_ST_RDEV): Likewise. * lib/autoconf/status.m4: Remove FIXME. * tests/local.at (AT_CHECK_AU_MACRO): Ignore stderr, check that the macro is not present anymore in the updated configure.ac. * tests/tools.at (autoupdate AC_LINK_FILES): Ignore stderr of autoupdate. 2004-01-28 Paul Eggert * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Add 2004 to copyright years. * lib/autoconf/general.m4 (_AC_INIT_COPYRIGHT): Add 1992 thorugh 2003 (except 1997) to the list of copyright years. This undoes the 2003-05-22 change, which removed the older years from the list. * lib/autoconf/status.m4 (AC_OUTPUT): Update copyright date to 2004. 2004-01-27 Gary V. Vaughan Albert Chin-A-Young * lib/autoconf/programs.m4 (AC_PROG_GREP): New macro to test for a grep or ggrep program in PATH that accepts as long lines as possible. * lib/autoconf/programs.m4 (_AC_PROG_GREP): Factor out the core of AC_PROG_GREP. (AC_PROG_EGREP, AC_PROG_FGREP): Use it to find best available egrep and fgrep respectively if $GREP -E/-F don't work. (_AC_PATH_PROG_FEATURE_CHECK): Factor out the common core of _AC_PROG_GREP, and AC_PROG_SED. (_AC_FEATURE_CHECK_LENGTH): New helper macro for finding the longest input length accepted by a command. (AC_PROG_SED): Use it. * doc/autoconf.texi (Particular Programs): Document the changes. * NEWS: Updated. 2004-01-27 Paul Eggert * bin/autoconf.as ($version): Update copyright from 2003 to 2004. * bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in: Likewise. * lib/autoconf/general.m4 (_AC_INIT_COPYRIGHT): Likewise. * Makefile.in, aclocal.m4, configure, bin/Makefile.in, bin/autoconf.in, config/Makefile.in, config/config.guess, config/config.sub, config/install-sh, config/mdate-sh, config/mkinstalldirs, config/texinfo.tex, doc/Makefile.in, lib/Makefile.in, lib/Autom4te/Makefile.in, lib/autoconf/Makefile.in, lib/autoscan/Makefile.in, lib/autotest/Makefile.in, lib/emacs/Makefile.in, lib/m4sugar/Makefile.in, man/Makefile.in, man/autoconf.1, man/autoheader.1, man/autom4te.1, man/autoreconf.1, man/autoscan.1, man/autoupdate.1, man/config.guess.1, man/config.sub.1, man/ifnames.1, tests/Makefile.in, tests/acc.at, tests/acfortran.at, tests/acfunctions.at, tests/acgeneral.at, tests/acheaders.at, tests/aclang.at, tests/aclibs.at, tests/acspecific.at, tests/acstatus.at, tests/actypes.at: Regenerate and/or sync with original sources. 2004-01-26 Paul Eggert * doc/autoconf.texi (Default Includes): Include even if HAVE_INTTYPES_H is defined. This is needed on Tru64 5.1b with Compac C V6.5-207 (dtk), which defines uintmax_t in but not . Problem reported by Tim Mooney in . * lib/autoconf/headers.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Likewise. * lib/autoconf/programs.m4 (AC_PROG_SED): Use diff, not sed; otherwise "make check" fails because it forbids cmp (I guess because cmp treats files as binary on DOS-like systems). * tests/mktests.sh: Update copyright date to 2004, since some tests have changed in 2004. 2004-01-23 Gary V. Vaughan * lib/autoconf/programs.m4 (AC_PROG_SED): New macro to test for a non-truncating sed or gsed program in PATH. * tests/acprograms.at: Add it. * doc/autoconf.texi (Particular Programs): Document it. * NEWS: Updated. 2004-01-15 Paul Eggert * lib/autoconf/c.m4 (_AC_PROG_CC_STDC): Try -std, not -std1, since -std1 disables some useful extensions on Tru64. Problem reported by N. Lichtmaier in . 2004-01-14 Paul Eggert * doc/autoconf.texi (Programming in M4sh): Document that AS_MKDIR_P succeeds if the destination is a symbolic link to an existing directory. (Limitations of Usual Tools): Note that mkdir -p might not succeed on symlinks to directories. 2004-01-13 Paul Hilfinger * lib/autoconf/autoupdate.m4 (AU_DEFUN): Grammar fix in comment. * bin/autoheader.in: Grammar fix in message. * lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Test for dir before calling mkdir -p. (trivial changes) 2004-01-13 Eric Blake * doc/autoconf.texi (Obsolete Macros): In AC_TRY_COMPILE and AC_TRY_LINK, s/AC_LANG_SOURCE/AC_LANG_PROGRAM/. (trivial change) 2004-01-10 Jim Meyering * doc/autoconf.texi (Running the Preprocessor): Correct grammar. 2004-01-09 Paul Eggert * lib/autoconf/general.m4: Fix bug: AC_CHECK_SIZEOF evokes a warning with `autoconf -Wall,error'. Bug reported by Eric Blake in: http://mail.gnu.org/archive/html/autoconf-patches/2004-01/msg00000.html (_AC_COMPUTE_INT_COMPILE): Invoke _AC_COMPILE_IFELSE, not AC_COMPILE_IFELSE, since we now assume our caller invokes AC_LANG_COMPILER_REQUIRE, for symmetry with _AC_COMPUTE_INT_RUN. (_AC_COMPUTE_INT_RUN): Likewise, for _AC_RUN_IFELSE instead of AC_RUN_IFELSE; this avoids the warning mentioned above. (_AC_COMPUTE_INT): Invoke AC_LANG_COMPILER_REQUIRE. 2004-01-07 Paul Eggert * lib/autoconf/general.m4 (_AC_LIBOBJS_NORMALIZE): Avoid \$ inside `"'...'"`, as it's confusing (and I suspect it may not work on some platforms). The code was incorrect anyway, as it assumed that \$ evaluated to itself in that context. Reported by Alexandre Duret-Lutz. 2004-01-07 Alexandre Duret-Lutz * lib/autom4te.in (Automake-preselections): Preselect AC_LIBTOOL_TAGS and _LT_AC_TAGCONFIG. 2004-01-06 Paul Eggert * doc/autoconf.texi (One Macro Call): Fix an incorrect example, and add more examples. Reported by Eric Sunshine. 2004-01-05 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Remove warning against "rm -fr" introduced yesterday; it was a false alarm. * bin/Makefile.am (autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate, ifnames): Don't use chmod -w. * lib/Makefile.am (autom4te.cfg): Likewise. * doc/autoconf.texi (Limitations of Usual Tools): Warn against "chmod -w". 2004-01-04 Paul Eggert Paolo Bonzini * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Speed up sed scripts by doing lineno substitution only on lines containing "$LINENO". 2004-01-04 Paul Eggert * lib/autoconf/general.m4 (AC_ARG_PROGRAM): Use "rm -f" to remove conftest.sed, not plain "rm". Bug reported by David Relson in . * Makefile.am (autom4te-update): Replace "rm -rf" and "rm -fr" with "rm -f -r", as POSIX requires. * Makefile.maint (my-distcheck, do-po-update): Likewise. * doc/autoconf.texi (Guidelines): Likewise. * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Likewise. * lib/autoconf/libs.m4 (_AC_PATH_X_XMKMF): Likewise. * lib/autoconf/specific.m4 (AC_SYS_LONG_FILE_NAMES): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/m4sugar/m4sh.m4 (AS_TMPDIR): Likewise. * tests/Makefile.am (clean-local): Likewise. * tests/tortue.at (AC_CONFIG_FILES, HEADERS, LINKS and COMMANDS, srcdir): Likewise. * doc/autoconf.texi (Limitations of Usual Tools): Warn against "rm -fr". 2004-01-03 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools): Mention that cc -c -o might not work. From a suggestion by Kevin Ryde. (C Compiler, Generating Sources, Limitations of Usual Tools, Limitations of Make, Making testsuite Scripts): Don't put '-o' after non-options, as POSIX doesn't allow this. Mention that cc's name might be gcc or c89 or whatever. 2004-01-04 Kevin Ryde * doc/autoconf.texi: Add various further index entries. 2003-12-29 Paul Eggert * bin/autoreconf.in (autoreconf_current_directory): Fix typo: mkdir without umask arg. 2003-12-27 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Make) : Documents OSF1/Tru64 make behavior. Replace `VPATH = ../src' by `VPATH = ../pkg/src' in examples to make the OSF1/Tru64 make explanation clearer. 2003-12-24 Andreas Schwab * doc/autoconf.texi (Default Includes): Fix misspelling of AC_INCLUDES_DEFAULT. 2003-12-03 Paolo Bonzini * configure.ac: Test if sh -n works. * configure: Regenerate. * tests/atlocal.in: Store the result here. * tests/local.at (AT_CHECK_SHELL_SYNTAX): Extracted from tools.at, looking in atlocal's ac_cv_sh_n_works instead of explicitly testing. (AT_CHECK_PERL_SYNTAX): Moved from tools.at. (AT_CHECK_AUTOCONF): Test for the configure script syntax. * tests/tools.at (Syntax of the shell scripts): Simplify using AT_CHECK_SHELL_SYNTAX. (Syntax of the Perl scripts): Remove definition of AT_CHECK_PERL_SYNTAX. 2003-12-03 Paolo Bonzini * lib/m4sugar/m4sh.m4 (_AS_SHELL_FN_WORK): Redirect stderr to /dev/null. * bin/autoconf.in: Regenerate. * bin/wrapper.in: Regenerate. 2003-11-26 Paolo Bonzini * lib/m4sugar/m4sh.m4 (_AS_BOURNE_COMPATIBLE): Extracted from AS_SHELL_SANITIZE. (_AS_SHELL_FN_WORK, AS_INIT_WITH_SHELL_FN): New macros. (AS_SHELL_SANITIZE): Move reinvocation code from _AS_LINENO_WORKS, use it to find out if shell functions work. (_AS_LINENO_WORKS): Don't find another shell if $LINENO does not work. (AS_INIT): Pass parameter down to AS_SHELL_SANITIZE. (AS_REQUIRE_SHELL_FN): Test that AS_INIT_WITH_SHELL_FN was called. * lib/autotest/general.m4: Use AS_INIT_WITH_SHELL_FN. * bin/autoconf.in: Regenerate. * tests/wrapper.in: Regenerate. * tests/tools.at: Test the syntax of tests/autoconf and tests/testsuite. 2003-11-24 Akim Demaille * config/announce-gen (&print_locations, &print_signatures) (&sizes): New. Use them. No longer rely on Gnus to inline the list of signatures: compute them on the fly. 2003-11-24 Akim Demaille * doc/autoconf.texi (Particular Programs): AC_PROG_LEX can override some files. (Input): AC_CONFIG_AUX_DIR(aux) is a bad idea on DOS. From Debian Autoconf 2.58. 2003-11-24 Akim Demaille * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): Quote $ac_popdir uses. From Debian Autoconf 2.58. 2003-11-24 Paolo Bonzini * TODO: Remove already done things. Update the part about finding tools for the target. 2003-11-24 Paolo Bonzini * lib/autoconf/headers.m4 (AC_USG, AC_MEMORY_H, AC_DIR_HEADER): Make wording more consistent. * lib/autoconf/specific.m4 (AC_CYGWIN, AC_EMXOS2, AC_MINGW32): Explain the transition better. * lib/autoconf/types.m4 (AC_INT_16_BITS, AC_LONG_64_BITS): Explain the transition better. 2003-11-24 Paolo Bonzini * doc/autoconf.texi (Obsoleting Macros): Don't document the third parameter of AU_DEFUN. * lib/autoconf/autoupdate.m4 (AU_DEFINE): Remove. (AU_DEFUN): Remove the third parameter, it was not used. Use AC_DEFUN directly, not AU_DEFINE. * lib/autoconf/status.m4 (AC_LINK_FILES): Move the message into the expanded body, consistently with other macros such as AC_USG. 2003-11-17 Paul Eggert * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Put at least 14 bytes into the initial confdefs.h, to work around a bug in NextStep 3.3 patch 3 reported by Eric Sunshine. 2003-11-15 Kevin Ryde * doc/autoconf.texi (Using System Type): Revise, showing $host rather than $target since the latter is not usual, add guidelines on when to use or not use the system type. 2003-11-12 Derek Price * doc/autoconf.texi (Limitations of Usual Tools): Fix what looks like a typo misrepaired by an auto-spellcheck. 2003-11-12 Akim Demaille * bin/autoreconf.in (&parse_args): Don't call automake with --force-missing unless it actually supports it. From Debian #219336. 2003-11-12 Akim Demaille * configure.ac: Bump to 2.59a. Require 2.59. 2003-11-06 Akim Demaille Version 2.59. 2003-11-05 Alexandre Duret-Lutz * lib/autoconf/status.m4 (_AC_SRCPATHS): Fix use of AS_SET_CATFILE so that ac_abs_builddir, ac_abs_top_builddir, ac_abs_srcdir, and ac_abs_top_srcdir are absolute paths. * lib/m4sugar/m4sh.m4 (AS_SET_CATFILE): Remove misleading comment. 2003-11-05 Akim Demaille * configure.ac: Bump to 2.58a. 2003-11-05 Kevin Ryde * doc/autoconf.texi (Using Autotest): Avoid @strong{Note: ...}, since it provokes a warning from makeinfo about looking like a cross reference in info output. * doc/autoconf.texi (Function Portability): Add notes on signal handler return type, as per AC_TYPE_SIGNAL. 2003-11-04 Akim Demaille Version 2.58. * doc/standards.texi: Update from master. * tests/mktests.sh (ac_exclude_list): Add AC_FC_FREEFORM. 2003-11-04 Akim Demaille AC_CONFIG_FILE([d1/foo:d2/foo]) triggers error messages when computing the absolute path to d1 in the source hierarchy: it may not exist at all. So don't cd into it. From Alexandre Duret-Lutz. http://mail.gnu.org/archive/html/bug-autoconf/2003-10/msg00205.html * lib/m4sugar/m4sh.m4 (AS_SET_CATFILE): New. From Paul Eggert, but named after Perl's IO::Spec->catfile. * doc/autoconf.texi (Programming in M4sh): Document. * lib/autoconf/status.m4 (_AC_SRCPATHS): Use it. 2003-11-03 Pavel Roskin * doc/autoconf.texi (Generic Structure Checks): Describe action-if-found and action-if-not-found in AC_CHECK_MEMBERS. 2003-10-31 Akim Demaille * tests/fortran.at (GNU Fortran 77): Don't run FC macros. (GNU Fortran): New. * doc/autoconf.texi (Language Choice): Document. * lib/autoconf/fortran.m4 (AC_FC_SRCEXT, AC_FC_FREEFORM): Assert the current language is Fortran. 2003-10-31 Akim Demaille * bin/autom4te.in (&freeze): Use a less likely warning separator than `\n\n', so that `\n\n\n' is valid in warnings. Reported by Steve Huston. 2003-10-28 Akim Demaille * Makefile.cfg (local_updates, executable-update): Tweak to be robust to parallel makes. Suggested by Alexandre Duret-Lutz. 2003-10-27 Akim Demaille * Makefile.cfg (executable-update): New. (local_updates): Call it. 2003-10-27 Akim Demaille * lib/autoconf/general.m4 (_AC_RUN_IFELSE, _AC_INIT_PREPARE): Don't remove core.* as it may remove valid user files. * lib/autoconf/functions.m4 (AC_FUNC_SETVBUF_REVERSED) (AC_FUNC_UTIME_NULL): Likewise. 2003-10-23 Akim Demaille Version 2.57g. * config/config.guess, config/config.sub: Upgrade from masters. 2003-10-23 Akim Demaille * lib/autoconf/fortran.m4 (AC_FC_SRCEXT): Functions using AC_COMPILE_IFELSE that use break skip the clean up. So do it by hand... 2003-10-23 Akim Demaille * lib/autoconf/general.m4 (_AC_LINK_IFELSE, _AC_COMPILE_IFELSE): Don't forget to remove conftest.err. 2003-10-23 Akim Demaille * lib/autoconf/general.m4 (_AC_LIBOBJ): Don't insert twice the same object file in $LIBOBJS. Reported by Alexandre Duret-Lutz & Derek Robert Price. * doc/autoconf.texi (Generic Functions): Adjust. 2003-10-20 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_TR_SH_PREPARE, _AS_TR_CPP_PREPARE): Use 'eval', so that the resulting configure scripts work even if the current directory has a weird file name like 'y%s+%pp%;s%@%_%g'. 2003-10-20 Daniel Jacobowitz * lib/autoconf/lang.m4 (AC_LANG_WERROR): New macro. * lib/autoconf/general.m4 (_AC_COMPILE_IFELSE, _AC_PREPROC_IFELSE) (_AC_LINK_IFELSE): Check the werror flag. * doc/autoconf.texi (Generic Compiler Characteristics): Document AC_LANG_WERROR. * NEWS: Mention it. 2003-10-20 Daniel Jacobowitz * lib/autoconf/lang.m4 (AC_NO_EXECUTABLES): Override _AC_COMPILER_EXEEXT to attempt a link. If linking fails, override AC_LINK_IFELSE. 2003-10-15 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_UNSET_PREPARE): Work around a bug in pdksh 5.2.14. Bug reported by Ralf Corsepius. * doc/autoconf.texi (Shellology): Mention the Korn shell and pdksh. Mention /usr/dt/bin/dtksh on Solaris. (Shell Substitutions): Warn about $((...)). (Parentheses): New section. 2003-10-15 Kevin Ryde * doc/autoconf.texi (Function Portability): Add @prindex for exit. Add putenv and unsetenv. Add sysconf _SC_PAGE_SIZE. 2003-10-13 Nathanael Nerode * lib/autoconf/functions.m4 (AC_FUNC_FORK): Trivial fix for vfork cross test. 2003-10-11 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_FC): Use the new official name for the GNU Fortran 95+ compiler, 'gfortran', not 'g95'. 2003-10-10 Andreas Schwab * bin/autoheader.in: Avoid empty first line in --version and --help output. * bin/ifnames.in: Likewise. 2003-10-09 Paul Eggert * lib/Autom4te/XFile.pm: Don't assume -j is solo. Issue a more-informative diagnostic. Problems reported by Eric Sunshine. 2003-10-08 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_FC_V_OUTPUT): Omit quoted -mGLOB_options_string stuff for Intel ifc, which can cause _AC_FC_LIBRARY_LDFLAGS to fail. Use (faster) case for pattern-matching instead of grep. 2003-10-08 Steven G. Johnson * doc/autoconf.texi: Document new FC Fortran macros. 2003-10-08 Gary V. Vaughan * lib/autoconf/general.m4 (AC_CONFIG_MACRO_DIR): Stub out a macro that future autopoint/aclocal/automake/autoreconf will be able to trace to find where to install local m4 macros. * doc/autoconf.texi (Input): Document it. * NEWS: Updated. 2003-10-06 Gary V. Vaughan * lib/autoconf/fortran.m4 (_AC_FC_LIBRARY_LDFLAGS): Add -lcrtbegin.o to list of ignored flags and fix underquoting of -lcrt[01].o. 2003-10-04 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_FC_G): Use language-specific cache variable instead of $G77 to decide whether to include -O2, since $G77 is specific to Fortran 77. 2003-10-03 Steven G. Johnson * lib/autoconf/fortran.m4 (AC_FC_FREEFORM): Support Absoft "-f free" flag. Re-order flags tested into rough order of popularity. 2003-10-03 Steven G. Johnson * lib/autoconf/fortran.m4 (AC_PROG_FC): Reverse the order of the arguments so that it can be used with syntax identical to AC_PROG_F77, and so that we can more easily decide to remove/deprecate the DIALECT optional argument in the future if it proves troublesome. (AC_FC_FREEFORM): Exit 77 upon failure to fix test suite for non-freeform-supporting compilers. Document freeform flags. 2003-10-03 Akim Demaille * configure.ac: Look for emacs, not macs. Reported by Eric Sunshine. 2003-10-03 Akim Demaille * lib/autom4te.in (Autoreconf-preselections): Trace AC_CONFIG_AUX_DIR. * bin/autoreconf.in (autoreconf_current_directory): Create the AUX_DIR if needed, for sake of automake --add-missing etc. Suggested by Alexandre Duret-Lutz. 2003-10-03 Akim Demaille * configure.ac: Quotation and formatting changes. (EMACS): Don't set it if it is not recent enough to support autoconf-mode.el. From Eric Sunshine. 2003-10-02 Akim Demaille * bin/ifnames.in (&scan_file): Skip C++ comments. From Jeremy Yallop. 2003-10-01 Pavel Roskin * doc/autoconf.texi (Particular Structure Checks): Fix misspelling of HAVE_STRUCT_STAT_ST_BLOCKS. 2003-10-01 Akim Demaille Version 2.57f. 2003-09-30 Paul Eggert * lib/Autom4te/XFile.pm: Use Errno. (lock): Ignore ENOLCK errors. Problem reported Andreas Schwab in . 2003-09-30 Akim Demaille * config/announce-gen (&print_news_deltas): Extracted from... (&print_changelog_deltas): here. (&news_file): Rename as... (@news_file): this. 2003-09-30 Nicolas Joly * lib/autoconf/fortran.m4 (_AC_PROG_FC): Remove files which might have been created when invoking the compiler. * tests/fortran.at (GNU Fortran 77): Quote $G77. 2003-09-29 Akim Demaille Version 2.57e. * config/mkinstalldirs: Upgrade. 2003-09-28 Paul Eggert * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Set DUALCASE=1, for MKS sh. Problem reported by Lars J. Aas in . (_AS_MKDIR_P_PREPARE): Change "rm -fr ./-p" to the more-conservative "test -d ./-p && rmdir ./-p". Suggested by Andreas Schwab in: http://mail.gnu.org/archive/html/autoconf-patches/2003-09/msg00039.html 2003-09-26 Akim Demaille * lib/autoconf/status.m4 (_AC_OUTPUT_COMMANDS): Make sure the directory for AC_CONFIG_COMMANDS' first argument exists. This makes valid the invocation of _AC_SRCPATH that follows. Reported by Eric Sunshine. * doc/autoconf.texi (Configuration Commands): Adjust. 2003-09-26 Akim Demaille * bin/autoscan.in (Autom4te::FileUtils): Use it for find_file. Reported by Ralf Corsepius. 2003-09-26 Akim Demaille * lib/autoconf/general.m4 (AC_HELP_STRING): Don't overquote the arguments. Actually, use AU_ALIAS. From Bruno Haible. 2003-09-26 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_MKDIR_P_PREPARE): If mkdir -p . fails, rm -fr ./-p to remove junk left behind on NextStep and OpenStep. Problem reported by Eric Sunshine in: http://mail.gnu.org/archive/html/autoconf-patches/2002-12/msg00014.html 2003-09-26 Akim Demaille The test suite are sometimes assigning timings incorrectly. Reported by Henk Krus. Diagnosed by Nicolas Joly. * lib/autotest/general.m4 (AT_CLEANUP): Rename AT_help as AT_help_all. Instead of making AT_help a sequence of assignments to grow $at_help_all, just make AT_help_all be the growing contents of $at_help_all, and make a single assignment in... (AT_INIT): here. (at_times_skip): Flip the meaning and rename as... (at_times_p): this. (AT_INIT): When summarizing the test that ran, remove $at_times_file after use, and check it is present before trying to use it. 2003-09-25 Akim Demaille Version 2.57d. * bin/Makefile.am (edit): Handle '@configure_input@'. (autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate) (ifnames): chmod -w. * tests/wrapper.as (AUTOCONF, AUTOM4TE, ): Point to tests/ executables, not bin/ executables! Otherwise all the magic needed to find non installed files is turned off. This caused a failure of test 40 and 41 that ran aclocal 1.8 which in turn ran autom4te as found in its environment (sent by tests/autoreconf): pointing to bin/autom4te that could not find its files. * tests/mktests.sh: Force the replacement of generated files, for the sake of "mv" program that are interactive when overwriting a -w file. * config/install-sh: Upgrade from CVS Automake. 2003-09-23 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Document test -h versus test -L issues. 2003-09-23 Daniel Jacobowitz and Paul Eggert Trivial change to support GCC's configuration procedure. * lib/autoconf/c.m4 (AC_PROG_CPP_WERROR): New macro. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): Don't warn about inconsistency if the preprocessor is set to give errors for any warning. * doc/autoconf.texi (C Compiler Characteristics): Document this. 2003-09-13 Alexandre Duret-Lutz * Makefile.am (autom4te-update, autom4te_files): Fetch Struct.pm and XFile.pm from Automake. * lib/Autom4te/XFile.pm: Update from Automake. 2003-09-12 Akim Demaille Version 2.57c. 2003-09-12 Akim Demaille * config/config.guess, config/config.sub, config/missing, * lib/Autom4te/Channels.pm, lib/Autom4te/Configure_ac.pm: Update from masters. 2003-09-12 Akim Demaille * doc/autoconf.texi (Header Portability): Promote linux/types.h, not asm/types.h. 2003-09-11 Akim Demaille * doc/autoconf.texi (Header Portability): linux/random.h. From Peter Hendrickson. 2003-09-10 Akim Demaille * tests/mktests.sh (au_exclude_egrep): Make it harder to be willing to edit the output files. 2003-09-10 Akim Demaille * tests/fortran.at (GNU Fortran 77): Also exercise AC_FC_SRCEXT and AC_FC_FREEFORM. * tests/mktests.sh: Skip AC_FC_SRCEXT. * lib/autoconf/fortran.m4 (AC_FC_SRCEXT, AC_FC_FREEFORM): Likewise. 2003-09-09 Akim Demaille * lib/Autom4te/FileUtils.pm (&update_file): s/cannot not/cannot/g. Reported by Gary Vaughan. * bin/autom4te.in (handle_m4): Likewise. 2003-09-09 Akim Demaille * lib/Autom4te/FileUtils.pm (&update_file): Be sure not to leave trailing files. 2003-09-07 Paul Eggert * lib/autoconf/specific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Improve the accuracy of the wording about obsolescence. From a suggestion by Ian Lance Taylor in . 2003-09-05 Paul Eggert * lib/autoconf/fortran.m4 (AC_FC_FREEFORM): Try -ffree-form too, for the benefit of g77 3.2. Fix suggested by Steven G. Johnson. 2003-09-04 Akim Demaille * tests/mktests.sh (ac_exclude_list): Fix the filtering of AC_FUNC_WAIT3. 2003-09-04 Akim Demaille * bin/autom4te.in: Use &fatal where more appropriate than &error. (freeze): When exiting, use $exit_code. * lib/autoconf/fortran.m4: Comment changes. 2003-09-04 Akim Demaille * tests/mktests.sh (ac_exclude_list): Add AC_FC_FUNC. 2003-09-02 Steven G. Johnson Add support for newer Fortran dialects. The F77 interface is unchanged, and continues to support Fortran 77. New FC macros correspond to all the old F77 macros, with output variables FC, FCFLAGS, and FCLIBS. AC_PROG_FC defaults to picking the newest available dialect, but older dialects can be specified. There are new macros AC_FC_SRCEXT to set the source extension, and AC_FC_FREEFORM to accept free-form source files. * lib/autoconf/c.m4 (_AC_LANG_PREFIX(C), _AC_LANG_PREFIX(C++)): New macros. (AC_LANG_PROGRAM(C)): Invoke _AC_LANG_PROGRAM_C_FC_HOOKS if defined. * lib/autoconf/fortran.m4 (AC_LANG(Fortran), _AC_FORTRAN_ASSERT, _AC_LANG_ABBREV(Fortran), _AC_LANG_PREFIX(Fortran 77), _AC_LANG_PREFIX(Fortran), _AC_FC, AC_LANG_SOURCE(Fortran), AC_LANG_PROGRAM(Fortran), AC_LANG_CALL(Fortran), AC_LANG_PREPROC(Fortran), AC_LANG_COMPILER(Fortran), _AC_FC_DIALECT_YEAR, _AC_F95_FC, _AC_F90_FC, _AC_F77_FC, _AC_PROG_FC, AC_PROG_FC, _AC_PROG_FC_G, _AC_PROG_FC_C_O, AC_PROG_FC_C_O, _AC_PROG_FC_V_OUTPUT, _AC_PROG_FC_V, _AC_FC_LIBRARY_LDFLAGS, AC_FC_LIBRARY_LDFLAGS, _AC_FC_DUMMY_MAIN, AC_FC_DUMMY_MAIN, _AC_FC_MAIN, AC_FC_MAIN, __AC_FC_NAME_MANGLING, _AC_FC_WRAPPERS, AC_FC_WRAPPERS, _AC_FC_FUNC, AC_FC_FUNC, AC_FC_SRCEXT, AC_FC_FREEFORM): New macros. (AC_PROG_F77, AC_PROG_F77_C_O, AC_F77_LIBRARY_LDFLAGS, AC_F77_DUMMY_MAIN, AC_F77_MAIN, _AC_F77_NAME_MANGLING, AC_F77_NAME_MANGLING, AC_F77_WRAPPERS, AC_F77_FUNC): Rewrite in terms of the above. (_AC_PROG_F77_G, _AC_PROG_F77_V_OUTPUT, _AC_PROG_F77_V): Remove. * lib/autoconf/lang.m4 (_AC_LANG_PREFIX): New macro. * tests/acfortran.at: Test AC_FC_FREEFORM, AC_FC_FUNC, AC_FC_MAIN, AC_FC_SRCEXT, AC_FC_WRAPPERS, AC_PROG_FC_C_O. 2003-09-02 Paul Eggert * doc/autoconf.texi (Limitations of Usual Tools, Limitations of Make): Document problems with timestamp resolution that 'make', 'cp -p', and 'touch -r' have. 2003-08-27 Akim Demaille * tests/m4sugar.at (cross_warning): Make sure to enable the output, so that we can track spurious m4sugar output. * tests/local.at: Require 2.57. (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't m4_default the arguments that are defaulted by AT_CHECK anyway. Use AT_CHECK_AUTOM4TE. * lib/m4sugar/m4sugar.m4: There should be no output at all: add a missing dnl. 2003-08-27 Akim Demaille * bin/autoheader.in: Issue the "Using auxiliary..." message only when -Wobsolete is set. Set it on by default. Suggested by Klee Dienes. 2003-08-27 Akim Demaille * doc/autoconf.texi (AC_FUNC_FSEEKO, AC_SYS_LARGEFILE): More documentation. From Guido Draheim. 2003-08-26 Akim Demaille * doc/autoconf.texi (Output): Make clear that one can run code after AC_OUTPUT. 2003-08-25 Akim Demaille * config/announce-gen, GNUmakefile, Makefile.maint: Update from CVS Bison. 2003-08-25 Alexandre Duret-Lutz * bin/autoreconf.in (parse_args): Do not pass --no-force to Automake versions prior to 1.8. 2003-08-25 Akim Demaille * doc/autoconf.texi (Header Portability): netinet/if_ether.h. From Ville Karaila. 2003-08-24 Akim Demaille * configure.ac: Bump to 2.57c. 2003-08-22 Akim Demaille Version 2.57b. * Makefile.cfg (local-checks-to-skip): New. * Makefile.maint (local-check): Rename as... (local-checks-available): this. (local-check): New. * Makefile.am (EXTRA_DIST): Add Makefile.cfg. * configure.ac: Require Automake 1.7.6. 2003-08-22 Akim Demaille Output stack traces in warnings. * lib/m4sugar/m4sugar.m4 (_m4_warn): New. Replace the former... (m4_warn): Pass the call stack to _m4_warn. * bin/autom4te.in: Adjust to output the call stack. * tests/m4sugar.at (m4@&t@_warn): Adjust. 2003-08-22 Akim Demaille * lib/Autom4te/Request.pm, lib/Autom4te/C4che.pm: New. * bin/autom4te.in: Adjust. 2003-08-21 Akim Demaille * lib/Autom4te/General.pm (&file_name_is_absolute): Remove. (&verbose): Remove. (&getopt): Adjust the note and verb channels, depending upon --verbose. * bin/autoheader.in, bin/autom4te.in, bin/autoscan.in, * bin/autoupdate.in: Adjust. Use &verb, not &verbose. 2003-08-21 Akim Demaille * bin/autoheader.in (&parse_args): Use &parse_warnings and &parse_WARNINGS. ($help): Use Autom4te::ChannelDefs::usage. * bin/autoscan.in: Use Autom4te::ChannelDefs. * lib/Autom4te/General.pm: Don't export error: you don't own it. 2003-08-21 Akim Demaille First stab at preserving warnings between calls to autom4te, including when the cache is used. There are still several issues: (i) there are too many runs of m4 (one for include, one for warnings, and some more), (ii) warnings spreading on several lines are not handled gracefully, (iii) the code meant to have the call stack display for errors does not work (its handling should move from m4 to autom4te). * bin/autom4te.in Autom4te::Channels, Autom4te::ChannelDefs): Use them. (@preselect): Add m4_warn. ($exit_status): Remove, use $exit_code. ($help): Use Autom4te::ChannelDefs::usage. (&handle_m4): No longer define the m4_warnings. At each run, extract and report the warnings. Always cache the result, including if the exit status is on failure, since if nothing changes, we should result in the same failure, hence we can use the cache. * lib/m4sugar/m4sugar.m4 (m4_warning_ifelse, _m4_warning_ifelse) (_m4_warning_error_ifelse, __m4_warning_error_ifelse, _m4_warn): Remove. (m4_warn): Redefine as a do-nothing: it is its invocation that matters, as warnings are now reported via traces. * lib/autoconf/general.m4 (AC_DIAGNOSE): Don't make it a copy of the contents of m4_warn: make it _call_ m4_warn, so that tracing the latter reveals calls to the former. Adjust the tests. * tests/m4sugar.at (m4@&t@_warn): Use existing warning categories. 2003-08-21 Akim Demaille * bin/autoreconf.pm (Autom4te::Channels, Autom4te::ChannelDefs): Use them. 2003-08-21 Akim Demaille * lib/Autom4te/FileUtils.pm (&find_file): Walk the @include in forward order. * lib/Autom4te/ChannelDefs.pm: Doc typos. (&parse_warnings): Accept a list of warning requests. (&usage): Return a string, not a side effect. (cross): New warning category. 2003-08-21 Akim Demaille * lib/Autom4te/Configure_ac.pm (&find_configure_ac) (&require_configure_ac): Accept an optional directory argument. ($configure_ac): Remove. * lib/Autom4te/General.pm (&find_configure_ac, &canonfile) (&catfile): Remove. * bin/autoheader.in, bin/autoreconf.in, bin/autoupdate.in, * bin/autoscan.in: Adjust. 2003-08-20 Akim Demaille * bin/autoheader.in: Remove duplicate 'use Autom4te::FileUtils'. Reported by Alexandre Duret-Lutz. 2003-08-20 Akim Demaille * bin/autoupdate.in, bin/autoheader.in, bin/autoreconf.in, * bin/autom4te: Adjust. In particular, be Autoconf tools are really silent when properly working, bind the verbosity of the 'note' channel to $verbose. * lib/Autom4te/General.pm (&find_file, &mtime, &update_file) (&xsystem, &contents): Remove, since they are exported by... * lib/Autom4te/FileUtils.pm: this. More perldoc. * lib/Autom4te/General.pm (&up_to_date_p): Move to... * lib/Autom4te/FileUtils.pm: here. 2003-08-20 Akim Demaille * lib/Autom4te/Channels.pm, lib/Autom4te/ChannelDefs.pm * lib/Autom4te/Configure_ac.pm, lib/Autom4te/FileUtils.pm: New, from CVS Automake. 2003-08-20 Akim Demaille * Makefile.am (automake_cvsweb, automake_cvsargs, autom4te_files) (autom4te-update): New. * Makefile.cfg (update): Bind autom4te-update. 2003-08-19 Derek Price * lib/autotest/general.m4: Comment various HELP_* diversions. (PARSE_ARGS_BEGIN): New section for option parsing related initialization. (AT_ARG_OPTION,AT_ARG_OPTION_ARG,_AT_ARG_OPTION): New macros to define package specific options and associated help. 2003-08-19 Akim Demaille * config/announce-gen, Makefile.cfg: New. * Makefile.am: Adjust. * GNUmakefile, Makefile.maint: Update from CVS Coreutils. 2003-08-19 Alexandre Duret-Lutz * lib/autom4te.in (Automake-preselections): Preselect AC_CONFIG_LIBOBJ_DIR, AC_CONFIG_LINKS, m4_include, and m4_sinclude. 2003-08-19 Alexandre Duret-Lutz * lib/autom4te.in (Autoconf): Move all args except aclocal.m4? into ... (Autoconf-without-aclocal-m4): ... this new language. * doc/autoconf.texi (autom4te Invocation): Mention Autoconf-without-aclocal-m4. 2003-08-18 Derek Price * doc/autoconf.texi (Writing testsuite.at): Document RUN-IF-FAIL & RUN-IF-PASS optional arguments. 2003-08-18 Derek Price * doc/autoconf.texi (Programming in M4sh): Add doc for AS_IF. 2003-08-16 Derek Price * doc/autoconf.texi (Writing testsuite.at): Document defaults for STDOUT & STDERR arguments. 2003-08-14 Derek Price * lib/autotestgeneral.m4 (AT_INIT): Reformat test summary line to print DESCRIPTION rather than FILE and LINE. Shorten result to fit in new, shorter column three. Add DESCRIPTION to log file content. 2003-08-13 Derek Price * lib/autotest/general.m4 (AT_INIT): Correct typo in final status output. 2003-08-12 Derek Price * lib/autotest/general.m4 (AT_CHECK): Use new _AT_CHECK API. (AT_CHECK_NOESCAPE): Move core functionality to... (_AT_CHECK): ...this new macro. 2003-08-07 Derek Price * lib/autotest/general.m4 (AT_CHECK): Move core functionality... (AT_CHECK_NOESCAPE): ...to this new macro. 2003-07-31 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_UNSET_PREPARE): Work around a bug in Bash 2.01. Problem reported by Brian Gough in . 2003-07-25 John W. Eaton * lib/autoconf/fortran.m4 (AC_F77_LIBRARY_LDFLAGS): Also ignore -lcrt1.o, for OS X. (trivial change) 2003-07-07 Paul Eggert * lib/autoconf/c.m4 (AC_C_INLINE): Wrap the '#define inline ...' inside '#ifndef __cplusplus'. Problem reported by Bob Friesenhahn. 2003-07-06 Bill Clarke * lib/autoconf/functions.m4 (AC_FUNC_MMAP): Cast pointer to 'long', not 'int', for benefit of Sun's recent C++ compilers (trivial change). See: http://mail.gnu.org/archive/html/autoconf-patches/2003-07/msg00007.html (This really should be 'intptr_t', not 'long', but that would take more work.) 2003-06-25 Akim Demaille * lib/Makefile.am (autom4te.cfg): Make it read only. Depend on Makefile since it contains substitutions. From Paolo Bonzini. * lib/autom4te.in (args): Add local.at? for Autotest args. This change was made on autom4te.cfg which is generated. Reported by Raja R. Harinath. 2003-06-25 Akim Demaille * doc/autoconf.texi (Header Portability): sys/mount.h. From Gareth McCaughan. 2003-06-23 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Report a single config.log, not all of them. This fixes 1. the fact that when testing Autoconf there are many many config.log, 2. the incorrect use of top_srcdir to find config.log. Don't mix the detailed output of failed test with the summary of failures. Rather, append detailed log afterwards. 2003-06-23 Akim Demaille * tests/local.at (AT_CHECK_CONFIGURE): Adjust to the verbose being always run: output config.log on $at_group_log. 2003-06-23 Akim Demaille * tests/torture.at (#define header templates): Don't use quotes in C++ comments as it puzzles Emacs' sh font-lock-mode. 2003-06-23 Akim Demaille * tests/mktests.sh (au_exclude_egrep): Fix output copyright notice. * lib/autom4te.cfg (args): Add local.at? for Autotest args. * tests/atspecific.m4: Rename as... * tests/local.at: This. * tests/suite.at: Move the globals into... * tests/local.at: here. * tests/Makefile.am: Adjust. * doc/autoconf.texi (testsuite Scripts): Adjust. 2003-06-21 Kevin Ryde * lib/autoconf/c.m4 (_AC_PROG_CC_STDC): Extend test program to get an error from OSF 4.0 Compaq cc in its default almost-ANSI mode, thereby ensuring we add -std1 for full-ANSI. * doc/autoconf.texi (hdrindex): New macro. Add index entries for portability of various standard header files. 2003-06-20 Akim Demaille * configure.ac: Bump to 2.57b. 2003-06-20 Akim Demaille Version 2.57a. 2003-06-20 Akim Demaille * bin/autom4te.in: Don't rely on $HOME being defined. Reported by Marc Espie as PR/233. 2003-06-20 Akim Demaille * lib/autotest/general.m4: Use at_times_file only if used. From Nicolas Joly. 2003-06-20 Akim Demaille * config/config.guess, config/config.sub, config/elisp-comp, * config/install-sh, config/mkinstalldirs, doc/standards.texi: Update from masters. 2003-06-11 Paolo Bonzini * doc/autoconf.texi (Writing testsuite.at): Document AT_XFAIL_IF * lib/autotest/general.m4 (AT_XFAIL_IF): New macro. (TEST_SCRIPT): New diversion. (AT_SETUP): Divert output to TEST_SCRIPT and move some code... (AT_CLEANUP): ...to here. Undivert TEST_SCRIPT. (AT_INIT): Support for expected failures. 2003-06-02 Akim Demaille * bin/autom4te.in, bin/autoscan.in, bin/autoheader.in: White space changes. * lib/Autom4te/General.pm (&backname): Remove, no longer used by Autoconf nor Automake. (&contents): New, from Automake. PODify. 2003-05-28 Paul Eggert * NEWS, doc/autoconf.texi (Particular Functions), lib/autoconf/functions.m4 (AC_FUNC_MKTIME): Check that mktime is the inverse of localtime. 2003-05-25 Alexandre Duret-Lutz * lib/Autom4te/General.pm (END): Print diagnostics to STDERR. (handle_exec_errors): New function. Work around $! being altered by WEXITSTATUS. (xqx, xsystem): Use handle_exec_errors. 2003-05-23 Alexandre Duret-Lutz * lib/Autom4te/General.pm (END): Rewrite exit code processing. Do not call `_exit()', simply modify `$?'. (xsystem): Reset $! before running system, and check it afterward. * tests/tools.at (autoupdating AC_PREREQ): Expect exit status 63 for version mismatches. 2003-05-23 Akim Demaille * lib/autoconf/status.m4: Prefer "TAB-SP" to "SP-TAB", because of Emacs' dangerous whitespace.el behavior (smashing "useless" spaces in the middle of a line). * lib/m4sugar/m4sugar.m4: Likewise. Remove useless spaces in comments. 2003-05-23 Akim Demaille * lib/m4sugar/m4sugar.m4 (m4_version_prereq): Failure causes an exit 63, so that we (or Automake's "missing") can tell the difference with a plain failure. * doc/autoconf.texi (Notices): Adjust. 2003-05-23 Akim Demaille * Makefile.am, bin/Makefile.am, config/Makefile.am, * doc/Makefile.am, lib/autoconf/Makefile.am, tests/Makefile.am: White spaces cleanup. 2003-05-22 Jim Meyering Paul Eggert * lib/autoconf/c.m4 (_AC_PROG_CXX_EXIT_DECLARATION): Remove `#include ' from the list; we should never make confdefs.h include or , because the resulting namespace pollution would cause other tests to fail. Configure scripts run with some older versions of g++ and HP's aCC would fail due to such an #include. Problems reported by Matthew Mueller in and by Keith Bostic in . In the test, use the test declaration before including , as that's closer to how it'll be used. 2003-05-23 Akim Demaille * doc/autoconf.texi (Header Portability): ucred.h. From Ian Redfern. 2003-05-22 Paolo Bonzini Overhaul Autotest's logging: generate separate log files in testsuite.dir/NNN/testsuite.log, and append them to testsuite.log instead of re-running the test verbosely. * lib/autotest/general.m4 (AT_INIT): Use a single redirected file descriptor, write 0 to at_status_file instead of setting at_status=0, initialize some new variables (at_status_file, at_group_log, at_suite_log, at_tee_pipe). Remove the cruft to rerun the tests, instead append the at_group_log to the at_suite_log when a test fails. (AT_SETUP): pipe the test case's output into at_tee_pipe, with the AS_MESSAGE_LOG_FD redirected to stdout. (AT_CLEANUP): save the output status in $at_status_file and restore it, redirect the AS_MESSAGE_LOG_FD back to its original place. (AT_CHECK): since tests are run with a redirected stdout, and used to be re-run in verbose mode, turn some $at_verbose into echo, and don't redirect the output of testing stdout and stderr. * lib/autotest/autoconf.texi (testsuite Scripts): Update the name of the debugging directory and information about its contents. 2003-05-22 Paolo Bonzini * lib/m4sugar/m4sh.m4 (AS_REQUIRE): Actually use the 2nd parameter. 2003-05-22 Akim Demaille * lib/autoconf/autotest.m4, lib/autoconf/autoupdate.m4 * lib/autoconf/fortran.m4 lib/autoconf/general.m4 * lib/autoconf/headers.m4 lib/autoconf/oldnames.m4 * lib/autoconf/status.m4: Fix and adjust copyright notices. 2003-05-22 Akim Demaille * aclocal.m4, bin/autoconf.as, lib/autoconf/autoconf.m4, * lib/autoconf/autoheader.m4, lib/autoconf/autoupdate.m4, * lib/autoconf/c.m4, lib/autoconf/fortran.m4, * lib/autoconf/general.m4, lib/autoconf/headers.m4, * lib/autoconf/lang.m4, lib/autoconf/libs.m4, * lib/autoconf/programs.m4, lib/autoconf/specific.m4, * lib/autoconf/status.m4, lib/autoconf/types.m4, * lib/autotest/general.m4, lib/m4sugar/m4sugar.m4, * tests/atspecific.m4, tests/base.at, tests/compile.at, * tests/foreign.at, tests/m4sh.at, tests/semantics.at, * tests/tools.at, tests/torture.at: Whitespace clean up. Suggested by Jim Meyering. 2003-05-22 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Restore smashed ' \t' as '\t ' so that Emacs' whitespace.el keep it. Reported by Jim Meyering. 2003-05-22 Akim Demaille * doc/autoconf.texi: Replace AC_HELP_STRING AS_HELP_STRING. Add AC_HELP_STRING to the obsolete macros section. Typos. Use '@.' for sentences that ended in a capital letter. From Art Haas. 2003-05-22 Akim Demaille * config/config.guess, config/config.sub, config/elisp-comp, * config/install-sh, config/mdate-sh, config/mkinstalldirs, * config/texinfo.tex, doc/standards.texi: Update from masters. 2003-05-21 Paolo Bonzini * lib/m4sugar/m4sh.m4 (AS_VAR_SET): Escape the RHS before passing it to eval. 2003-05-21 Akim Demaille * bin/autoupdate.in ($m4): Fix quotation. Reported by Martin Mokrejs. 2003-05-19 Paul Eggert * ChangeLog, ChangeLog.2, THANKS, lib/m4sugar/m4sugar.m4: Remove non-ASCII characters. 2003-05-18 Paolo Bonzini * tests/semantics.at (AC_SEARCH_LIBS): New test. * tests/semantics.at (AC_CHECK_HEADERS_OLD, AC_CHECK_HEADERS_NEW): New tests. 2003-05-17 Akim Demaille * lib/autoconf/functions.m4: Use the default includes so that memcmp be declared before being tested. Reported by Sander Niemeijer. (AC_FUNC_ERROR_AT_LINE, AC_FUNC_GETGROUPS, AC_FUNC_STRNLEN): Likewise. * doc/autoconf.texi (Default Includes): Document AC_INCLUDES_DEFAULT. 2003-05-17 Akim Demaille * lib/autoconf/specific.m4: Include signal.h and unistd.h. * doc/autoconf.texi (Obsolete Macros): Adjust. Reported by Werner LEMBERG and Debian Bug 190886. 2003-05-16 Akim Demaille * lib/m4sugar/m4sh.m4 (_AS_UNSET_PREPARE): s/FOO/as_foo/ to avoid user name space clashes. Reported by Bruno Haible. 2003-05-16 Akim Demaille * bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, * bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in (BEGIN): Make them uniform, and more robust to Perl special characters. Reported by Martin Mokrejs. 2003-05-14 Akim Demaille * tests/foreign.at (Libtool): Skip all Libtools pre 1.4. 2003-05-14 Akim Demaille * doc/autoconf.texi (Header Portability): X11/extensions/scrnsaver.h, linux/irda.h. 2003-05-12 Akim Demaille * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Improve the message. From Matthias Andree. 2003-05-07 Alexandre Duret-Lutz * lib/Autom4te/XFile.pm (lock, truncate): Do not pass @_ to flock and truncate. 2003-05-06 Akim Demaille Don't try to be smart with aclocal 1.8+ because (i) aclocal no longer updates aclocal.m4 if useless, (ii) if a file m4_included by aclocal.m4 is changed it might require the importing of another m4 extension file, i.e., aclocal must be run. * bin/autoreconf.in (&run_aclocal, $aclocal_supports_force): New. (&parse_args): Use --force with aclocal if required and supported. (&autoreconf_current_directory): Use &run_aclocal. 2003-05-06 Akim Demaille Lock autom4te's cache. * lib/Autom4te/XFile.pm ($me, &name, &lock, &truncate, &seek): New. * bin/autom4te.in (&Request::save, &Request::load): Use an IO::File argument instead of a file name, so that the request file remains open during the whole autom4te run. ($icache_file): New. (&freeze): Lock the $icache_file. 2003-04-29 Derek Price * lib/autotest/general.m4 (AT_KEYWORDS): Don't use a comma as the seperator with m4_append_uniq(). It doesn't work. (AT_CLEANUP): Add `;' to end of at_help_all. (AT_INIT): Allow --keywords to be specified more than once. When grepping $at_help_all for keywords, use the field and keyword seperators to ensure a complete keyword match. Alter at_prev handling to support the new --keywords behavior. 2003-04-27 Karl Berry * doc/autoconf.texi: Make the dir entries in the autoconf manual align better with others. I also made some of the individual entries on one line, for brevity and to make it easier for me to sort my dir-example file in the Texinfo distribution :). 2003-04-12 Jim Meyering * NEWS: Mention the new macro. * lib/autoconf/c.m4 (AC_C_RESTRICT): New macro. * doc/autoconf.texi (C Compiler): Describe AC_C_RESTRICT. * tests/c.at: Test AC_C_RESTRICT. * tests/mktests.sh (ac_exclude_list): Add exclusion for AC_C_RESTRICT. 2003-04-08 Akim Demaille * bin/ifnames.in: Skip C++ comments. From Jeremy Yallop. 2003-04-08 Akim Demaille * GNUmakefile (SHELL): Don't assume sh is in /bin/. From Ilya Zakharevich. 2003-04-08 Akim Demaille * doc/autoconf.texi (Particular Headers): Some about sys/socket.h, net/if.h, stdlib.h. 2003-04-01 Derek Price * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Correct syntax error from Akim's checkin of 2003-03-29. 2003-04-01 Derek Price * tests/torture.at (Configuring subdirectories): Add missing close-quote for Akim's change from 2003-03-28. 2003-04-01 Akim Demaille * doc/autoconf.texi (ac, at, ms): Rename these indexes as... (AC, AT, MS): these. (shortindexflag, @acindex, @ahindex, @asindex, @atindex, @msindex): New. Use them. * doc/Makefile.am (CLEANFILES): Adjust. (TEXI2DVI): Make it --batch. 2003-03-31 Derek Price * lib/autotest/general.m4: Revert the checkin from 2003-03-27 which removed the main loop. Thanks to Akim Demaille. 2003-03-29 Akim Demaille * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Skip OS/2's install, that starts a GUI. From Ilya Zakharevich. 2003-03-29 Akim Demaille * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): The documentation to read is Autoconf's. Suggested by Paul Eggert. 2003-03-28 Akim Demaille * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): Suggest reading the section "Present But Cannot Be Compiled" when the header causes problems. 2003-03-28 Akim Demaille * tests/torture.at (Configuring subdirectories): Require aclocal 1.4, otherwise the test fails, as it does support configure.ac. This fixes the "test 40 failed" bug reports. 2003-03-28 Akim Demaille * doc/autoconf.texi (C Compiler): `#line' portability. From Paul Eggert and Nelson H. F. Beebe. 2003-03-27 Derek Price * lib/autotest/general.m4: Eliminate main loop and reorganize test layout in order to allow scripting around test groups. 2003-03-27 Derek Price * lib/autotest/general.m4 (PARSE_ARGS,PARSE_ARGS_END,HELP,HELP_MODES, HELP_TUNING,HELP_OTHER,HELP_END,PREPARE_TESTS,TESTS_END): Define and use new diversions in preparation for accepting new arguments and allowing scripting around tests. (OPTIONS,TAIL): Remove these diversions to make way for the ones above. 2003-03-26 Derek Price * lib/autoconf/general.m4 (AC_ARG_VAR): Use AS_HELP_STRING instead of obsolete AC_HELP_STRING. (AC_HELP_STRING): AU_DEFUN to... * lib/m4sugar/m4sh.m4 (AS_HELP_STRING): ...here. * tests/m4sh.at (AS_HELP_STRING): New test. * tests/acgeneral.at: Regenerated. 2003-03-26 Derek Price * lib/autotest/general.m4: s/DEFAULT/DEFAULTS/ since it makes more sense. Verbosify the diversion definitions comment. 2003-03-26 Derek Price * lib/autotest/general.m4 (AT_INIT): Remove redundant call to AS_PREPARE. 2003-03-21 Eric Siegerman * doc/autoconf.texi (Present But Cannot Be Compiled): Grammar fixes and minor rewording. (trivial change) 2003-03-06 Paul Eggert Work around a problem noted by Nelson H. F. Beebe with coreutils 4.5.9: Sun c89 (Sun WorkShop 6 update 2 C 5.3 Patch 111679-08 2002/05/09) rejects '#line 32768 "configure"' because the line number overflows. * lib/autoconf/c.m4 (AC_LANG_SOURCE(C)): Do not generate #line directives. * lib/autoconf/lang.m4 (AC_LANG_SOURCE): Fix comment to match this. * doc/autoconf.texi (Generating Sources): Document this. 2003-03-01 Richard Dawe * tests/atspecific.m4 (AT_CHECK_AUTOM4TE): Normalize file name for the m4 program, when it has an "exe" file extension. DJGPP's error messages include the error code in brackets - remove the error code during normalization. 2003-02-28 Akim Demaille * doc/autoconf.texi (Present But Cannot Be Compiled): New. 2003-02-28 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Make): Remove the section about `$<' in inference rules, it was a bogus interpretation of an old Automake change. Discuss NetBSD, FreeBSD, OpenBSD, and Tru64 make in the "target lookup" section. (Automake): Automake 1.5+ no longer requires special tools to be present on the developer's host. 2003-02-26 Richard Dawe * bin/autoheader.in (BEGIN): For DJGPP SHELL may not be set to a shell that can handle redirection or quoting correctly. Override SHELL with the shell detected by configure. Use of $^O suggested by Tim van Holder. * bin/autom4te.in (BEGIN): Likewise. * bin/autoreconf.in (BEGIN): Likewise. * bin/autoscan.in (BEGIN): Likewise. * bin/autoupdate.in (BEGIN): Likewise. * bin/ifnames.in (BEGIN): Likewise. * bin/ifnames.in: Add final newline to help and version messages. * lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): Translate colons, to cope with DOS-style absolute paths, when constructing ${ac_make}. * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS, _AC_OUTPUT_FILES): When constructing paths with IFS=:, quote the path. If we're constructing a DOS-style absolute path, we don't want to split it on the colon. * tests/atspecific.m4 (AT_CHECK_CONFIGURE): Fix typo in description. 2003-02-25 Pavel Roskin * bin/autoheader.in: Add missing newline when printing suggestion how change AC_DEFINE call. 2003-02-24 Paul Eggert * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Fix typo in 2002-09-01 patch by replacing "test -n" with "test -z". This fixes a bug found by Jeff Painter and reported by Tom Epperly in . * doc/autoconf.texi (Shell Substitutions): test -n -> test -z, to fix a mismatch between example and discussion. 2003-02-24 Kevin Ryde * doc/autoconf.texi (Limitations of Builtins): Add notes on printf format starting with "-". 2003-02-20 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Make): `foo=bar make -e' is not portable inside Makefile. 2003-02-20 Akim Demaille * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL): When compiler says yeah, but preproc says nope, compiler is right. Conversely, prompt the reader to send a bug report to the maintainers of the package, not of Autoconf. 2003-02-20 Klee Dienes * bin/autoreconf.in (autoreconf_current_directory): Properly handle an empty aclocal.m4. 2003-02-20 Akim Demaille * lib/autoconf/general.m4 (AC_PREFIX_PROGRAM): Quote $ac_prefix_program. From Larry Jones. 2002-12-23 Paul Eggert * lib/autoconf/c.m4 (AC_LANG_FUNC_LINK_TRY(C)): Define $1 to an innocuous variant befor including or . This works around a bug reported by Albert Chin: HP-UX 11i (and earlier versions) have a that declares gettimeofday and many other functions. 2002-12-03 Paul Eggert Version 2.57. * NEWS, configure.ac: Update version. * doc/fdl.texi: Upgrade to FDL version 1.2. * lib/autoconf/c.m4 (AC_LANG_FUNC_LINK_TRY(C)): Use the function f nontrivially in main's body, so that f's external declaration is not optimized away in AIX. This should fix the bug reported by Martin Frydl in . * lib/autoconf/c.m4 (AC_LANG_FUNC_LINK_TRY(C), _AC_PROG_PREPROC_WORKS_IFELSE): Use if __STDC__ is defined, to support freestanding compilers. This should fix the bug reported by Momchil Velkov in . * doc/autoconf.texi (Obsolete Macros): Fix typos (insert empty arg, AC_DEFINE -> AC_DEFINE_UNQUOTED) in documentation for obsolete AC_CHECK_TYPE. The missing empty arg was reported by Simon Josefsson in . * Makefile.maint (www-gnu): New macro. (standards.texi-url_prefix, make-stds.texi-url_prefix): Use it, as the location has moved. 2002-12-02 Martin Frydl * bin/autom4te.in (at_flatten): rewritten to avoid M4 problem when \(.*\) match is too long and there is something more to be checked. 2002-11-15 Akim Demaille Version 2.56. * config/install-sh: chmod +x. From Paul Eggert. * config/move-if-change: Indenting changes. * Makefile.am (AUTOMAKE_OPTIONS): Move to... * configure.ac (AM_INIT_AUTOMAKE): here. Require 1.7.1. 2002-11-14 Akim Demaille Version 2.55. * config/config.guess, config/config.sub, config/install-sh: Update from masters. 2002-11-14 Akim Demaille * Makefile.maint: Sync with Bison, i.e.: (po-check): Scan .l and .y files instead of the .c and the .h files that they generate. This fixes the bug reported by Tim Van Holder in: Look for N_ as well as for _. Try to avoid matching #define for N_ and _. From Paul Eggert. 2002-11-14 Akim Demaille * doc/autoconf.texi (C Compiler): Compiling several files at once. From Paul Eggert and Albert Chin-A-Young. 2002-11-14 Akim Demaille * doc/autoconf.texi (C Compiler): Solitary backslashes. From Paul Eggert and Albert Chin-A-Young. 2002-11-14 Kevin Ryde * lib/autoconf/c.m4 (AC_LANG_FUNC_LINK_TRY(C)): Initialize f=$1 rather than assigning in main, to avoid HP cc +O3 optimizing it away. 2002-11-12 Peter Eisentraut * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Add -q option. Process --recheck after parsing all options. Pass -q option to configure on --recheck. (AC_OUTPUT): Pass -q from configure to config.status. * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Strip -q from arguments to record. * doc/autoconf.texi (config.status Invocation): Document config.status -q option. 2002-11-07 Alexandre Duret-Lutz * bin/autoscan.in (scan_file): Scan Makefile.am too. Ignore Makefile.in if Makefile.am exists. (output): Strip `.am' from Makefiles. Don't output AC_CONFIG_FILES if no Makefiles were found. 2002-11-07 Akim Demaille * Makefile.am (cvs_files): Add elisp-comp, mdate-sh. (local_updates): New. * Makefile.maint: Update, from CVS Bison. (local_updates): New. 2002-11-06 Akim Demaille * lib/autoconf/c.m4 (AC_LANG_FUNC_LINK_TRY): Wrap the `f' declaration in extern "C" too. Reported by Roberto Bagnara. 2002-11-06 Akim Demaille * tests/torture.at (Configuring subdirectories): Don't use grep -w. * doc/autoconf.texi (Limitations of Usual Tools): Grep -w. Reported by Ezra Peisach. 2002-11-05 Akim Demaille * lib/autoconf/autoheader.m4 (_AH_TEMPLATE_OLD, _AH_VERBATIM_OLD): Remove. We _have_ to stop using the old compatibility scheme that tried to avoid useless backslashes because Libtool 1.4.3 contains a AC_DEFINE([error_t], [int], [Define to a type to use for \`error_t' if it is not otherwise available.]) We _have_ to quote the single quote and backslashes with \. The old compatibility scheme saw that ` was backslashed, and therefore did not quote the single quote. Hence before this patch, Autoconf was not compatible with Libtool. 2002-11-04 Paul Eggert * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Set the following variables, too: LC_ADDRESS, LC_IDENTIFICATION, LC_MEASUREMENT, LC_MONETARY, LC_NAME, LC_PAPER, LC_TELEPHONE. * doc/autoconf.texi (Special Shell Variables): Mention those vars. 2002-11-04 Akim Demaille Version 2.54c. * Makefile.maint (update, cvs-update, po-update, do-po-update): New. * config/texinfo.tex: Update. 2002-11-03 Akim Demaille * bin/autoreconf.in (&autoreconf_current_directory): New, extracted from... (&autoreconf): here. ($help, $make, &parse_args, &autoreconf_current_directory): Support -m/--make. * doc/autoconf.texi (autoreconf Invocation): Adjust. 2002-10-31 Bruno Haible * lib/autoconf/functions.m4 (_AC_FUNC_MALLOC_IF): Change message. Change name of cache variable to ac_cv_func_malloc_0_nonnull. (AC_FUNC_MALLOC): Change description of HAVE_MALLOC macro. (_AC_FUNC_REALLOC_IF): Change message. Change name of cache variable to ac_cv_func_realloc_0_nonnull. (AC_FUNC_REALLOC): Change description of HAVE_REALLOC macro. 2002-10-31 Akim Demaille The test suite was no longer checking for trailing envvars and files. * tests/atspecific.m4 (AC_STATE_SAVE): Don't use quadrigraphs here. (AT_CHECK_ENV): Make sure the `state-ls.before file exists. 2002-10-31 Akim Demaille * lib/autoconf/programs.m4 (AC_PROG_MAKE_SET): Use and display `$(MAKE)' instead of '${MAKE}' to emphasize that we refer to the Make variable, not a shell variable. Suggested by Bruno Haible. 2002-10-31 Akim Demaille * bin/autom4te.in (load_configuration): Reject #args out of any language. 2002-10-31 Akim Demaille * lib/autoconf/general.m4 (_AC_MSG_LOG_CONFTEST): New. (_AC_PREPROC_IFELSE, _AC_COMPILE_IFELSE, _AC_LINK_IFELSE) (_AC_RUN_IFELSE): Use it. * lib/autoconf/lang.m4 (_AC_COMPILER_OBJEXT): (_AC_COMPILER_EXEEXT_DEFAULT): Likewise. * lib/autoconf/c.m4 (AC_LANG_SOURCE): Don't include confdefs.h, inline it. 2002-10-30 Akim Demaille * bin/autom4te.in (&parse_args, $help): Support --no-cache. * doc/autoconf.texi (autom4te Invocation): Adjust. Suggested by Tim van Holder. 2002-10-29 Paul Eggert * doc/autoconf.texi (Particular Functions): AC_FUNC_MALLOC and AC_FUNC_REALLOC check for compatibility with glibc, not POSIX. Problem reported by Bruno Haible. 2002-10-29 Akim Demaille * doc/autoconf.texi (Header Templates): Put also in words what the pictures says to assist free style readers. (Customizing autom4te): s/--cache=/--cache /. 2002-10-29 Akim Demaille * lib/autoconf/functions.m4 (_AC_FUNC_VFORK): Include stdlib.h and sys/wait.h. sparc_address_test returns void. Use it with an argument, as prototyped. From Bruno Haible. 2002-10-29 Akim Demaille * doc/autoconf.texi (Subdirectories): Cygnus dirs have configure.in, not configure.ac. Reported by Bruno Haible. 2002-10-29 Akim Demaille * tests/torture.at (Deep Package): New test. (Configuring subdirectories): Don't use a testSubDir as Autotest now does it itself. 2002-10-29 Akim Demaille * bin/autoreconf.in (&parse_args, $help): Support --warnings. * doc/autoconf.texi (Invoking autom4te): Rename as... (autom4te Invocation): this, for consistency with the other nodes. 2002-10-29 Akim Demaille * lib/autom4te.in (Autoconf): s/automate/autom4te/. Reported by Ralf Corsepius. 2002-10-29 Akim Demaille * lib/m4sugar/m4sh.m4 (_AS_QUOTE): The warning about quoted characters is a back as an `obsolete' warning now. Reported by Ralf Corsepius. 2002-10-28 Akim Demaille * configure.ac: Bump to 2.54c. 2002-10-28 Akim Demaille Version 2.54b. * tests/foreign.at (Libtool): Adjust to broken libtoolize. 2002-10-28 Akim Demaille * tests/atspecific.m4 (AT_CHECK_AUTOM4TE): Be robust to different m4 executable names, and different GNU M4 version. Reported by Ezra Peisach and Paul Jarc. 2002-10-27 Akim Demaille * lib/autoconf/functions.m4 (_AC_FUNC_VFORK): Really use AC_RUN_IFELSE. 2002-10-27 Akim Demaille * doc/autoconf.texi: More AC_MSG_FAILURE promotion. * lib/autoconf/fortran.m4 (_AC_F77_NAME_MANGLING): Die when a simple Fortran program cannot be compiled. * lib/autoconf/lang.m4 (AC_LANG_CALL, AC_LANG_FUNC_LINK_TRY): Issue a warning if no function is given. 2002-10-27 Akim Demaille * doc/autoconf.texi (Run Time): Document AC_RUN_IFELSE. Move the documentation of AC_TRY_RUN to... (Obsolete Macros): here. Adjust all the old samples still using AC_TRY_RUN to AC_RUN_IFELSE. (autoconf Invocation): Remove the duplicates with `invoking autom4te'. * lib/autoconf/headers.m4 (AC_HEADER_STDC): Don't use AC_TRY_RUN. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Likewise. 2002-10-27 Akim Demaille * doc/autoconf.texi (Generating Sources): Document AC_LANG_CALL and AC_LANG_FUNC_LINK_TRY. (Examining Libraries): Rename as... (Running the Linker): this. Document AC_LINK_IFELSE. Move the documentation of AC_TRY_LINK and AC_TRY_LINK_FUNC to... (Obsolete Macros): here. * lib/autoconf/fortran.m4 (_AC_F77_NAME_MANGLING): Don't use AC_TRY_LINK_FUNC nor AC_TRY_LINK. * lib/autoconf/libs.m4 (AC_CHECK_LIB, AC_PATH_XTRA): Likewise. * lib/autoconf/headers.m4 (AC_USG): Likewise. 2002-10-27 Akim Demaille * lib/autoconf/headers.m4 (AC_HEADER_STDC): Don't use AC_TRY_CPP. More `check config.log' messages. * lib/autoconf/general.m4 (AC_MSG_FAILURE): New. * doc/autoconf.texi (Printing Messages): Document it. * lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Use it when appropriate. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT) (_AC_COMPILER_EXEEXT_WORKS, _AC_COMPILER_EXEEXT_O) (_AC_COMPILER_OBJEXT): Likewise. * lib/autoconf/general.m4 (AC_RUN_IFELSE): Likewise. * lib/autoconf/fortran.m4 (_AC_LANG_PROGRAM_C_F77_HOOKS): Likewise. * lib/autoconf/c.m4 (AC_PROG_CPP, AC_PROG_CC, AC_PROG_CXXCPP): Likewise. Deprecate macros with unusual interfaces. * lib/autoconf/general.m4 (AC_TRY_CPP, AC_TRY_LINK) (AC_TRY_COMPILE, AC_TRY_RUN): AU_DEFUN'ed. Document the new ones, and proper style. * doc/autoconf.texi (Generating Sources): New. Document AC_LANG_CONFTEST, AC_LANG_SOURCE, AC_LANG_PROGRAM. (Examining Declarations): Rename as... (Running the Preprocessor): this. Document AC_PREPROC_IFELSE. (Examining Syntax): Rename as... (Running the Compiler): this. (AC_FOO_IFELSE vs AC_TRY_FOO): New section. (Obsolete Macros): Move the definition of AC_TRY_CPP and AC_TRY_COMPILE here. 2002-10-27 Akim Demaille Move sections around. * doc/autoconf.texi (Customizing autom4te): Remove a lost sentence. Reported by Burno Haible. (Language Choice): Now the first section of... (Writing Tests): this section. Make the introduction less C-centric. (Guidelines, Test Functions): Move to... (Writing Test Programs): this new section. (Test Programs): Merge into... (Run Time): this. 2002-10-27 Akim Demaille * lib/freeze.mk ($(AUTOM4TE_CFG)): Add a missing dependency on autom4te.in that resulted in the need for two `make' runs. 2002-10-27 Akim Demaille * configure.ac: Bump to 2.54b. 2002-10-25 Akim Demaille Version 2.54a. * Makefile.maint: Update from the Coreutils. (AMTAR): Remove, obsolete. (automake_repo): Update to redhat.com. (cvs_file): New. Adjust to the fact that ansi2knr is now hosted by Automake. * Makefile.am (cvs_files): Add install-sh and mkinstalldirs. * config/config.guess, config/mkinstalldirs, config/texinfo.tex: Update from masters. * lib/autoscan/Makefile.am (EXTRA_DIST, nodist_autoscanlib_DATA): autoscan.pre is not to be installed, and autoscan.list is not to be shipped. (CLEANFILES): Add autoscan.list. (autoscan.list): Disable the cache. * bin/Makefile.am: Include freeze.mk. 2002-10-25 Akim Demaille * bin/autom4te.in (&load_configuration): Take the file as argument. (&parse_args): Handle -C, --cache. ($help): Adjust. (MAIN): Load ~/.autom4te.cfg and ./.autom4te.cfg. * lib/autom4te.in (Autoconf): Pass --cache=autom4te.cache. * doc/autoconf.texi (Invoking autom4te): Document --cache. Now a subsection of... (Using autom4te): This new section. (Customizing autom4te): New. (autom4te.cache): Adjust. 2002-10-25 Akim Demaille * doc/autoconf.texi (Generic Headers): More information on how to use AC_CHECK_HEADERS. 2002-10-25 Akim Demaille * bin/autoconf.as, bin/autoconf.in, bin/autoupdate.in ($help): Space changes. 2002-10-25 Akim Demaille * bin/autoscan.in (output): Output AC_PREREQ. (%needed_macros): Add AC_PREREQ so that configure.ac without one be reported. 2002-10-23 Akim Demaille * doc/autoconf.texi (Particular Headers): In AC_HEADER_STDBOOL, document _Bool. 2002-10-23 Akim Demaille * bin/autom4te.in (handle_traces): Handle @&t@ in traces. Reported by Peter Eisentraut. 2002-10-23 Akim Demaille * lib/autoconf/headers.m4 (AC_HEADER_STDBOOL): Also look for the type _Bool. Fix a typo. * doc/autoconf.texi (Particular Headers): Adjust according to Paul Eggert's recommandations. 2002-10-22 Akim Demaille * lib/autoconf/headers.m4 (AC_HEADER_STDBOOL): New, based on CVS Bison, by Paul Eggert. * doc/autoconf.texi (Particular Headers): Document it. 2002-10-22 Aaron M. Ucko * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Avoid duplicates in `$ac_configure_args'. 2002-10-22 Akim Demaille * doc/autoconf.texi: Use AC_CONFIG_HEADERS in examples. (AC_ST_BLKSIZE, AC_ST_RDEV): Directly point to AC_CHECK_MEMBERS. From Art Haas. 2002-10-22 Akim Demaille Restore the 2002-10-11 Akim Demaille patch: * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL) (AC_CHECK_HEADER, _AC_CHECK_HEADER_NEW,_AC_CHECK_HEADER_OLD): Restore. (_AC_CHECK_HEADER_NEW): Rename as... (AC_CHECK_HEADER): this. 2002-10-22 Akim Demaille * doc/autoconf.texi (Limitations of Usual Tools): Remove incorrect words about HP-UX cmp: it was actually a user-written cmp. 2002-10-22 Akim Demaille * tests/foreign.at (Libtool): Don't check autoconf's stderr: there are a few warnings. * lib/autoconf/autoheader.m4 (AH_VERBATIM, _AH_VERBATIM_OLD): Quote for Perl '' strings, not "". * bin/autoheader.in: Invoke autoconf to get '' strings, not "" strings. 2002-10-22 Akim Demaille * lib/m4sugar/m4sh.m4 (_AS_QUOTE): The warning about quoted characters is a syntax warning now. (_AS_QUOTE): Accept $2 as list of characters to quote. * lib/autoconf/autoheader.m4 (AH_VERBATIM, _AH_VERBATIM_OLD): Quote for Perl, not sh. * bin/autoheader.in: When $debug, report the file which is `do'ne. * tests/tools.at (autom4te, autoheader): Exercise @bar, not merely `@', to tickle Perl's lists. Reported by Carlos Velasco. 2002-10-18 Akim Demaille * bin/autom4te.in (handle_m4): Pass --fatal-warning to m4, so that missing included files _are_ errors. Thanks to Alexandre Duret-Lutz. * tests/tools.at (autom4te cache): Adjust. * tests/atspecific.m4 (AT_CHECK_AUTOM4TE): New. (AT_CHECK_M4SUGAR): Use it. * tests/m4sugar.at (m4_warn, m4_require: circular dependencies): Adjust. * tests/tools.at (autom4te): Now it does exit 1. 2002-10-17 Akim Demaille * lib/autoconf/general.m4 (AC_CACHE_SAVE): Don't use cmp. Fixes the `AC_ARG_VAR' test failures. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Don't use cmp. * lib/freeze.mk (check-forbidden-patterns): New. * lib/autoconf/Makefile.am, lib/autotest/Makefile.am * lib/m4sugar/Makefile.am (check-local): Use it to catch `cmp'. * doc/autoconf.texi (Limitations of Usual Tools): HP-UX' cmp and /dev/null. Reported months ago by H. Merijn Brand. 2002-10-17 Akim Demaille * tests/tools.at (autoheader): Put randoms `@' to stress Perl. 2002-10-16 Paul Eggert * Makefile.maint (wget_files): Remove ansi2knr.c. (ansi2knr.c-url_prefix): Remove. 2002-10-16 Akim Demaille Because of caching, some files that no longer exist and are no longer required can still cause errors. Reported by Alexandre Duret-Lutz. * bin/autom4te.in (&parse_args): Do not prepend `--reload-state' to frozen files in @ARGV, as @ARGV must remain being a list of files. Rather, at M4 call sites, use this... (&files_to_options): New function. (&freeze): Use &error. (&up_to_date): If a file that was included according to the cache is no longer there, then the output is out dated. (&main): Don't even check whether a file is up to date is anyway --force is given. * tests/tools.at (autom4te cache): New. 2002-10-16 Akim Demaille * bin/autoconf.as: Kill dead options. * bin/autoupdate.in (&parse_args): Kill old options. * bin/autoreconf.in (&parse_args): Remove dead options. Factor some code. (&autoreconf): Report the directories we enter *and leave*, so that error messages can be easily located, and use GNU Make format, so that Emacs' compile mode understands us. * lib/Autom4te/General.pm (&update_file): Use `verbose' to report if some file was changed instead of `print'. * bin/autoheader.in: Suggest AC_DEFINE with 3 args when needed. (&parse_args): Remove the dead options. * tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Adjust to the new autoheader's quiet mode. (AT_CHECK_AUTOUPDATE): Likewise. * tests/tools.at (autoupdate): Adjust. * tests/semantics.at (AC_C_BIGENDIAN): Likewise. 2002-10-11 Akim Demaille No longer use CPP to check for the existing of headers: use CC to check for compilability. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_MONGREL) (AC_CHECK_HEADER, _AC_CHECK_HEADER_OLD): Remove. (_AC_CHECK_HEADER_NEW): Rename as... (AC_CHECK_HEADER): this. * lib/autotest/general.m4 (AT_INIT): Include the failed test numbers in the Subject suggestion. 2002-10-11 Akim Demaille * lib/autoconf/specific.m4 (AC_DECL_SYS_SIGLIST): Obsolete. Suggest using AC_CHECK_DECLS instead. 2002-10-11 Akim Demaille * tests/torture.at (AC_ARG_VAR): Have configure report the value of `precious'. 2002-10-11 Akim Demaille * lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): Use $$ in the file name to enable parallel executions. From Sam Varshavchik. 2002-10-08 Akim Demaille * bin/autoreconf.in (&autoreconf): Run autopoint before the first aclocal invocation, as Gettext macros might not be visible to aclocal. Instead of blindly running autopoint, scan configure.ac (not the traces) for AM_GNU_GETTEXT_VERSION uses, as autopoint does. Reported by Paul D. Smith. 2002-10-08 Paul Eggert Work around problems found when POSIXLY_CORRECT=1 is set. None of this seems to have anything to do with POSIX, really, but it's how Perl getopt works. * bin/autom4te.in (parse_args): Configure GetOpt with "permute", too. * doc/autoconf.texi (Invoking autom4te): --warning -> --warnings. * lib/autom4te.in: --warning -> --warnings. 2002-09-28 Akim Demaille * doc/autoconf.texi (autom4te.cache): New section. 2002-09-28 Akim Demaille * lib/autom4te.in (Autoscan-preselections, Autoreconf-preselections) (Automake-preselections): Update. * bin/autoreconf.in, bin/autoheader.in: Comment changes. 2002-09-28 Akim Demaille * lib/autoscan/autoscan.pre: Move all the remaining rules to... * lib/autoconf/c.m4, lib/autoconf/functions.m4, * lib/autoconf/headers.m4, lib/autoconf/libs.m4, * lib/autoconf/specific.m4, lib/autoconf/types.m4: here. 2002-09-28 Akim Demaille * tests/torture.at (Configuring subdirectories): Be robust to users who use config.site to require for a cache: in this case, the two last configure runs, using two different sets of arguments, trigger a legitimate error. 2002-09-28 Akim Demaille * tests/m4sh.at (Functions Support, Functions and return Support): New. 2002-09-28 Akim Demaille * bin/Makefile.am (ETAGS_SH, ETAGS_PERL): Update: ifnames and autoheader are Perl programs. (autoconf, autoheader, autoreconf, autoupdate, ifnames, autoscan) (autom4te): Specify that the sources are in the $srcdir. * doc/autoconf.texi (Installation Directory Variables): Adjust. 2002-09-28 Akim Demaille * lib/autoscan/autoscan.pre (st_blksize, st_blocks, st_rdev) (tm_zone): Move their rules to... * lib/autoconf/types.m4: here, using AN_ macros. * lib/autoscan/autoscan.pre (AWK, BISON, INSTALL, LEX, LN, MAKE) (RANLIB, YACC, awk, bison, byacc, flex, gawk, install, lex, ln) (make, mawk, nawk, ranlib, yacc): Similarly, move to... * lib/autoconf/programs.m4: here. * lib/freeze.mk (ETAGS_FOR_M4, ETAGS_FOR_M4SUGAR) (ETAGS_FOR_AUTOCONF): New. Use it. 2002-09-28 Akim Demaille * lib/autoconf/autoscan.m4: New file. * lib/autoconf/autoconf.m4: Include it. * lib/autoconf/functions.m4: Use AN_FUNCTION for all the functions that were listed in the original autoscan.list. * lib/autoconf/headers.m4: Similarly with headers. * lib/freeze.mk (autoconf_m4f_dependencies): Add autoscan.m4. (.m4.m4f): Don't pass --prepend-include, since that's done by tests/autom4te itself. * lib/autoscan/Makefile.am: Include freeze.mk. (autoscan.list): New target --this file is no longer a source. (autoscan.pre): New file. 2002-09-28 Akim Demaille * bin/autoscan.in (@kinds): Make them singular. Adjust all uses. (&init_tables): When --debug, report the list of rules to ease tracking changes in autoscan.list. * lib/autoscan/autoscan.list (function): Strip comments, sort. 2002-09-28 Akim Demaille * lib/autoscan/functions, lib/autoscan/headers, * lib/autoscan/identifiers, lib/autoscan/makevars, * lib/autoscan/programs: Merge into... * lib/autoscan/autoscan.list: this. * bin/autoscan.in (&init_tables): Adjust. 2002-09-28 Akim Demaille * lib/autoscan/functions, lib/autoscan/headers, * lib/autoscan/identifiers, lib/autoscan/makevars, * lib/autoscan/programs: Make the `kind' explicit, i.e., each `functions' line is now prefixed with `function:'. * bin/autoscan.in (&init_tables): Adjust. 2002-09-28 Akim Demaille From now on, autoscan files must always map a macro name to a word: there is no `default' macro for autoscan. * bin/autoscan.in (&init_tables): Reject entries with no macro at all. * lib/autoscan/functions, lib/autoscan/headers: Make the macro explicit. 2002-09-28 Akim Demaille * bin/autoscan.in (%c_keywords): Remove. (&used): Keep only track of the words we might be interested in. (&output_kind): It is no longer needed to look for non active checks. 2002-09-27 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_MBRTOWC): New, stolen from jm_FUNC_MBRTOWC, by Paul Eggert, from the Coreutils 4.5.1. * lib/autoscan/functions: Adjust. * doc/autoconf.texi (Particular Functions): Adjust. 2002-09-27 Akim Demaille * doc/autoconf.texi (Limitations of Usual Tools): Some about mv from /tmp. Thanks to Bill Moseley and Paul Eggert. * lib/m4sugar/m4sh.m4 (AS_TMPDIR): $2 is the directory into which the tmpdir must be created. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Have the tmp dir be in the build tree, instead of $TMPDIR. 2002-09-27 Akim Demaille * bin/autoscan.in: Improve the comments. (&parse_args): Drop obsolete undocumented options. (&output_kind): Output warnings. * lib/autoscan/functions: (dcgettext): Now trigger AM_GNU_GETTEXT. (getwd): Trigger a warning. 2002-09-26 Akim Demaille * bin/autoreconf.in: Clarify that -s is meaningless without -i. Reported by Ralf Corsepius. * doc/autoconf.texi (autoreconf Invocation): Likewise. 2002-09-26 Akim Demaille Single suffix rules and seperated dependencies are not portable. * doc/autoconf.texi (Installation Directory Variables): Update. (Limitations of Make): Some about `Single Suffix Rules and Separated Dependencies'. * bin/Makefile.am (autoconf, autoheader, autoreconf, autoupdate) (ifnames, autoscan, autom4te): Un-factor into several rules. 2002-09-25 Paul Eggert * BUGS (Interoperability bugs): New section. Mention libtool 1.4.2, configure.ac, and AC_CONFIG_AUX_DIR interoperability bug. 2002-09-24 Paul Eggert Fix a portability bug reported by Alexandre Duret-Lutz: Solaris 8 make handles suffix-rules differently from GNU make. * bin/Makefile.am (SUFFIXES, .in): Remove. (autoconf autoheader autoreconf autoupdate ifnames autoscan autom4te): Move the body of the old .in rule here. 2002-09-16 Akim Demaille i960 compilers create `b.out' files by default. Reported by Ralf Corsepius. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT): Remove b.out files. (_AC_COMPILER_EXEEXT_DEFAULT): Adjust to b.out. 2002-09-13 Paul Eggert * doc/autoconf.texi (Particular Headers): Remove obsolete reference to `struct timezone' in the description of AC_HEADER_TIME. 2002-09-13 Akim Demaille Version 2.54. * config/config.sub, config/config.guess: Update. * Makefile.maint: Update from bits of the Coreutils 4.5.1. * Makefile.am: Adjust. 2002-09-13 Akim Demaille * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Suggest reading config.log when the compiler is rejected. Suggested by Guido Draheim. 2002-09-13 Akim Demaille * bin/autoreconf.in: Don't use Cwd::chdir, since in its internals (chdir_init) might hang when stat'ing mounted directories. Reported by Vance Shipley. 2002-09-12 Akim Demaille * bin/autoscan.in (&parse_args): Pass a reference to the lists, not the lists. 2002-09-12 Akim Demaille * doc/autoconf.texi (Defining Symbols): Present two different prototypes for AC_DEFINE and AC_DEFINE_UNQUOTED to emphasize the difference between 1 argument calls, and 2-3 argument calls. 2002-09-12 Peter Eisentraut * doc/autoconf.texi: Review grammar and punctuation. 2002-09-11 Paul Eggert * doc/autoconf.texi: Fix minor formatting, spelling, and grammatical typos. (Defining Symbols): Explain that AC_DEFINE(var) defaults to 1, but AC_DEFINE(var,,description) does not; and the AC_DEFINE(var) case is obsolescent. 2002-09-11 Akim Demaille * doc/autoconf.texi (Questions): Rename as... (FAQ): this. (Defining Directories): New. 2002-09-09 Akim Demaille * doc/autoconf.texi (Making testsuite Scripts): Update. Suggested by Nishio Futoshi. 2002-09-09 Koji Arai * doc/autoconf.texi (Making testsuite Scripts): Use `@@' where a plain `@' is wanted. 2002-09-09 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Keep the `duplicates', since the algorithm was too naive and could keep `--prefix=1 --prefix=2 --prefix=1' as `--prefix=1 --prefix=2', and keep `--prefix foo --prefix bar' as `--prefix foo bar'. Reported by Ralf Corsepius. * tests/torture.at (Configuring subdirectories): Exercise these cases. 2002-09-09 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Use $srcdir when looking for a replacement file. * lib/autoconf/general.m4 (AC_CHECK_DECLS): Check that the directory is relative. * doc/autoconf.texi (Generic Functions): Clarify the replacement directory definition. Reported by Andreas Schwab and Jim Meyering. 2002-09-06 Akim Demaille * doc/autoconf.texi (Setting Output Variables): Clarify what precious variables are. Suggested by Pontus Skoeld. 2002-09-05 Akim Demaille * bin/Makefile.am (autoconf, autoheader, autoreconf, autoupdate) (ifnames, autoscan, autom4te): Since we don't only depend on configure.ac variables (such as VERSION etc.), but also on prefix and so forth, depend on Makefile, not configure.ac. Reported by Alexandre Duret-Lutz. * doc/autoconf.texi (Installation Directory Variables): Adjust. 2002-09-05 Kevin Ryde * doc/autoconf.texi (Limitations of Make): HP-UX trailing backslashes doesn't seem to be confined to ia64, just say "some versions". 2002-09-04 Akim Demaille * Makefile.am, doc/Makefile.am: Remove pdf targets, handled by Automake 1.6c. * Makefile.am (maintainer-clean-local): Remove. (MAINTAINERCLEANFILES): Remove COPYING. 2002-09-03 Paul Eggert * doc/autoconf.texi (Configuration Commands): Remove obsolete example for AC_CONFIG_COMMANDS_PRE. Problem reported by Marcus Brinkmann. 2002-09-03 Akim Demaille * configure.ac: Bump to 2.53d. * Makefile.am (AUTOMAKE_OPTIONS): Require 1.6c, i.e., CVS Automake as of today, on Automake's team suggestion. 2002-09-03 Akim Demaille Version 2.53c. 2002-09-02 Akim Demaille * bin/autom4te.in (parse_args): Don't honor AUTOM4TE_PATH and SITE_MACRO_DIR. * configure.ac: Disable SITE_MACRO_DIR. 2002-09-02 Jim Meyering * doc/autoconf.texi (AC_SYS_POSIX_TERMIOS): Reflect renaming: s/am/ac/, i.e., change am_cv_sys_posix_termios to ac_cv_sys_posix_termios. Also, tweak grammar: s/make sure to/be sure to/. 2002-09-02 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): Explain why logical directory names are generally preferable to physical names. 2002-09-02 Akim Demaille * lib/Autom4te/General.pm (&update_file): s/die/error/. Reported by Raja R. Harinath. * bin/autoheader.in, bin/autoreconf.in, bin/autoscan.in, * bin/autoupdate.in: Use error instead of die. 2002-09-01 Paul Eggert * tests/mktests.sh (ac_exclude_egrep, au_exclude_egrep): Use ordinary shell concatenation rather than echo+tr+sed command that runs afoul of a long-line-related sed bug in Solaris 8. * bin/autoheader.in (parse_args): --warning -> --warnings. * bin/autoconf.as: Work even if "ls" outputs "FOO not found" to stdout, as traditional "ls" does. * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT_O): Likewise. * doc/autoconf.texi (Limitations of Usual Tools): Add "ls". * bin/autoconf.as: Add --prepend-include option. This patch was applied to bin/autoconf.in in the 2002-07-17 patch by Mark D. Roth, but bin/autoconf.in is generated automatically from bin/autoconf.as. * bin/autoconf.in, configure: Regenerate. * doc/autoconf.texi (Special Shell Variables): Mention ENV, MAIL, MAILPATH, PS1, PS2, PS4. Index PWD. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Unset ENV, MAIL, MAILPATH and set PS1, PS2, PS4 to default values, to work around bug in pre-3.0 UWIN ksh reported by Bruce Lilly. For LC_ALL etc, first try to set to "C" as POSIX requires and as the Autoconf documentation specifies; fall back to "unset" only if this fails. Use a shell for-loop for this rather than an m4 loop, to shorten the output script. 2002-08-30 Paul Eggert * doc/autoconf.texi (Special Shell Variables): Mention POSIX 1003.1-2001's requirements for CDPATH. Give a simpler workaround for the CDPATH problem. Document PWD. (Limitations of Builtins): Document the problem that "cd $foo" and "ls $foo" may refer to different directories in shells conforming to POSIX 1003.1-2001. Use PS1 rather than CDPATH for "unset" example, since the old example is now out of date. * lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Reject FOO if "cd FOO" and "ls FOO" talk about different directories; this catches problems when POSIX 1003.1-2001 "cd" fails due to symlink spaghetti. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Use AS_UNSET instead of rolling our own unset. (_AS_PREPARE): $as_unset CDPATH instead of AS_UNSETting it, since in practice we needn't worry about CDPATH if unset doesn't work. * Makefile.in, aclocal.m4, bin/Makefile.in, config/Makefile.in, doc/Makefile.in, lib/Makefile.in, lib/Autom4te/Makefile.in, lib/autoconf/Makefile.in, lib/autoscan/Makefile.in, lib/autotest/Makefile.in, lib/emacs/Makefile.in, lib/m4sugar/Makefile.in, man/Makefile.in, tests/Makefile.in: Regenerate with Automake 1.6.3. * config/config.guess, config/config.sub, config/mkinstalldirs: Update. * configure: Regenerate with self. 2002-08-30 Kevin Ryde * doc/autoconf.texi (Limitations of Usual Tools): Notes on "cc" default output. 2002-08-29 Rainer Orth * bin/autom4te.in (Request::load): Correctly test for "do" read failure. 2002-08-29 Akim Demaille * lib/Autom4te/General.pm (&xqx): New. (&xsystem): Use WIFEXITED and WEXITSTATUS instead of decoding $? by hand, which is not portable. (&error): New. * bin/autom4te.in: Use them. Use &error instead of die. * tests/m4sugar.at (m4_warn, m4_require: circular dependencies): Adjust. 2002-08-17 Paul Eggert * lib/autoconf/fortran.m4 (AC_PROG_F77): Remove fc from the default list of compilers to try, since it was long ago superseded by the ksh fc builtin. Suggested by Steven G. Johnson. 2002-07-31 Alexandre Duret-Lutz * doc/autoconf.texi (Invoking autom4te): End the option table, fixing a bug introduced by the previous patch. (Limitations of Make): Add a 'target lookup' subentry in the 'VPATH' entry. Rewrite all `make' occurences as `@command{make}'. 2002-07-29 Mark D. Roth * bin/autom4te.in: Remove --include-envvar and --site-macro-subdir options and use $AUTOM4TE_PATH. * doc/autoconf.texi: Remove documentation of autom4te --include-envvar and --site-macro-subdir options and document use of $AUTOM4TE_PATH. * lib/autom4te.in: Remove --include-envvar and --site-macro-subdir arguments from each language section. 2002-07-29 Paul Eggert * doc/install.texi: Include copyright symbol in copyright notice. * Makefile.am (MAKEINFO): Remove; it's a user-specified macro. Replace with: (AM_MAKEINFOFLAGS): New macro. * doc/Makefile.am (MAKEINFO, AM_MAKEINFOFLAGS): Likewise. * Makefile.am (INSTALL): Use the new macros. Use -o rather than --output, since "missing" does not grok --output. 2002-07-25 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Make): Escaped newlines in comments do not always work. Never trust the exit status of `make -k'. 2002-07-24 Kevin Ryde * doc/autoconf.texi (Limitations of Make, Making testsuite Scripts): Untabify, since tabs are not enjoyed by texi2dvi and makeinfo. 2002-07-23 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): Use PATH="/nonexistent;.", not PATH=".;.", as FreeBSD ksh2002 apparently treats PATH="nonexistent" as if it contained ".". Bug reported by Stefan `Sec' Zehl. 2002-07-22 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Make): Mention the special handling of the obj/ directory by BSD make. 2002-07-20 Kevin Ryde * doc/autoconf.texi (Limitations of Make): Add HP-UX IA-64 trailing backslashes. 2002-07-19 Akim Demaille * doc/autoconf.texi (Function Portability): `exit'. (Programming in M4sh): Ethymology of M4sh. 2002-07-19 Akim Demaille * doc/autoconf.texi (AC_LIBOBJ vs LIBOBJS): More about $U. 2002-07-18 Akim Demaille Version 2.53b. 2002-07-18 Akim Demaille * config/config.guess, config/config.sub: Update. 2002-07-18 Akim Demaille Handle LIBOBJS and LTLIBOBJS once for all, including Libtool's and Automake's parts. * lib/autoconf/general.m4 (_AC_LIBOBJS_NORMALIZE): New. * lib/autoconf/status.m4 (AC_OUTPUT_COMMANDS_PRE): Call it. * tests/semantics.at (AC_REPLACE_FUNCS): Adjust. 2002-07-18 Akim Demaille , Alexandre Duret-Lutz * lib/autoconf/status.m4 (_AC_OUTPUT_HEADERS): Install _AC_AM_CONFIG_HEADER_HOOK for Automake 1.7. 2002-07-17 Russ Allbery * doc/autoconf.texi (Initializing configure): Clarify the description of the tarname default. 2002-07-17 Andreas Buening * lib/autoconf/functions.m4 (AC_FUNC_FORK): Don't set ac_cv_func_fork_works before running _AC_FUNC_FORK, do it if the latter was not run. 2002-07-17 Akim Demaille * lib/Autom4te/General.pm (find_file): Browse the directories in the order they are given. 2002-07-17 Akim Demaille * tests/wrapsh.as, tests/wrappl.as: Merge into... * tests/wrapper.as: this. * tests/Makefile.am, configure.ac: Adjust. 2002-07-17 Mark D. Roth * configure.ac: Add --enable-site-macro-dir option. * bin/Makefile.am: Expand @SITE_MACRO_DIR@. * bin/autom4te.in: Add --prepend-include, --include-envvar, and --site-macro-subdir options. * bin/autoconf.in: Add --prepend-include option. * bin/autoheader.in: Add --prepend-include option. * bin/autoreconf.in: Add --prepend-include option. * bin/autoscan.in: Add --prepend-include option. * bin/autoupdate.in: Add --prepend-include option. * doc/autoconf.texi: Document use of $AC_MACRO_PATH and site macro directory, remove note that include path directories are used in reverse order, and document --prepend-include option. * lib/autom4te.in: Use --prepend-include instead of --include. * tests/wrapsh.in: Use --prepend-include instead of --include. 2002-07-17 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PACKAGE): `_' is allowed in tarnames. * doc/autoconf.texi (Initializing configure): Adjust. 2002-07-17 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_REALLOC, _AC_FUNC_REALLOC) (_AC_FUNC_MALLOC): New. (AC_FUNC_MALLOC): Use the latter. Define HAVE_MALLOC to 0 if broken. * doc/autoconf.texi (Particular Functions): Adjust. 2002-07-16 Akim Demaille * lib/autoconf/c.m4 (AC_C_BACKSLASH_A): New. * doc/autoconf.texi (C Compiler): Adjust. 2002-07-09 Akim Demaille * doc/autoconf.texi: Properly set the ``header'' part. 2002-07-09 Akim Demaille * doc/autoconf.texi (Systemology): Some about Darwin. 2002-07-09 Alexandre Duret-Lutz * lib/autoconf/specific.m4 (AC_CYGWIN, AC_EMXOS2, AC_MINGW32): Don't use AC_REQUIRE in AU_DEFUN. 2002-07-09 Art Haas * doc/autoconf.texi: Use @enddots{} or @dots{} where appropriate. 2002-07-02 Alexandre Duret-Lutz * bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, bin/autoupdate.in, bin/ifnames.in, lib/Autom4te/General.pm, lib/Autom4te/Struct.pm, lib/Autom4te/XFile.pm: Add local variables so that Emacs setups GNU style for perl-mode and cperl-mode. 2002-06-27 Paul Eggert * config/install-sh: Quote $src. Prefer || to test's -o option, as per "Limitations of Builtins". * tests/atspecific.m4 (AT_CHECK_ENV): Likewise, for && vs test -a. * tests/semantics.at (AC_C_BIGENDIAN): Likewise. * tests/mktests.sh: Use grep instead of fgrep, as per "Limitations of Builtins". 2002-06-15 Paul Eggert * tests/wrapsh.as (AUTOCONF, AUTOHEADER, AUTOM4TE, AUTOM4TE_CFG, autom4te_perllibdir): Set to top build dir or src dir as appropriate, so that we consistently test the just-built programs. * tests/wrappl.as: Likewise. 2002-06-12 Paul Eggert * bin/autoconf.as (AUTOM4TE): Default to a fully qualified path name, so that symlinks to 'autoconf' work properly. Bug reported by Bruno Haible. * bin/autoheader.in (AUTOM4TE): Likewise. * bin/autoreconf.in (autoconf, autoheader): Likewise. * bin/autoscan.in (autom4te): Likewise. * bin/autoupdate.in (autom4te): Likewise. * lib/autoconf/functions.m4 (_AC_LIBOBJ_FNMATCH): Also check for btowc, to fix a portability bug with diffutils-2.8.2/lib/fnmatch.c on Solaris 2.5.1. 2002-06-11 Andreas Schwab * doc/autoconf.texi: Add more dir entries. 2002-06-10 Alexandre Duret-Lutz * bin/autom4te.in ($cache): Don't define using `$me', the name of the cache should not depend on the name under which autom4te was installed. 2002-06-07 Akim Demaille * tests/tools.at (autoconf: forbidden tokens, basic) (autoconf: forbidden tokens, exceptions): Adjust to the change of words in autom4te.in. 2002-06-07 Peter Eisentraut * lib/autoconf/c.m4 (AC_LANG_PROGRAM(C)): Use _AC_LANG_PROGRAM_C_F77_HOOKS. 2002-06-07 Akim Demaille * lib/autoconf/functions.m4 (AC_REPLACE_FUNC_FNMATCH): Typo, rename as... (AC_REPLACE_FNMATCH): this. * tests/mktests.sh (exclude_list): Exclude AC_REPLACE_FNMATCH, AC_FUNC_FNMATCH_GNU. 2002-06-07 Akim Demaille * doc/autoconf.texi (Systemology): Point to Tru64 docs, and the Rosetta Stone for Unix. 2002-06-07 Akim Demaille * bin/autom4te.in (warn_forbidden): When rejecting a token, suggest m4_pattern_allow. Suggested by Adam J. Richter. 2002-06-07 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Initialize ac_config_libobj_dir. (AC_CONFIG_LIBOBJ_DIR): New. * lib/autoconf/functions.m4 (_AC_FUNC_FNMATCH): Split into... (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): these. Use ac_config_libobj_dir to find the replacement files. (AC_FUNC_FNMATCH, AC_FUNC_FNMATCH_GNU): Split into... (AC_FUNC_FNMATCH, AC_FUNC_FNMATCH_GNU, AC_REPLACE_FNMATCH) (AC_REPLACE_FNMATCH_GNU): these. (AC_FUNC_GETLOADAVG): Use ac_config_libobj_dir. * doc/autoconf.texi (Particular Functions, Generic Functions): Adjust. * tests/mktests.sh (ac_exclude_list): Don't check AC_FUNC_GETLOADAVG as it requires getloadavg.c which is not shipped. 2002-06-06 Paul Eggert * lib/autoconf/status.m4 (_AC_OUTPUT_LINKS): Fall back on cp if ln doesn't work. * NEWS: Likewise. * doc/autoconf.texi (Configuration Links): Likewise. (Limitations of Usual Tools): Prefer $(LN_S) to ln -s || ln. 2002-06-05 Paul Eggert * config/config.guess, config/config.sub, config/texinfo.tex: Update from masters. 2002-05-29 Paul Eggert * bin/autom4te.in ($m4): Do not assume that egrep and fgrep exist. * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Likewise. * lib/autoconf/general.m4 (_AC_RUN_LOG_STDERR, AC_EGREP_CPP): Likewise. * lib/autoconf/Makefile.am (check-local): Likewise. * lib/autoconf/status.m4 (AC_CONFIG_HEADER): Likewise. * lib/autoconf/types.m4 (commentary only): Likewise. * lib/autotest/general.m4 (AT_INIT, AT_CHECK): Likewise. * lib/autotest/Makefile.am (check-local): Likewise. * lib/m4sugar/Makefile.am (check-local): Likewise. * tests/atspecific.m4 (AT_CONFIGURE_AC, AT_CHECK_DEFINES): Likewise. * tests/mktests.sh (egrep): New var; use it instead of plain egrep. * lib/autoconf/programs.m4 (AC_PROG_EGREP, AC_PROG_FGREP): New macros. * doc/autoconf.texi (Particular Programs): Document them. (Limitations of Usual Tools): Warn that egrep and fgrep may not exist. * NEWS: Likewise. 2002-05-27 Paul Eggert * lib/autoconf/types.m4 (AC_TYPE_MBSTATE_T): New macro. * NEWS, doc/autoconf.texi (Particular Types): Document it. * lib/autoconf/functions.m4 (_AC_FUNC_FNMATCH): Require it instead of AC_MBSTATE_T, which never existed. 2002-05-23 Akim Demaille * doc/autoconf.texi (Hosts and Cross-Compilation): Specify the version of Autoconf that is discussed. 2002-05-22 Paul Eggert * lib/autoconf/fortran.m4 (AC_PROG_F77): Remove cf77 and cft77 from the default list of compilers to try. Suggested by Kate Hedstrom. * NEWS: Document the above. * doc/autoconf.texi (Fortran 77 Compiler): Don't suggest cf77. 2002-05-17 Paul Eggert * lib/autoconf/types.m4 (AC_CHECK_MEMBER): Work correctly even if the member is itself an aggregate. Bug reported by Sergey Poznyakoff. This improves on an earlier suggestion by H. Peter Anvin. 2002-05-16 Paul Eggert AC_FUNC_FNMATCH now tests only for POSIX compatibility. AC_FUNC_FNMATCH_GNU also tests for GNU extensions. Both macros now accept an optional source-dir arg. New macro AC_GNU_SOURCE to define _GNU_SOURCE. * NEWS: Document this. * doc/autoconf.texi (Particular Functions, UNIX Variants): Likewise. * lib/autoconf/functions.m4 (_AC_FUNC_FNMATCH): New macro. (AC_FUNC_FNMATCH): Use it. Test only for POSIX conformance, not for GNU extensions; this undoes part of the 2000-11-03 change, reverting to 2.13-compatible behavior. Add new optional argument DIR. (AC_FUNC_FNMATCH_GNU): New macro. * lib/autoconf/specific.m4 (AC_GNU_SOURCE): New macro. 2002-05-08 Paul Eggert * lib/autoconf/headers.m4 (AC_HEADER_TIOCGWINSZ): Don't require AC_SYS_POSIX_TERMIOS. The test is unnecessary, and it causes a 'test' syntax error if it fails. Bug reported by Stephen Gildea. * lib/autoconf/functions.m4 (AC_FUNC_SETVBUF_REVERSED): If prototypes are supported, use them to check this at compile-time, instead of trying to check it at run-time. If we must do a run-time check, assume that setvbuf is standard when cross-compiling, as nonstandard setvbuf occurs only on ancient and unlikely hosts. Bug reported by Paul D. Smith. * lib/autoconf/functions.m4 (AC_FUNC_GETLOADAVG): Add optional argument specifying location of getloadavg.c. This removes a FIXME. This idea was taken from Jim Meyering's implementation in textutils. * doc/autoconf.texi (Particular Functions): Document this. Also, mention HAVE_NLIST_H rather than NLIST_STRUCT, since that's what the code does; this fixes a bug reported by Paul D. Smith. 2002-05-03 Akim Demaille * bin/autoreconf.in (autoreconf): Rewrite to use Gettext's autopoint instead of gettextize. ($uses_alocal): Rename as... ($uses_aclocal): this. * doc/autoconf.texi (autoreconf Invocation): Adjust. Suggested by Bruno Haible. 2002-05-03 Akim Demaille * lib/m4sugar/m4sugar.m4 (m4_map_sep): New. 2002-04-29 Paul Eggert * bin/autoreconf.in (autoreconf): Don't age aclocal.m4's input files to be 1 second older; just set them to be the same time. Also, sleep 1 second after the first aclocal, to work around problems with sub-second time stamps on the input files. 2002-04-29 Thien-Thi Nguyen * doc/autoconf.texi: Mention "set -e -x" lossage under node "Limitations of Builtins". 2002-04-29 Akim Demaille * doc/install.texi: Better wording for setting variables when running configure. From Christian Cornelssen. 2002-04-29 Akim Demaille * tests/m4sh.at (LINENO): If testsuite itself is rewritten because of lack of $LINENO support, then the test will compare the $LINENO in testsuite vs. the lineno in the test file. This is wrong, of course. Be sure to protect it. Reported by Patrick Welche. 2002-04-25 Akim Demaille * doc/autoconf.texi (Obsolete Macros): Typo. Reported by Vladimir Volovich. 2002-04-25 Akim Demaille * bin/autoreconf.in (autoreconf): Don't let aclocal.m4 be older than some of the input files, hence, on the second run of aclocal, if some of its input are younger, make them older. Suggested by Paul Eggert. 2002-04-25 Akim Demaille * doc/autoconf.texi (Limitations of Usual Tools): sed and `!'. Thanks to Paul Eggert. 2002-04-25 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Let ac_subst_files and ac_subst_vars be sh variables containing the list of AC_SUBST_FILES'ed and AC_SUBST'ed identifiers. Output them in the DEFAULT diversion. (_AC_INIT_PREPARE): Use them to log them. (_AC_SUBST, _AC_SUBST_SED_PROGRAM): Remove. (AC_SUBST, AC_SUBST_FILE): Instead of buliding the _AC_SUBST_SED_PROGRAM, store the list of output files/variables in _AC_SUBST_FILES and _AC_SUBST_VARS. * lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Adjust. 2002-04-24 Akim Demaille * bin/autoreconf.in (autoreconf): Run automake after autoconf and autoheader, so that automake does not complain about a missing config.h.in that was to be created. 2002-04-23 Akim Demaille * bin/autoheader.in (parse_args): --warning takes an argument. Fixes PR/220. 2002-04-22 Peter Eisentraut * lib/autoconf/general.m4 (_AC_RUN_IFELSE): Remove gmon.out and bb.out when cleaning up. 2002-04-22 Akim Demaille Version 2.53a. 2002-04-22 Akim Demaille * tests/m4sh.at (LINENO): Fix the Zsh skip pattern. 2002-04-22 Akim Demaille * doc/autoconf.texi (Pretty Help Strings): Remove a spurious comma. Reported by Gregory Giannoni. 2002-04-22 Akim Demaille * tests/m4sh.at (LINENO): Skip the test if LINENO cannot be unset. Fixes false failures on Darwin. 2002-04-21 Paul Eggert * TODO, bin/autoupdate.in, doc/autoconf.texi, lib/autoconf/general.m4, lib/autoconf/libs.m4, lib/autoconf/status.m4, lib/m4sugar/m4sugar.m4, tests/m4sh.at, tests/tools.at: Minor spelling and grammar fixes. 2002-04-20 Paul Eggert * doc/autoconf.texi (Shell Substitutions): Fix typos in yesterday's ZSH_VERSION fixes. Bug reported by Raja R Harinath. * lib/autotest/general.m4 (AT_INIT): Likewise. * tests/atgeneral.m4 (AT_INIT): Likewise. 2002-04-19 Paul Eggert * NEWS, TODO, bin/autom4te.in, bin/autoreconf.in, bin/autoupdate.in, doc/autoconf.texi, lib/freeze.mk, lib/Autom4te/Struct.pm, lib/autoconf/autoheader.m4, lib/autoconf/c.m4, lib/autoconf/functions.m4, lib/autoconf/general.m4, lib/autoconf/lang.m4, lib/autoconf/libs.m4, lib/autoscan/identifiers, lib/autotest/general.m4, lib/m4sugar/m4sh.m4, tests/atgeneral.m4, tests/atspecific.m4, tests/semantics.at, tests/torture.at: Minor spelling and grammar fixes. * doc/autoconf.texi: Follow the outline suggested in the GNU Sample Texts sections of the Texinfo 4.2 manual. Most importantly, this makes sure that the copyright notices appear in all output formats. You probably need Texinfo 4.2 to generate the manual now. Fix some bugs when using "$@" when there might be zero positional arguments in cases where this matters. * bin/autoconf.as: Rewrite so that the problem does not come up. * lib/autoconf/programs.m4 (AC_CHECK_PROG): Likewise. * lib/autoconf/status.m4 (AC_OUTPUT): Likewise. * lib/autotest/general.m4 (AT_INIT): Likewise. * bin/autoheader.in: Use 'case' statement to work around problem. * bin/auto4mte.in: Likewise. * bin/autoreconf.in: Likewise. * bin/autoscan.in: Likewise. * bin/autoupdate.in: Likewise. * bin/ifnames.in: Likewise. * doc/autoconf.texi (Shell Substitutions): Document the problem. * lib/autotest/general.m4 (AT_INIT): Use Zsh alias to work around problem. * tests/atgeneral.m4 (AT_INIT): Likewise. * tests/c.at: We can't have zero arguments, so remove workaround that is not portable to Zsh. 2002-04-19 Alexandre Duret-Lutz * bin/autoupdate.in (handle_autoconf_macros): Honor AU_DEFUNs from aclocal.m4 too. 2002-04-12 Akim Demaille * tests/wrappl.as: New, M4sh precursor of wrappl.in. 2002-04-10 Akim Demaille * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Install the Zsh workaround for ${1+"$@"}. * doc/autoconf.texi (Shell Substitutions): Explain it. From Oliver Kiddle and Peter Stephenson. Have M4sh perform minimal shell sanitizing. * lib/m4sugar/m4sh.at (AS_SHELL_SANITIZE): Split the `_AS_PREPARE_*' part into... (_AS_PREPARE): this new macro. (AS_PREPARE): New. (AS_INIT): Invoke AS_SHELL_SANITIZE. * tests/m4sh.at (AT_DATA_LINENO): Use _AS_PREPARE. Adjust Autoconf and Autotest. * lib/autoconf/general.m4 (_AC_INIT_DEFAULTS): Don't invoke AS_SHELL_SANITIZE, AS_INIT did it, but invoke AS_PREPARE. * lib/autotest/general.m4 (AT_INIT): Likewise. * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Invoke _AS_PREPARE (not AS_PREPARE) in addition to AS_SHELL_SANITIZE. Use this M4sh to generate Autoconf's shell scripts. * tests/wrapsh.as: New, precursor of wrapsh.in. * tests/Makefile.am: Include lib/freeze.mk to get the dependencies on Autotest and M4sh. ($(TESTSUITE)): Use $(autotest_m4f_dependencies). (wrapsh.in): New target. * bin/autoconf.as: New, precursor of autoconf.in. (autoconf.in): New target. 2002-04-09 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Make): Mention the issue with indented comments in rules. 2002-04-09 Andreas Schwab * lib/autoconf/status.m4 (_AC_SRCPATHS): Handle empty ac_top_builddir when setting ac_abs_top_builddir. 2002-04-06 Kevin Ryde * doc/autoconf.texi (Systemology): Add link to Unix V7 online docs. (Portable Shell): Cross reference to Systemology. 2002-04-05 Akim Demaille * bin/autoreconf.in (autoreconf): Be sure to accumulate the directories when descending in a SUBDIRS. Reported by Ezra Peisach. 2002-04-04 Andreas Schwab * lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Only simplify if path contains no literal separators. 2002-04-03 Akim Demaille * lib/autoconf/status.m4 (_AC_CONFIG_FILE, _AC_CONFIG_HEADER) (_AC_CONFIG_COMMAND, _AC_CONFIG_LINK): New. Use dnl, not the KILL diversion. Extracted from... (AC_CONFIG_FILES, AC_CONFIG_HEADERS, AC_CONFIG_COMMANDS) (AC_CONFIG_LINKS): here. Adjust. Don't use the KILL diversion, as it kills spurious output, which results in failures being hidden. Use m4_defn where appropriate. (AC_CONFIG_IF_MEMBER): Kill the real bug: a spurious parenthesis after the second argument. Use m4_defn. * lib/autom4te.in (Autoconf, Autotest, M4sh): Don't pass --warning syntax, as it is provided by M4sugar. * tests/torture.at (Multiple AC_CONFIG_FILES): New. 2002-04-03 Andreas Schwab * lib/m4sugar/m4sugar.m4 (m4_bmatch): Make sure m4_bregexp is not expanded if $# <= 2. * bin/autoreconf.in (autoreconf): Run automake after rerunning aclocal. 2002-04-03 Akim Demaille * lib/autoconf/lang.m4 (_AC_COMPILER_OBJEXT_REJECT) (_AC_COMPILER_EXEEXT_REJECT): New. Also recognize *.bb and *.bbg as compilation byproducts. (_AC_COMPILER_EXEEXT_DEFAULT, _AC_COMPILER_EXEEXT_O) (_AC_COMPILER_OBJEXT): Use them. Fixes Debian #138666. 2002-04-02 Peter Eisentraut Integrate AC_PROG_CC_STDC into AC_PROG_CC. * lib/autoconf/c.m4 (AC_PROG_CC_STDC): Rename to _AC_PROG_CC_STDC. AU_DEFUN old name. Use _AC_COMPILE_IFELSE. (AC_PROG_CC): Call _AC_PROG_CC_STDC. (AC_C_INLINE): Do not require AC_PROG_CC_STDC. (AC_C_CONST): Same. (AC_C_INLINE): Same. (AC_C_PROTOTYPES): Same. Require AC_PROG_CC instead. * doc/autoconf.texi, NEWS: Document. * tests/mktests.sh (au_exclude_list): Add AC_PROG_CC_STDC and AC_C_CROSS. 2002-04-02 Akim Demaille * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Invoke _AS_MKDIR_P_PREPARE. 2002-03-28 Kevin Ryde * lib/autoconf/c.m4 (AC_C_INLINE): Test with a typedef return value, to avoid versions of HP C which don't allow that. 2002-03-27 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_BASENAME_PREPARE): New macro. (AS_SHELL_SANITIZE): Invoke it. (AS_BASENAME): AS_REQUIRE it, and use $as_basename. 2002-03-26 Akim Demaille * doc/autoconf.texi (Portable Shell): Add pointers to FAQs. 2002-03-26 Akim Demaille * doc/autoconf.texi (Introduction): The GNATS base moved. 2002-03-25 Paul Eggert * tests/m4sh.at: Don't rely on "PATH=test:$PATH test-1" working as POSIX requires, as it doesn't work with Zsh. * doc/autoconf.texi (Assignments): Document the problem. 2002-03-25 Alexandre Duret-Lutz * doc/autoconf.texi (Limitations of Make): Mention more issue about VPATH, overriding of macros in sub-makes, and handling of SHELL. 2002-03-21 Paul Eggert * doc/autoconf.texi (Here-Documents): Mention Solaris 8 dtksh problem with here-document buffer boundaries. * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Unset ENV and BASH_ENV when reinvoking the shell, to work around problems with installers who put strange things like "cd" commands in their environments. 2002-03-19 Akim Demaille * tests/semantics.at (AC_C_BIGENDIAN): s/unknow/unknown/. From Aaron Ucko. 2002-03-19 Akim Demaille * bin/autoscan.in (scan_file): Specify the location in `&used' invocations. From Nicolas Joly. 2002-03-19 Akim Demaille * doc/autoconf.texi: Adjust @code/@command, @xref/@ref usage. From Nishio Futoshi. 2002-03-19 Akim Demaille * lib/m4sugar/m4sugar.m4 (m4_define_default, m4_fst, m4_map): New. 2002-03-18 Paul Eggert * doc/autoconf.texi (Programming in M4sh): Add AS_MKDIR_P. (Limitations of Usual Tools): Add mkdir section. * lib/m4sugar/m4sh.m4 (_AS_MKDIR_P_PREPARE): New macro. (AS_MKDIR_P): Require it. Use mkdir -p if available, falling back on AS_DIRNAME to compute prefixes otherwise; this is roughly what mkinstalldirs does. That way, we need not have our own filename disassembler. The old disassembler did not work with Solaris 8 dtksh, which is ksh Version M-12/28/93d. * lib/autotest/general.m4 (AT_INIT, AT_CLEANUP): Create at_test_all by a series of assignments, not by a single assignment of a long string. The latter causes ksh version 11/16/88g to silently misbehave on OpenServer 5.0.6a, presumably because of a buffer overrun. 2002-03-14 Paul Eggert * lib/autotest/general.m4 (at_times_skip): Renamed from at_times. Now a boolean. ksh93 Version M-12/28/93d doesn't like 'x=times; $x'; it says 'times: not found'. 2002-03-14 Akim Demaille * bin/autoreconf.in (&study_gettextize): New. (&autoreconf): Handle newest gettextize. Rerun aclocal if needed. Suggested by Andreas Schwab. 2002-03-13 Akim Demaille * doc/autoconf.texi (Special Shell Variables): More about IFS. 2002-03-13 Akim Demaille * doc/autoconf.texi (Header Portability): New. Add information about stdint.h and inttypes.h from Paul Eggert. 2002-03-13 Akim Demaille * doc/autoconf.texi (Limitations of Usual Tools): Some about `cp -p'. From Bob Proulx. 2002-03-12 Akim Demaille * lib/m4sugar/m4sh.m4 (AS_BASENAME_EXPR): AS_REQUIRE, not m4_require. 2002-03-11 Andreas Schwab * configure.ac: Explicitly check for EMACS since AM_PATH_LISPDIR does not do it if --with-lispdir is given. 2002-03-08 Akim Demaille Version 2.53. 2002-03-08 Akim Demaille * doc/autoconf.texi (Subdirectories): Clarify that the subdirectory should exist. 2002-03-08 Akim Demaille * Makefile.am (AUTOMAKE_OPTIONS): 1.6. 2002-03-08 Akim Demaille * bin/autom4te.in (&handle_m4): Do not foreach with `$_' as it aliases the actual variables, and modifications of the former affect the latter. 2002-03-08 Akim Demaille * bin/autom4te.in (&handle_m4): Protect us from corrupted file because of C-c: have m4 output in tmp files, then mv them. 2002-03-08 Akim Demaille * bin/autoconf.in, bin/autoheader.in, bin/autom4te.in, * bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, * bin/ifnames.in: Copyright update. 2002-03-08 Akim Demaille * doc/autoconf.texi (Invoking autom4te): New. 2002-03-05 Akim Demaille * doc/autoconf.texi (Specifying Names): Clarification suggested by Kevin Ryde. 2002-03-05 Akim Demaille Version 2.52i. 2002-03-04 Akim Demaille * doc/autoconf.texi (AC_LIBOBJ vs. LIBOBJS): New. * lib/autoconf/general.m4 (AC_INIT): More informative error message for LIBOBJ. 2002-03-04 Akim Demaille * lib/freeze.mk ($(build_libdir)/m4sugar/version.m4): New, for parallel builds. 2002-03-04 Akim Demaille * doc/autoconf.texi (Transforming Names): Equality between target and host is irrelevant. (Specifying Names, Canonicalizing): Remove all references to the backward compatibility hooks. Rather, collect them all into... (Hosts and Cross-Compilation): this new section. * doc/install.texi (System Type): Ditto. * lib/autoconf/general.m4 (AC_CANONICAL_HOST): Explicitly state that `--host' implies cross-compilation. 2002-03-04 Akim Demaille * doc/autoconf.texi (Evaluation Macros): New. * lib/m4sugar/m4sugar.m4 (m4_lquote): Remove, it is totally useless. (_m4_foreach): Define the variant with immediate evaluation so that it contains exactly the items, not an expression which evaluation is the current item. (m4_re_string, m4_re_word): Don't over quote them. 2002-03-04 Akim Demaille Instead of having stacking `shift's evaluated at the end, let `foreach' loops immediately evaluate them. * lib/m4sugar/m4sugar.m4 (m4_quote, m4_dquote): Use $@ rather than $*. This is the n-th time I change my mind, but hopefully this is the last... (m4_lquote): New. (m4_text_wrap): Use m4_foreach, which is finally correct _and_ efficient. (m4_foreach_quoted, m4_car_quoted, _m4_foreach_quoted): Remove, as it was only a hack for m4_text_wrap. (m4_car2): Remove, replaced by... (m4_cdr): New. (_m4_foreach): Adjust. * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Adjust, and use m4_bpatsubst for clarification. 2002-03-04 Akim Demaille * doc/autoconf.texi (Changequote is Evil): New. 2002-03-03 Kevin Ryde * doc/autoconf.texi (Portable Shell): Mention 32-byte #! length limit on old systems like SunOS. 2002-03-01 Peter Eisentraut * lib/autoconf/c.m4, lib/autoconf/fortran.m4, lib/autoconf/functions.m4, lib/autoconf/general.m4, lib/autoconf/headers.m4, lib/autoconf/lang.m4, lib/autoconf/programs.m4, lib/autoconf/status.m4: Improve spelling of messages. 2002-02-28 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Suggest a title to the message to be sent. 2002-02-28 Kevin Ryde * doc/autoconf.texi (Function Portability): Add va_copy and va_list. 2002-02-25 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_SETPGRP): Fix the test. From Akinori Musha. 2002-02-13 Alexandre Duret-Lutz * lib/Autom4te/XFile.pm (getline, getlines): New functions, translate \r\n to \n. 2002-02-07 Akim Demaille Version 2.52h. 2002-02-07 Akim Demaille Fix Autoconf PR/209. Also reported by Frank Denis. * lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Don't over quote. 2002-02-07 Akim Demaille Fix Autoconf PR/207: AC_PREFIX_PROGRAM fails with dashed program names * lib/autoconf/general.m4 (AC_PREFIX_PROGRAM): Just use a fresh variable when looking for the prefix program. Now it also works for shell variables. 2002-02-07 Akim Demaille * doc/autoconf.texi (Limitations of Builtins): More about case/esac. 2002-02-06 Akim Demaille * lib/autoconf/status.m4 (_AC_OUTPUT_COMMANDS): Don't output empty case/esac, some shells don't support it. Reported by Zack Weinberg. * tests/torture.at (AC_CONFIG_COMMANDS with empty commands): New. 2002-02-06 Akim Demaille * lib/autotest/general.m4 (AT_INIT): When handling --keywords, be sure not to introduce newlines in at_groups. * lib/autotest/Makefile.am (autotest.m4f): Typo. 2002-02-06 Akim Demaille * tests/torture.at (Configuring subdirectories): Skip if aclocal is not available. 2002-02-05 Paul Eggert * doc/autoconf.texi (Specific Compiler Characteristics): Describe HP-UX cc bug workaround more accurately. * lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Cast to long, not unsigned long. * tests/semantics.at (AC_CHECK_SIZEOF): Check non-GCC cross-compilers, too. This undoes some of the most recent change to this file. 2002-02-05 Akim Demaille * tests/Makefile.am (check_SCRIPTS): Use it, instead of WRAPPERS, to make sure they are up to date when `check' is run. 2002-02-05 Akim Demaille * doc/autoconf.texi (Making testsuite Scripts): Document package.m4. 2002-02-05 Akim Demaille * lib/freeze.mk: New. 2002-02-05 Akim Demaille Implement `autom4te --freeze'. * bin/autom4te.in (&freeze): New. * lib/autoconf/autoconf.m4, lib/autotest/general.m4, * lib/m4sugar/m4sh.m4: Don't include files given by autom4te. 2002-02-05 Akim Demaille * bin/autom4te.in (&parse_args): Implement `frozen files are optional are the sum of the previous files on the command line'. Also, pass `--reload-state=' on them, so... (handle_m4): don't. * lib/autom4te.in (Autotest, Autoconf): Rely on M4sh. (M4sh): Rely on M4sugar. (Autotest, M4sh, M4sugar): Use frozen files. 2002-01-31 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PACKAGE): Accept $4. * doc/autoconf.texi (Initializing configure): Adjust. 2002-01-30 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PACKAGE): Map non alphanumeric to `-' instead of `_'. 2002-01-30 Akim Demaille * tests/semantics.at (AC_CHECK_SIZEOF): Split into two tests: one for plain code, the other for cross-compilation code. The latter is now run with GCC only. * doc/autoconf.texi (Compilers and Preprocessors): New. 2002-01-30 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PACKAGE): Support pre-defined values. * doc/autoconf.texi (Initializing configure): Explain how to change AC_INIT default values. 2002-01-29 Akim Demaille * tests/torture.at (Configuring subdirectories): Use configure.in, so that aclocal 1.4 works. Reported by Alexandre Duret-Lutz and Larry Schmitt. 2002-01-28 Akim Demaille * doc/autoconf.texi (Writing testsuite.at): AT_CLEANUP no longer needs an argument. 2002-01-28 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Don't be ridiculous: adjust AUTOTEST_PATH *after* it was set. Don't put `.' in the PATH: the user should be precise and `./' if needed. In addition, given that the test suite does some `cd', if `.' is in the path, the `tested programs' sections will report programs found in the test suite's directory, while during the tests (performed in their own directory), these programs are no longer visible. In other words, the results is confusing and useless. * tests/m4sh.at: Adjust: don't rely on `.' being in the PATH. 2002-01-24 Akim Demaille Version 2.52g. 2002-01-24 Akim Demaille * bin/autoheader.in, bin/autoconf.in, bin/autoscan.in, * doc/autoconf.texi: Finally add Akim as an author. 2002-01-24 Akim Demaille * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Use PATH_SEPARATOR. (_AS_PATH_SEPARATOR_PREPARE): Don't expect $SHELL to be Bourne. Use /bin/sh. From Andreas Buening. 2002-01-24 Akim Demaille * config/config.guess, config/config.sub, config/texinfo.tex: Update from masters. 2002-01-24 Akim Demaille * Makefile.am (AUTOMAKE_OPTIONS): 1.5b. * config/auxdir.m4, config/cond.m4, config/depend.m4, * config/init.m4, config/install-sh.m4, config/lispdir.m4, * config/missing.m4, config/sanity.m4, config/select.m4, * config/strip.m4: Remove, to ease sync'ing with any version of Automake. 2002-01-24 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS) (_AC_INIT_PREPARE): Support -n as --no-create, as documented. Reported by Geir Ove Myhr. 2002-01-21 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_MMAP): #Undef malloc. 2002-01-21 Akim Demaille * lib/Autom4te/General.pm (getopt): Use a more GNUish error message on invalid options. * bin/autom4te.in (parse_args): Don't use Autoconf::General::getopt with non valid options. 2002-01-17 Jim Meyering * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Initialize $ac_cv_exeext so we don't use an old, invalid, cached value. 2002-01-11 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_STRNLEN): New, from Jim Meyering. * doc/autoconf.texi (Function Portability): Document the strnlen limitation. (Particular Functions): Document AC_FUNC_STRNLEN. * lib/autoscan/functions: Adjust. 2002-01-06 Akim Demaille * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't create package.m4, since is really depends upon configure.ac, not configure. * doc/autoconf.texi (testsuite Scripts): Adjust. * tests/Makefile.am (package.m4): New. EXTRA_DIST it since its a source. 2002-01-06 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Move the AC_SUBST of PACKAGE_NAME, PACKAGE_TARNAME, PACKAGE_VERSION, PACKAGE_STRING, and PACKAGE_BUGREPORT from here... (_AC_INIT_DEFAULTS): to here, since it is unrelated to the arguments. (_AC_INIT_PREPARE): AC_DEFINE these symbols. * lib/autotest/general.m4: Use AT_PACKAGE_*, not PACKAGE_*. (AT_INIT): No longer catch `^PACKAGE_(BUGREPORT|STRING)$'. * tests/tools.at (autoheader): Adjust. * tests/atspecific.m4 (AT_CHECK_DEFINES): Adjust. 2002-01-06 Akim Demaille * bin/autoscan.in (scan_file): Use `&used'. 2002-01-03 Akim Demaille * doc/autoconf.texi (Output): Improved wording regarding use of AC_OUTPUT. From Olly Betts. 2001-12-18 Kevin Ryde * doc/autoconf.texi (Function Portability): Add notes on sscanf sometimes needing writable input. 2001-12-17 Jim Meyering * doc/autoconf.texi (New Macros): Tweak wording. 2001-12-14 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PREPARE): We cleaning up the trailing files, don't apply `-rf' to files which might not be created by configure (core, core.*, and *.core), but just `rm -f'. Suggested by Jonathan Kamens. 2001-12-14 Aaron M. Ucko * lib/autoconf/general.m4: Avoid duplicates in `$ac_configure_args'. 2001-12-14 Akim Demaille * Makefile.am (MAINTAINERCLEANFILES): Remove configure. 2001-12-13 Peter Eisentraut * lib/autoconf/status.m4 (_AC_SRCPATHS): Rename buildpath to abs_builddir, top_buildpath to abs_top_builddir, srcpath to abs_srcdir, top_srcpath to abs_top_srcdir. (_AC_OUTPUT_FILES): Adjust. * NEWS, doc/autoconf.texi, lib/autoconf/autotest.m4, * tests/atspecific.m4, tests/autoreconf.in, tests/tools.at, * tests/wrappl.in, tests/wrapsh.in: Adjust. 2001-12-12 Steven G. Johnson * lib/autoconf/fortran.m4 (_AC_PROG_F77_V_OUTPUT): Fix failed C/Fortran linking on HP/UX, by extracting the Fortran library search path from the LPATH line in the $F77 -v output. 2001-12-12 Kevin Ryde * doc/autoconf.texi (File Descriptors): Use a clearer layout for the forbidden file descriptors table. 2001-11-26 Akim Demaille * bin/autoscan.in (%c_keywords): Build it at top level. Map to 1 in order to simplify its uses. 2001-11-26 Akim Demaille * bin/autoscan.in (&scan_c_file, &scan_sh_file, &scan_makefile): Remove $filepath, useless. (&scan_makefile): Don't remove the $(FOO), ${FOO} and @FOO@ variables, they are really part of the tokens. Split the input line on spaces and then look for tokens. Now autoscan ceases to ask for AC_PROG_LEX for the package Bison because of `lex$U.$(OBJEXT)'. (&scan_files): Use "@list" instead of join. * doc/Makefile.am (CLEANFILES): Add *.fns. 2001-11-26 Akim Demaille * tests/autoreconf.in, tests/autom4te.in, tests/autoupdate.in: Remove, replaced by... * tests/wrappl.in: Be common for all the Perl executables. In particular autoscan and autoheader want -I. * configure.ac: Adjust. * lib/autoscan/headers: errno.h is portable. 2001-11-26 Akim Demaille * bin/autoscan.in (used): New. Use it. 2001-11-26 Akim Demaille * bin/autoscan.in (&scan_c_file): Better parsing of CPP directives. (&scan_sh_file): Remove a duplicate pattern. (&check_configure_ac): Use long options. * lib/autoscan/headers (alloca.h): Check with AC_FUNC_ALLOCA. 2001-11-26 Akim Demaille * bin/autoscan.in (scan_c_file): Fix the handling of C comments. Before, having a line containing the opening of a multi line comment made the whole line be ignored. 2001-11-26 Akim Demaille * doc/autoconf.texi (Using an Autotest Test Suite): New. (testsuite Scripts): Be one of its subsection. (Autotest Logs): New. 2001-11-26 Akim Demaille Test groups are now run two directories deeper. * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Replace srcdir, top_srcdir and top_builddir with at_srcdir, at_top_srcdir and at_top_builddir. * lib/autotest/general.m4 (AT_INIT): Compute srcdir, top_srcdir, builddir and top_builddir. Use `at_*dir' relatively to the directory containing the suite, use `*dir' when relatively to the current group dir. 2001-11-25 Joseph S. Myers * doc/autoconf.texi, TODO, lib/autoconf/fortran.m4, lib/autoconf/functions.m4, lib/autoconf/headers.m4, tests/atgeneral.m4, tests/tools.at, tests/atspecific.m4: Fix spelling errors. 2001-11-22 Alexandre Duret-Lutz * doc/autoconf.texi (Using System Type): Add an example of `case $host' usage so people quit using `case $target' everywhere. 2001-11-22 Akim Demaille * doc/autoconf.texi (Installation Directory Variables): Englishoes spotted by Jim Meyering. 2001-11-16 Paul Eggert This patch implements a `long double' suggestion by Oliver Kiddle. * lib/autoconf/c.m4 (AC_LANG_BOOL_COMPILE_TRY(C)): Make the array static, to catch errors if the value isn't known at compile-time and the compiler supports dynamic arrays. Change its name from `_array_' to `test_array' to avoid potential name clashes. (AC_C_LONG_DOUBLE): Make it a compile-time test, not a run-time test. Do not define HAVE_LONG_DOUBLE if `long double' is no better than double. Catch a bug in GCC 2.95.2 x86. * doc/autoconf.texi (C Compiler): Document the above. * NEWS: Likewise. 2001-11-13 Akim Demaille * tests/m4sh.at (LINENO): Protect from autom4te's substitution by hand. * tests/tools.at: Don't protect dnl, AT_DATA_M4SH does. 2001-11-13 Akim Demaille * lib/autotest/general.m4 (AT_INIT): After having run the test group, go back to the initial directory, not to at_suite_dir. 2001-11-13 Akim Demaille * tests/atspecific.m4 (AT_DATA_M4SUGAR, AT_DATA_M4SH) (AT_DATA_AUTOCONF): Also protect @&t@ from autom4te. (AT_CHECK_AUTOCONF, AT_CHECK_AUTOHEADER): Pass no --include option. (AT_CHECK_CONFIGURE): Use absolute paths. (_AT_CHECK_AC_MACRO): Create aclocal.m4 with AC_STATE_SAVE in it. The problem is still the old one: there is no means in M4 (that I know about) to create a defining macro, because there is no means to create `$1' etc., therefore, the defining macro ``swallows'' all the arguments meant to the defined macro. 2001-11-13 Akim Demaille * tests/atspecific.m4 (AT_DATA_AUTOCONF): New. (AT_CONFIGURE_AC): Output the definition of AC_STATE_SAVE in configure.ac. * tests/aclocal.m4: Remove, as it is no longer used. 2001-11-13 Akim Demaille * lib/autotest/general.m4: Change `tests?' into `groups?' in variable names when referring to a single test group, or to `suite' when referring to the whole test suite. `at_last_test' is removed: m4 compute at_format itself. (at_stdout, at_stder1, at_stderr): New variables. (AT_CHECK): Use them. 2001-11-13 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Be sure to put `.', relative, in PATH. Create `testsuite.dir/003/run' instead of `testsuite.003'. Do it as soon as a test fails, don't wait till the end of the test suite. Don't remove $as_me.[0-9]*, since these files no longer exist. 2001-11-13 Akim Demaille * tests/tools.at: Use absolute paths, since we are no longer run in place. 2001-11-13 Akim Demaille Now that tests are running in their own private dir, there is no need to list the files to remove at the end of tests groups. * lib/autotest/general.m4 (_AT_CLEANUP_FILE, AT_CLEANUP_FILES): (AT_data_files, at_data_files): Remove. (AT_CLEANUP, AT_DATA): Simplify. (AT_INIT): Adjust. Remove the group dir if !debug && !failed. * tests/atspecific.m4: Adjust. 2001-11-13 Akim Demaille Start a new layout for Autotest: `testsuite' creates `testsuite.dir' in which the at-check-line etc. files are to be found, and `testsuite.dir/003' where the test group 3 is run. * lib/autotest/general.m4 (AT_INIT): at_tests_dir, at_check_line_file, at_format, at_test_normalized, at_group_dir are new variables. Create the directories. Use absolute paths for at- files. (AT_CHECK): Adjust. 2001-11-11 Michael Matz * m4sugar.m4 (_m4_foreach): Make it linear instead quadratic. (m4_car2): New. (m4_car): Properly quote arguments. 2001-11-13 Akim Demaille * tests/aclocal.m4 (AC_STATE_SAVE): s/LIBOBJS/LIB@&t@OBJS/ to cope with stricter rules on LIBOBJS. 2001-11-12 Paul Eggert * lib/autoconf/c.m4 (AC_C_PROTOTYPES): Define __PROTOTYPES too. * doc/autoconf.texi (C Compiler): AC_C_PROTOTYPES now defines __PROTOTYPES too. 2001-11-12 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_GETMNTENT): Use AC_CHECK_FUNCS. 2001-11-12 Akim Demaille * lib/autoconf/c.m4, lib/autoconf/fortran.m4, * lib/autoconf/functions.m4, lib/autoconf/general.m4, * lib/autoconf/headers.m4, lib/autoconf/libs.m4, * lib/autoconf/programs.m4, lib/autoconf/specific.m4, * lib/autoconf/types.m4: When invoking AC_DEFINE and friends, specify to what the macro should be defined (typically to 1). 2001-11-12 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_STRTOD): AC_SUBST POW_LIB. From Jim Meyering. 2001-11-12 Akim Demaille * lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Use AC_TRY_EVAL to run $LEX, not AC_TRY_COMMAND. This validates the definition used by Automake where LEX is +/- "${missing} lex" and `missing' itself contains variables. 2001-11-12 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Push KILL at the end. Now that M4sh pushes BODY, the comments were output at the end of the test suites. 2001-11-08 Akim Demaille * bin/autoreconf.in (&autoreconf): Run aclocal before tracing, so that we can trace macros from aclocal.m4. Trace AC_PROG_LIBTOOL, not AM_PROG_LIBTOOL, since the latter is obsoleted, and redirect to the former anyway. Reported by Ralf Corsepius. 2001-11-08 Akim Demaille * bin/autoreconf.in (&autoreconf): AC_CONFIG_SUBIDRS are to be processed only if present. * tests/torture.at (Configuring subdirectories): Use autoreconf instead of successive calls to autoconf. Add a nonexistent subdirectory to exercise the patch above. Reported by Ralf Corsepius. 2001-11-08 Kevin Ryde * doc/autoconf.texi (Limitations of Usual Tools): Note HP-UX cc doesn't accept .S files. 2001-11-07 Akim Demaille * lib/m4sugar/m4sugar.m4 (m4_pattern_forbid): Accepts $2. * lib/autoconf/general.m4 (AC_INTI): Forbid LIBOBJS. (_AC_LIBOBJ): s/LIBOBJS/LIB@&t@OBJS/. * bin/autom4te.in (warn_forbidden): New. (handle_output): Use it. Read m4_pattern_forbid with messages. 2001-11-05 Akim Demaille * bin/autom4te.in (--normalize): Remove. * lib/autom4te.in: Adjust. 2001-11-05 Akim Demaille * tests/Makefile.am (testsuite): Rename this target as... ($(TESTSUITE)): this. From Nicolas Joly. 2001-11-05 Alexandre Duret-Lutz * lib/autoconf/status.m4 (_AC_OUTPUT_SUBDIRS): When removing the --prefix option, also remove it's argument. 2001-11-05 Akim Demaille * doc/autoconf.texi (testsuite Invocation): Update. (Writing testsuite.at): Update. 2001-11-03 Akim Demaille * doc/autoconf.texi: s/@code/@command/ where appropriate. 2001-11-03 Akim Demaille * lib/Autom4te/General.pm: (&catfile, &canonfile) (&file_name_is_absolute): New, wrappers around routines from File::Spec. Use and export them. (&find_configure_ac): Optionally take a directory where to look at. * bin/autoreconf.in (&parse_args): Trim the configure.ac part of the arguments. Default @ARGV to `.', not find_configure_ac. (&autoreconf): Argument is a directory. Trace AC_CONFIG_SUBDIRS and schedule the subdirs for autoreconf'ing. * doc/autoconf.texi (autoreconf Invocation): Update. 2001-11-03 Akim Demaille * lib/Autom4te/General.pm (@export_vars, @export_subs) (@export_forward_subs): New. Add basename, dirname, and fileparse. (@EXPORT): Adjust. * bin/autoreconf.in (&autoreconf): Fix call to fileparse. Don't look for aclocal flags if we already know aclocal is not used. Move aclocal.m4t only if it exists. Reported by Ezra Peisach. 2001-11-03 Akim Demaille * bin/autoreconf.in (&parse_args): Work only on the configure.ac passed on command line, defaulting to ./configure.ac if present. (&maybe_autoreconf, File::Find): Remove, unused. (&autoreconf): If autoconf is not used, don't try to trace. 2001-11-02 Akim Demaille * configure.ac: Bump to 2.52g. 2001-11-02 Akim Demaille Version 2.52f. 2001-11-02 Akim Demaille * config/config.guess, config/config.sub, doc/standards.texi: * config/lispdir.m4: Update from masters. * configure.ac: Bump to 2.52f. 2001-11-02 Akim Demaille * bin/autoreconf.in (&autoreconf): Set `$aclocal_flags' to ''. Don't run aclocal when aclocal.m4 is not from aclocal. From Ezra Peisach. Don't run libtoolize and gettextize if --install is not given. 2001-11-01 Paul Eggert * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): _AS_CR_PREPARE needs to be invoked before _AS_LINENO_PREPARE. (_AS_LINENO_PREPARE): Use as_cr_digits and as_cr_alnum rather than character ranges. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Fix NLS before invoking AS_BASENAME. Set the locale variables to 'C' if possible, as POSIX requires this to get the traditional behavior. * doc/autoconf.texi (Special Shell Variables): Describe the above. 2001-10-31 Paul Eggert * lib/m4sugar/m4sh.m4 (_AS_LINENO_WORKS): Do not surround body with {}, as that triggers a bug in Bash 2.05. (_AS_LINENO_PREPARE): Use Sed rather than Awk. Fix the sed prepass to work even if there are multiple instances of $LINENO on the same line. Do not substitute for other variables like $LINENOT. Do not check file dates; such a check is unreliable on sufficiently fast machines, and removing the check makes the code simpler and more reliable. Check for output and chmod failures. * doc/autoconf.texi (Special Shell Variables): Document the above. 2001-10-31 Akim Demaille * tests/Makefile.am (atconfig): Remove this target, Automake handles it now. 2001-10-31 Akim Demaille * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Do not AC_CONFIG_FILES(atlocal) as it means a file atlocal.in *must* be provided, while it is optional. * configure.ac: Adjust. 2001-10-26 Paul Eggert * NEWS, README, configure.ac, lib/Autom4te/General.pm, lib/Autom4te/Struct.pm: Require Perl 5.005_03 instead of just 5.005, as some tests fail with 5.005_02. * doc/autoconf.texi (Special Shell Variables): Document some more LINENO gotchas, particularly with respect to the Awk+Sed hack. * lib/m4sugar/m4sh.m4 (_AS_LINENO_WORKS): New macro. (_AS_LINENO_PREPARE): Use it instead of shell eval, since eval $LINENO is not portable in practice. 2001-10-24 Akim Demaille * lib/Autom4te/General.pm (backname): New. 2001-10-24 Akim Demaille * m4/: Remove, merged into... * config/: here. 2001-10-23 Tim Van Holder * doc/autoconf.texi (Shellology): Mention the problems with bash 2.05's use of ANSI quoting in its `set' builtin. 2001-10-22 Paul Eggert * lib/autoconf/functions.m4 (AC_FUNC_STRERROR_R): Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p, and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since POSIX decided to standardize on the int flavor of strerror_r. Always do char* test, as there's no reason not to. Assign to a char* var, to catch strerror_r that returns int*. * doc/autoconf.texi (Particular Functions): Document the above changes. Also, document the fact that AC_FUNC_STRERROR_R defines HAVE_DECL_STRERROR_R. * NEWS: Mention HAVE_WORKING_STRERROR_R -> STRERROR_R_CHAR_P. 2001-10-20 Akim Demaille * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): The name of the executable was missing from the log. 2001-10-20 Akim Demaille * lib/Autom4te/General.pm (&update_file): If destination is unchanged, remove the source. (&up_to_date_p): Don't be verbose, be debug. * bin/autoreconf.in: No longer support --m4dir. (&autoreconf): Display the full path of the configure.ac we are studying. Trace it only once. Be sure to honor --force with gettextize. Always run aclocal. * doc/autoconf.texi: Adjust. 2001-10-20 Akim Demaille * bin/autoheader.in ($localdir, $m4, $SIMPLE_BACKUP_SUFFIX): Remove, dead. * bin/autoreconf.in (&autoreconf): Do not run gettextize when `intl' is already present, as it refuses unless --force. (&parse_args): Use -I, --include instead of the old Autoconf options. ($localdir, $autoconf_dir): Remove. (@include): New. (&maybe_autoreconf): New, to preserve $_ for File::Find. 2001-10-19 Jens Petersen * lib/autoconf/programs.m4 (AC_PROG_AWK): Prefer gawk to mawk. * doc/autoconf.texi (Particular Programs): Likewise. 2001-10-19 Akim Demaille * lib/autoconf/status.m4 (_AC_OUTPUT_FILES): Name the generated file in @configure_input@. Don't mention `automatically' in addition to `generated'. * tests/torture.at (#define header templates): Adjust. 2001-10-19 Akim Demaille * lib/emacs/autoconf-mode.el, lib/emacs/autotest-mode.el: In a comment, explain how to install automatic mode selection. From Russ Allbery. 2001-10-19 Ezra Peisach * bin/autoreconf.in (autoreconf): Display the path to the configure.ac being studied. 2001-10-18 Paul Eggert * lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Cast sizeof to unsigned long, to work around a bug in the HP C compiler version HP92453-01 B.11.11.23709.GP. * lib/m4sugar/m4sh.m4 (AS_DIRNAME): Use 'dirname' if that works. (AS_BASENAME_EXPR): New macro. (AS_BASENAME_SED): Do not assume GNU sed semantics. (AS_BASENAME): Use 'basename' if that works; then try 'expr'; and fall back on 'sed' only if the other two fail. This makes AS_BASENAME act more like AS_DIRNAME. (as_me): Shell-quote the argument of AS_BASENAME, in case $0 contains white space. * lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Use AS_DIRNAME, since I think it's now DOS-friendly. * tests/m4sh.at (DIRNAME_TEST): New arg $3. Allow "dirname //FOO" to return either / or //, as POSIX allows either behavior. 2001-10-10 Akim Demaille * lib/autoconf/lang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Recognize `a_out.exe' for OpenVMS 7.1, DEC C 5.5 compiler, via GNV. From Eric Sharkey. 2001-10-10 Akim Demaille * lib/m4sugar/m4sh.m4 (_AS_ECHO_N_PREPARE): m4_defun, not m4_define, since... (_AS_ECHO_N): AS_REQUIREs it. 2001-10-10 Akim Demaille * lib/autoconf/general.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS) (AC_INCLUDES_DEFAULT): Move to... * lib/autoconf/headers.m4: here. * lib/autoconf/types.m4: Comment changes. * doc/autoconf.texi: Specify where the default includes are used in the macro prototypes. 2001-10-09 Akim Demaille * lib/autoconf/autoconf.m4 (m4_patsubst, m4_regexp): New transition code. 2001-10-08 Akim Demaille * bin/autoreconf.in (&autoreconf): Remove debugging code. (&parse_args): Pass verbosity/debugging options to subtools when --debug, not when --verbose. * lib/autom4te.in (Autoreconf-preselections): New. (Autoconf): Use it. 2001-10-08 Akim Demaille * bin/autoreconf.in (autoreconf): Run libtoolize when appropriate. 2001-10-08 Akim Demaille * doc/autoconf.texi (autoreconf Invocation): Adjust. * bin/autoreconf.in (autoreconf): Run gettextize when appropriate. 2001-10-08 Akim Demaille * tests/tools.at (AT_CHECK_PERL_SYNTAX): Check autoreconf. (Syntax of the shell scripts): Don't. * bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in: Don't bother with $force since... * lib/Autom4te/General.pm: does. 2001-10-08 Akim Demaille * bin/autoreconf.in: Rewrite in Perl. * configure.ac: Adjust. * lib/Autom4te/General.pm (&up_to_date_p): New. * bin/autom4te.in (&up_to_date_p): Use it. Rename as... (&up_to_date): this. 2001-10-08 Akim Demaille * lib/m4sugar/m4sugar.m4 (m4_case, m4_bmatch, m4_normalize) (m4_list_cmp): Use $0 to reinvoke yourself. (m4_patsubsts): New. (m4_strip, m4_version_unletter): Use it. * tests/atspecific.m4 (AT_DATA_M4SUGAR, AT_DATA_M4SH): Likewise. 2001-10-08 Akim Demaille * lib/autoconf/autoconf.m4, lib/autoconf/general.m4, * lib/autoconf/libs.m4, lib/autoconf/status.m4, * lib/autoconf/types.m4, lib/autotest/general.m4, * lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4, tests/atspecific.m4, * tests/torture.at: Rename m4_regexp, m4_patsubst, and m4_match to m4_bregexp, m4_bpatsubst, and m4_bmatch. * doc/autoconf.texi (Redefined M4 Macros): Adjust. 2001-10-08 Akim Demaille * lib/m4sugar/m4sh.m4: Use AS_REQUIRE. 2001-10-08 Akim Demaille * lib/m4sugar/m4sh.m4 (AS_DIRNAME_EXPR): Use AS_REQUIRE. * tests/tools.at (AT_DATA_FORBIDDEN): Rename/move/duplicate to... * tests/atspecific.m4 (AT_DATA_M4SUGAR, AT_DATA_M4SH): here. * tests/tools.at, tests/m4sh.at: Use it. * tests/m4sh.at: Don't rely on Autoconf macros. (DIRNAME_TEST): Also exercise the expr variant. * tests/m4sugar.at, tests/atspecific.m4 (AT_CHECK_M4SUGAR): The preferred M4sugar extension is now `.4s'. * tests/README: Remove. 2001-10-08 Akim Demaille * lib/m4sugar/m4sugar.m4 (m4_provide_ifelse): Rename as... (m4_provide_if): this. * lib/m4sugar/m4sh.m4 (AS_REQUIRE): New. * lib/autoconf/general.m4 (AS_DEFUN, AC_DEFUN_ONCE, AC_BEFORE) (AC_REQUIRE, AC_PROVIDE, AC_PROVIDE_IFELSE): Be exact copy of the M4sugar peer, i.e., drop the `AC_PROVIDE_$1' broken marker. 2001-10-08 Akim Demaille Use `add-log-current-defun-function' for ChangeLog creation. Suggested by Tom Tromey. * lib/emacs/autotest-mode.el (autotest-mode-map): New. (autotest-mode): Adjust. * lib/emacs/autoconf-mode.el (autoconf-mode-map): Modernize, map 'comment-region onto `C-c ;'. Comments are `#', not `dnl'. (autoconf-current-defun): New. (autoconf-font-lock-keywords): Recognize `m4_defun'. 2001-10-08 Akim Demaille * lib/autoconf/general.m4 (_m4_divert(BODY)): Move to... * lib/m4sugar/m4sh.m4: here. (AS_INIT): Push the BODY diversion, set the #! /bin/sh line. * lib/autoconf/general.m4 (AC_PLAIN_SCRIPT) : Remove. (AT_INIT): Replace AC_PLAIN_SCRIPT with AS_INIT invocation, include handle the m4_pattern_*, no longer push the BODY diversion nor set the /bin/sh line, AS_INIT does it. * lib/autotest/general.m4 (AT_INIT): Likewise. * tests/base.at: Adjust the tests to use AS_INIT. * tests/tools.at (AT_DATA_FORBIDDEN): New. (autoconf: forbidden tokens): Adjust to work on M4sh instead of Autoconf. 2001-10-07 Paul Eggert * doc/autoconf.texi (config.status Invocation): CONFIG_SHELL defaults to a shell that supports LINENO if available. * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): If the current shell does not support LINENO, and if CONFIG_SHELL is unset or empty, and if we can find a shell that does support LINENO, then set CONFIG_SHELL to that shell and then re-execute ourselves with CONFIG_SHELL. 2001-10-05 Paul Eggert * tests/Makefile.am (clean-local): Don't invoke $(TESTSUITE) if it doesn't exist. Remove *.tmp, as a .tmp file is created during the build of $(TESTSUITE). 2001-10-05 Akim Demaille * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Look in the path iff we are a bareword. Reported by Raja R Harinath. 2001-10-05 Akim Demaille * tests/m4sh.at (LINENO): New. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Be sure to set PATH_SEPARATOR before using it. Fix the absolute path case/esac pattern. Provide $0 as fallback for as_myself. Reported by Raja R Harinath. 2001-10-05 Akim Demaille * Makefile.am, config/Makefile.am, lib/emacs/Makefile.am, * m4/Makefile.am, man/Makefile.am: Add/adjust MAINTAINERCLEANFILES. 2001-10-05 Akim Demaille * lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): New, extracted from... (AS_SHELL_SANITIZE): here. Use it. (_AS_LINENO_PREPARE): Preserve the exit status of $0.lineno. From Paul Eggert. 2001-10-04 Akim Demaille * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Use a portable combination of Awk and sed to replace $LINENO. 2001-10-02 Paul Eggert * doc/autoconf.texi (Limitations of Builtins): You can't use "source"; it's not portable. Remove confusing and somewhat-incorrect example involving "." and "/". * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): "source" -> ".", for compatibility with POSIX shells. 2001-10-02 Akim Demaille * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Just source 40.lineno instead of exec'ing to preserve $0 and $@. 2001-10-01 Akim Demaille * tests/testsuite (AT_INIT) : New. Don't run twice the same test. 2001-10-01 Akim Demaille * lib/autotest/general.m4 (AT_INIT) <--help>: Catch up with reality. No longer output the list of tests. <--list>: New option. <--full-help>: Remove. Complete the short/long options duality. Various small adjustments. 2001-10-01 Akim Demaille * doc/autoconf.texi: Use @kbd for user input. Always use `$' as shell prompt. 2001-09-30 Paul Eggert * lib/autoconf/status.m4 (AC_OUTPUT_MAKE_DEFS): Don't use nested parenthesization. This patch was originally suggested to bug-autoconf by Philippe De Muyter on 2000-05-28, but somehow it didn't get incorporated then. * doc/autoconf.texi (Limitations of Usual Tools): Clarify remark about sed and nested parenthesization. * lib/autoconf/types.m4 (AC_CHECK_SIZEOF): Report an error if the size cannot be determined even though the type exists. * lib/autoconf/general.m4 (_AC_COMPUTE_INT_COMPILE): Check for `expr' arithmetic overflow, and for compilation failure, and invoke a new argument $4 if either is discovered. This makes _AC_COMPUTE_INT_COMPILE more like _AC_COMPUTE_INT_RUN. (_AC_COMPUTE_INT): Pass IF-FAILS arg to _AC_COMPUTE_INT_COMPILE. 2001-09-28 Akim Demaille * lib/emacs/autoconf-mode.el, lib/emacs/autotest-mode.el: New. * m4/lispdir.m4: New. * aclocal.m4, configure.ac: Adjust. 2001-09-28 Akim Demaille * lib/autotest/general.m4 (AT_VICTIMS): Rename as... (AT_TESTED): this. (AT_INIT): More the wrapped section to where it will be expanded. Output `AT_tested' only when existing. Catch unexpanded PACKAGE_STRING and PACKAGE_BUGREPORT. 2001-09-27 Akim Demaille Fix the passing of $? to ACTION-IF-FAILED in AC_TRY_RUN, that generates too many bug reports. * lib/autoconf/general.m4 (_AC_RUN_IFELSE): Pass the right exit status when executing the ACTION-IF-FALSE. * tests/base.at (AC_TRY_*): Rename as... (AC_TRY_COMMAND): this. (AC_RUN_IFELSE): New. * tests/compile.at (Extensions, C keywords) (AC_PROG_CPP requires AC_PROG_CC, GNU Fortran 77) (Broken/missing compilers, AC_PROG_CPP with warnings) (AC_PROG_CPP without warnings, AC_PROG_CPP via CC): Move to... * tests/c.at (Extensions, C keywords) (Broken/missing compilers, AC_PROG_CPP with warnings) (AC_PROG_CPP without warnings, AC_PROG_CPP via CC) (AC_PROG_CPP requires AC_PROG_CC): here and... * tests/fortran.at (GNU Fortran 77): there. * doc/autoconf.texi (autoconf Invocation): Fix the example: AC_TRY_RUN is about compilation, not shell commands. (Test Programs): AC_TRY_RUN works as used to be advertised. 2001-09-27 Akim Demaille * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Fix bugs spotted by Raja R Harinath: Be sure to detect when $LINENO always returns the same value. Look for the original script, basename($0) is certainly not enough. Pass the CLI arguments to `$as_me.lineno'. 2001-09-25 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Dump the whole config.log. Be sure the close and reopen the LOG fd before and after using tee to extend the log. : Adjust to the new format of at_help_all. 2001-09-23 Akim Demaille * bin/autom4te.in (parse_args): There can be several invocations of --language now. 2001-09-23 Akim Demaille * doc/autoconf.texi (Top): Wrap in @ifnottex. 2001-09-23 Akim Demaille * lib/autoconf/status.m4 (_AC_SRCPATHS): Compute and provide ac_buildpath, ac_top_buildpath, ac_srcpath, and ac_top_srcpath. (_AC_OUTPUT_FILES): Also substitute srcpath, top_srcpath, builddir, buildpath, top_builddir, and top_buildpath. (_AC_OUTPUT_SUBDIRS): Compute the dir variables *before* changing the current directory. * lib/autoconf/general.m4 (_AC_INIT_HELP): Compute the dir variables *before* changing the current directory. Skip nonexistent dirs. * doc/autoconf.texi (Preset Output Variables): Document these variables. * lib/autotest/general.m4: Do not reset AT_victims. Don't compute at_srcdir nor at_top_srcdir. * tests/tools.at: Hence use top_srcdir. * tests/Makefile.am, tests/autoconf, tests/autoheader, * tests/autom4te, tests/autoreconf, tests/autoupdate, tests/ifnames: Remove. * tests/autoreconf.in, tests/wrappl.in, tests/autom4te.in, * tests/wrapsh.in, tests/autoupdate.in: New. * tests/Makefile.am (DISTCLEANFILES, EXTRA_DIST): Adjust. * configure.ac: Build the position independent wrappers. * man/Makefile.am: Now that test wrappers are position independent, use them and drop dark envvar magic. 2001-09-23 Akim Demaille * doc/autoconf.texi (Common Shell Constructs): Rename as... (Programming in M4sh): this. Promote to @section. 2001-09-23 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Dump config.log last. Pass $at_debug_args to the rerun test suite. * lib/m4sugar/Makefile.am (DISTCLEANFILES): New. * bin/Makefile.am (ETAGS_SH): Don't use characters ranges. From Paul Eggert. 2001-09-23 Akim Demaille * bin/autom4te.in (@my_warning): Remove, handled by `autom4te.cfg'. 2001-09-23 Akim Demaille * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Fix shell over-escaping. 2001-09-23 Akim Demaille * lib/Autom4te/General.pm (&debug): New. * bin/autom4te.in ($language): Move to... (parse_args): here. Handle --language in languages. * lib/autom4te.in (Automake-selections, Autoheader-selections) (Autoscan-selections): New. (Autoconf): Adjust. 2001-09-23 Tim Van Holder * m4/auxdir.m4, m4/cond.m4, m4/depend.m4, m4/init.m4, * m4/install-sh.m4, m4/missing.m4, m4/sanity.m4, m4/strip.m4: Updated to match current versions from CVS Automake. 2001-09-23 Alexandre Duret-Lutz * doc/autoconf.texi (Special Shell Variables): Add pdksh output for $LINENO. 2001-09-22 Akim Demaille * lib/autoconf/autotest.m4: Create `package.m4'. * tests/Makefile.am (package.m4): Remove. 2001-09-22 Akim Demaille Rely on `$LINENO' when possible instead of `__oline__'. * lib/m4sugar/m4sh.m4 (AS_SHELL_SANITIZE): Provide some form of `$LINENO' support replacement when not supported. (_AS_CR_PREPARE, _AS_TR_CPP_PREPARE, _AS_TR_SH_PREPARE): Invoke them explicitly to be sure they are not output before this section (via m4_require). Cosmetic only. * lib/autoconf/c.m4, lib/autoconf/general.m4, * lib/autoconf/programs.m4: Replace all the occurrences of `__oline__' with `$LINENO'. * doc/autoconf.texi (Special Shell Variables): Document LINENO. 2001-09-21 Tim Van Holder * lib/autoconf/functions.m4 (_AC_FUNC_FORK): Replaceded an 8-bit character (u: -> ue) in a code comment. (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Only run 'ln -s' if we know it works. 2001-09-21 Akim Demaille * Makefile.maint (AUTOM4TE): Neutralize autom4te. Suggested by Jim Meyering. 2001-09-20 Tim Van Holder * lib/autoconf/programs.m4: Use extensions listed in $ac_executable_extensions when looking for programs. 2001-09-20 Tim Van Holder * lib/autoconf/general.m4: Fix a small Englisho. * lib/autoconf/status.m4: Fix a small typo. Handle DOS paths when setting up ac_dir_suffix and ac_top_builddir. * lib/m4sugar/m4sh.m4: Default CDPATH to $PATH_SEPARATOR, not ':'. 2001-09-20 Tim Van Holder * doc/autoconf.texi (File System Conventions): Clarify the use of PATH_SEPARATOR. (Special Shell Variables[PATH_SEPARATOR]): Ditto. (Special Shell Variables[CDPATH]): Mention that $PATH_SEPRATOR should be used instead of ':'. * lib/autotest/general.m4: Replace occurrences of ':' in AUTOTEST_PATH with $PATH_SEPARATOR at test suite startup. 2001-09-20 Tim Van Holder * tests/atgeneral.m4: Add basic support for test ranges (e.g. 7-34) as arguments. Fixed a typo. 2001-09-20 Tim Van Holder * man/Makefile.am (.x.1): Use @PATH_SEPARATOR@, not ':' to set up $PATH. Also set AUTOM4TE_CFG, so we can process autom4te properly. 2001-09-20 Tim Van Holder * bin/autoscan.in: Add 'exec-perl-if-not-run-by-perl'. * bin/autoupdate.in: Ditto. * bin/autoheader.in: Reworded a few comments. * bin/autoconf.in: Reworded help text for a few options. * bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, * bin/autoscan.in, bin/autoupdate.in: Ditto. 2001-09-20 Tim Van Holder * lib/Autom4te/XFile.pm (open): Simplified the error message (we already have $file). Set output files to binary mode (helps avoid CR issues on DOSish systems). 2001-09-19 Akim Demaille * lib/autotest/general.m4: Englishoes. From Tim Van Holder and Alexey Mahotkin. 2001-09-18 Paul Eggert * doc/autoconf.texi (Common Shell Constructs): New node, documenting AS_DIRNAME. (Limitations of Usual Tools): Refer to it when discussing dirname. Also, update discussion of POSIX standard to reflect latest draft. * lib/autoconf/c.m4: (AC_LANG_INT_SAVE(C)): Also support negative values, down to LONG_MIN. * lib/autoconf/general.m4 (_AC_COMPUTE_INT_COMPILE): Do not pass a first argument with leading '-' to expr, by parenthesizing initial integers that might be negative. * doc/autoconf.texi (Particular Functions): AC_FUNC_GETPGRP now merely checks whether it is an error to pass an argument to getpgrp. * lib/autoconf/functions.m4 (_AC_FUNC_GETPGRP_TEST): Remove. (AC_FUNC_GETPGRP): Don't bother with a runtime test. Just check whether it is a (compile-time) error to pass an argument to getpgrp. This simpler test supports the revised documentation, and is all that AC_FUNC_GETPGRP's users really need. 2001-09-18 Akim Demaille * doc/autoconf.texi (Limitations of Make) <$<>: New. 2001-09-18 Akim Demaille * doc/autoconf.texi (Limitations of Usual Tools) : More about `{}'. * lib/autotest/general.m4 (AT_INIT): Adjust. 2001-09-18 Paul Wagland * tests/m4sh.at: Ensure that AS_DIRNAME handles '/', '//' and '///' correctly. Add test for AS_BASENAME. * lib/m4sugar/m4sh.m4: Fix AS_BASENAME so that it passes the previous added test. It now correctly handles /1/2/3/, returning '3' not ''. Added AS_BASENAME_SED to make the interface the same as AS_DIRNAME. * tests/base.at: Fixed the expected responses. The old ones were one line out... * lib/autoconf/general.m4: Fixed AC_PREFIX_PROGRAM, it now behaves as the documentation claims it should (and how it behaved in 2.13). 2001-09-18 Akim Demaille * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): No INIT-CMDS in the AC_CONFIG_COMMANDS invocation. This also solves the name clash problems. Don't set the package's ID. * lib/m4sugar/Makefile.am (version.m4): Revamp. No longer to be shipped. (version.in): Remove. * lib/m4sugar/m4sugar.m4, lib/autoconf/general.m4, * lib/autoconf/status.m4: Adjust. Use `m4_PACKAGE_STRING'. * lib/autotest/general.m4 (AT_INIT): N-th signature change: now the only optional argument is the name of the test suite. Expect `package.m4' to define the package signature. * lib/autom4te.in (Autotest): Add `package.m4?'. * tests/Makefile.am (package.m4): New. * tests/suite.at: ifnames is a victim. 2001-09-18 Akim Demaille * lib/autom4te.in (Autoconf): Preselect AM_CONDITIONAL, AC_LIBSOURCE, AC_CONFIG_FILES. * lib/autotest/general.m4 (AT_INIT): Don't abort when a tested program version string doesn't match the package's. * lib/autoconf/general.m4 (AC_CACHE_VAL): Reestablish the space after `(cached)'. 2001-09-17 Paul Eggert * lib/autoconf/c.m4: (AC_LANG_INT_SAVE(C)): Allow expression to return any value that can fit into unsigned long (not int, as before). Check for output errors. 2001-09-17 Bruno Haible * lib/autoconf/c.m4: (AC_LANG_INT_SAVE(C)): Always include and . Evaluate the expression in an extra function before these includes. Call fprintf "%d" only after ensuring the argument is of type 'int'. Reported by Wayne Chapeskie . 2001-09-17 Paul Eggert Fix bug reported by Paul Townsend on AIX 4.3.3.0 with CFLAGS=-O4 or CFLAGS=-O5. In that case, the linker has a relaxed view of fatal errors, and AC_CHECK_LIB causes it to include libraries even when they don't exist. * lib/autoconf/headers.m4 (AC_HEADER_DIRENT): Use AC_SEARCH_LIBS, not AC_CHECK_LIB, so that we don't use -ldir or -lx if we don't need it. * lib/autoconf/specific.m4 (AC_ISC_POSIX): Replace the old, crufty version with the version used by fileutils 4.1, except use AC_SEARCH_LIBS, not AC_CHECK_LIB, so that we don't use -lcposix if we don't need it. * doc/autoconf.texi (AC_ISC_POSIX): Describe new behavior. 2001-09-13 Akim Demaille * tests/base.at, tests/m4sh.at: Be sure to issue the bangshe line _first_. Reported by Gerrit P. Haase. 2001-09-13 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Reset `AT_victims' so that m4_defn'ing is valid. 2001-09-13 Akim Demaille * lib/m4sugar/m4sugar.m4 (m4_append_uniq): New. * lib/autotest/general.m4 (AT_VICTIMS, AT_KEYWORDS, _AT_CLEANUP_FILE): Use it. 2001-09-13 Akim Demaille * lib/m4sugar/m4sugar.m4 (_AS_QUOTE_IFELSE, _AS_BOX_INDIR): Use m4_match. (m4_re_escape): New. * lib/autoconf/status.m4 (AC_CONFIG_IF_MEMBER): Use it. * lib/autoconf/general.m4 (AC_CACHE_SAVE): Use m4_match. * lib/autoconf/status.m4 (AC_CONFIG_IF_MEMBER, AC_CONFIG_LINKS): Likewise. * lib/autoconf/types.m4 (_AC_CHECK_TYPE_REPLACEMENT_TYPE_P) (_AC_CHECK_TYPE_MAYBE_TYPE_P, AC_CHECK_MEMBER): Likewise. * lib/autotest/general.m4 (AT_INIT): Rename AT_TESTS_ALL as AT_tests_all for consistency. Set at_victims. (AT_VICTIMS): Similar to AT_KEYWORDS. (_AT_CLEANUP_FILE_IF): Use m4_match and m4_re_escape. 2001-09-13 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Fix stupid bugs. 2001-09-13 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Create and remove `$as_me.[0-9]+' instead of `debug-[0-9]+.sh', so that multiple test suites can cohabit. 2001-09-13 Akim Demaille * tests/mktests.sh: Don't output banners for empty test files. 2001-09-13 Akim Demaille Test suites can be run independently of configure. * lib/m4sugar/m4sh.m4 (_AS_ECHO, _AS_ECHO_N_PREPARE): New. * lib/autoconf/programs.m4 (_AC_PROG_ECHO): Remove. * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Adjust: AC_SUBST ECHO_N etc. * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't ask for at_n and at_c. * lib/autotest/general.m4: Use ECHO_*. 2001-09-13 Akim Demaille * bin/ifnames.in: Rewrite in Perl. * configure.ac: Don't look for AWK. * tests/tools.at (AWK portability): Remove. (Syntax of the shell scripts): Don't check ifnames. (AT_CHECK_PERL_SYNTAX): New. (Syntax of the Perl scripts): Check ifnames. * tests/ifnames: New. 2001-09-13 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Let --keywords also match test group titles. * tests/atspecific.m4 (AT_CHECK_AU_MACRO): AT_KEYWORDS(autoupdate). Remove all the other keywords. 2001-09-10 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Remove the diversion HELP and SETUP: no longer used. Support -k, --keywords. : Be `no', `short', or `long'. : New variable. (AT_KEYWORDS): New. (AT_CLEANUP_FILE_IFELSE, AT_CLEANUP_FILE): Rename as... (_AT_CLEANUP_FILE_IF, _AT_CLEANUP_FILE): these. (_AT_CLEANUP_FILE_IF): Simplify the regexp. (AT_SETUP): Reset AT_line, AT_keywords, AT_description. No longer fill the HELP diversion. (AT_CLEANUP): Use them. * lib/m4sugar/m4sugar.m4 (m4_append): Support a separator. (m4_list_append): Remove. Spread a few keywords in the Autoconf test suite. 2001-09-10 Akim Demaille * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Don't pass PATH_SEPARATOR, let M4sh compute it. * lib/m4sugar/m4sh.m4 (_AS_PATH_SEPARATOR_PREPARE): New. * lib/autoconf/programs.m4 (AC_SHELL_PATH_WALK): Use PATH_SEPARATOR. Move to... * lib/m4sugar/m4sh.m4 (_AS_PATH_WALK): Here. Simplify when the path is not a literal. (AS_UNAME): Use it to report PATH. * lib/autoconf/general.m4 (_AC_INIT_PREPARE_FS_SEPARATORS): Remove. (_AC_INIT_DEFAULTS): AC_SUBST PATH_SEPARATOR. * lib/autoconf/programs.m4 (AC_PROG_INSTALL): Use _AS_PATH_WALK. * lib/autotest/general.m4 (AT_INIT): Use _AS_PATH_WALK to normalize the path, and to look for victims. * tests/semantics.at (AC_PATH_PROG & AC_PATH_PROGS) (AC_CHECK_PROG & AC_CHECK_PROGS): Use PATH_SEPARATOR. 2001-09-07 Akim Demaille * bin/autom4te.in (&handle_m4): `< /dev/null' so that GNU M4 1.5 doesn't neutralize SIGINT, making autoconf etc. non interruptible. * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): Move the package related variables into `at_package_*'. * lib/autotest/general.m4 (AT_VICTIMS): New. (AT_INIT): Adjust for stand-alone/embedded test suites. (AS_MESSAGE_LOG_FD): Define and use it. * tests/suite.at (AT_VICTIMS): Use it. * tests/tools.at (autoupdating AC_PREREQ): Don't depend upon at_version. 2001-09-07 Akim Demaille Move toward possibly stand-alone test suites. * lib/autotest/general.m4: Stop displaying srcdir everywhere as, in addition, it introduces useless differences in logs. (AT_INIT): Let atconfig and atlocal be both optional. Adjust PATH computation. * lib/m4sugar/m4sh.m4 (AS_UNAME): More readable display of PATH. 2001-09-07 Akim Demaille * lib/autoconf/Makefile.am (autoconf.m4f): Depends upon m4sugar/version.m4. 2001-09-05 Akim Demaille * lib/autoconf/c.m4 (AC_LANG_BOOL_COMPILE_TRY(C)): Use `_array_' to avoid GCC warnings. From Uwe Seimet. 2001-09-05 Akim Demaille * bin/autom4te.in: --language is -l, not -s. 2001-09-05 Akim Demaille Be ready to handle filenames as stupid as `dnl.at', for if even the maintainer is dumb enough to do that... * lib/autotest/general.m4 (AT_SETUP, AT_LINE): Demonstrates your excellence in M4 quotation: consider `__file__' is active. And BTW, when invoking m4, pass the --include in the right order: the wrong one. * bin/autom4te.in, bin/autoupdate.in: Use reverse when kingtal to 4m. 2001-09-05 Akim Demaille * lib/Autom4te/XFile.pm: New lib file. * bin/autoupdate.in, bin/autoscan.pl, bin/autom4te.in, * bin/autoheader.in: Use it. 2001-09-05 Akim Demaille * bin/autoupdate.in (&handle_m4_macros) : Undefine iff defined. 2001-09-05 Akim Demaille * lib/Autom4te/General.pm (&getopt): Work around the `-' Getopt bug. * bin/autoheader.in, bin/autoupdate.in (&parse_args): Adjust. * bin/autoscan.in: Use `getopt' and `find_files' etc. Add -I, --include support. * doc/autoconf.texi (autoscan Invocation): Adjust. 2001-09-05 Akim Demaille CVS GNU M4 doesn't like `undefine(undefined)'. * bin/autoupdate.in (&handle_m4_macros, &handle_autoconf_macros): New, extracted from main. Use IO::File wherever possible. (input.m4): Be constant, use -I instead of hard coding $tmp. Therefore be a quoted heredoc. Don't invoke `_au_disable', since ac was not loaded, but just `unm4.m4'. 2001-08-31 Akim Demaille Version 2.52d. 2001-08-31 Akim Demaille * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): Fix the previous patch. * tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Can create `config.hin~'. 2001-08-31 Akim Demaille * lib/autoconf/status.m4 (_AC_OUTPUT_CONFIG_STATUS): DU 5.0 has serious problems handling heredocs in heredocs. Reported by Nicolas Joly. 2001-08-31 Akim Demaille * doc/autoconf.texi: Don't promote non `m4_*' M4 macros. (Making testsuite Scripts): Update. 2001-08-31 Akim Demaille * lib/Makefile.am (CLEANFILES): Add autom4te.cfg. 2001-08-31 Akim Demaille * doc/autoconf.texi (Quadrigraphs): Document `@&t@'. (testsuite Scripts): There is no such thing as `atconfig.in'. And actually one diagram is missing: test suite runtime. 2001-08-31 Akim Demaille * lib/Autom4te/General.pm (&find_file): Browse the includes in the inverse order. 2001-08-31 Akim Demaille * bin/autoupdate.in (@include): `installcheck' revealed the path to m4sugar was lacking! 2001-08-31 Akim Demaille * man/Makefile.am (.x.1): We really have to pass autom4te_perllibdir. 2001-08-31 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Don't pass all the args to debug scripts, in particular passing explicitly listed tests to run is stupid. 2001-08-31 Akim Demaille * bin/autom4te.in (&parse_args): Strip `.' from `@include'. * bin/autoupdate.in: Use --include, -I, and --force, -f, too. Use directly autom4te, not autoconf. * tests/autoupdate: $top_srcdir/lib is needed too for melt files. 2001-08-31 Akim Demaille * tests/semantics.at (AC_C_BIGENDIAN): Missing eol. * bin/autoheader.in (%symbol): Strip arguments of macros. 2001-08-31 Akim Demaille * doc/autoconf.texi: Catch up -I, --include changes. 2001-08-31 Akim Demaille * bin/autom4te.in (&parse_args): Die on unknown languages. * bin/autoheader.in: Run directly autom4te --mode=autoconf, no need for autoconf. Promote --include over --macrodir and other obsolete options. 2001-08-31 Akim Demaille * lib/Autom4te/General.pm ($version, $help, &getopt): New. * bin/autoupdate.in, bin/autoheader.in, bin/autom4te.in: Use them. * bin/autom4te.in ($autoconf): Pass --force. `print $out' doesn't print `$_' but `$out'. * tests/tools.at (Syntax of the Perl scripts): Pass the lib dir. (autoheader): Pass --force since the test suite goes too fast for the time stamps. Adjust to the new autoheader messages. 2001-08-31 Akim Demaille * bin/autoheader.in: Handle the acconfig.h etc. junk files. Check the completeness of the #template. * lib/Autom4te/General.pm (&update_file): s/remove/unlink/. * tests/semantics.at (AC_C_BIGENDIAN): Adjust AT_CHECK_AUTOHEADER invocation. 2001-08-31 Akim Demaille * lib/Autom4te/General.pm (&find_file, &update_file): New. * bin/autoupdate.in, bin/autoheader.in: Adjust. Drop AC_MACRODIR dead for real. * tests/atspecific.m4 (AT_CHECK_AUTOHEADER): Now autoheader says `autoheader: `config.hin' is created'. * tests/tools.at (Syntax of the Perl scripts): Check autoheader. 2001-08-31 Akim Demaille * bin/autoheader.in: Rewrite in Perl. * tests/autoheader: Adjust. 2001-08-31 Akim Demaille * bin/autoconf.in (--include, -I): New option. Map --localdir, --autoconf-dir onto it. Forward autom4te's options instead of interpreting them. * bin/autoconf.in, bin/autoheader.in (AC_MACRODIR, autoconf_dir): There is no such envvar since the inception of autom4te.cfg. * bin/autom4te.in (&parse_args): Uniquify `@include'. * bin/autoupdate.in: Adjust, and perform more control. * tests/atspecific.m4 (AT_CHECK_AUTOCONF): Adjust. * tests/autoconf: Dittowise. 2001-08-31 Akim Demaille * bin/autoconf.in: Don't bother with `acsite.m4' and `aclocal.m4'. * bin/autom4te.in (&find_file): Support `FILE?' standing for optionally `FILE'. Use -e, not -f, since /dev/null for instance is OK. (&parse_args): Adjust. * lib/autom4te.in (Autoconf): Add `acsite.m4?' and `aclocal.m4?'. 2001-08-31 Akim Demaille * configure.ac: Also find tested executables in bin. * bin/autoconf.in, bin/autoheader.in, bin/autoreconf.in, * bin/autoscan.in, autoupdate.in: Use exclusively the name of the installed peer executables, only PATH is allowed to resolve it. Pass `autoconf_dir' via options, not via invisible envvars. * lib/Autom4te/General.pm (&find_peer): Remove. * lib/autotest/general.m4 (AT_INIT): `AUTOTEST_PATH=a:b' gives `abuild:asrc:bbuild:bsrc', not `abuild:bbuild:asrc:bsrc'. * man/Makefile.am: Let help2man rely on PATH instead of trying to find the executables for it. * tests/Makefile.am: Major cleanup. Too lazy to document... * tests/atlocal.in: Remove all the obscure envvar manipulations. We only need PERL. * tests/atspecific.m4, tests/tools.at: Passing --localdir is indeed related to running the test suite, while passing --autoconf-dir and others is related to running non installed Autoconf executables. So don't do that, leave it to... * tests/autoconf, tests/autoheader, tests/autom4te, tests/autoupdate, * tests/autoscan: New. * tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): Don't refer to library files: rely on --language. 2001-08-29 Akim Demaille * bin/autom4te.in, lib/autom4te.in, bin/autoconf.in: s/--set/--language/. 2001-08-29 Akim Demaille * doc/autoconf.texi: Strip the @nodes. Suggested by Paul Eggert. (Initializing configure): Typo. 2001-08-29 Akim Demaille * bin/autom4te.in (&handle_output): s/@__@/@&t@/. Suggested by Paul Eggert. 2001-08-29 Akim Demaille * Makefile.maint (do-po-update): Wget refuses to overwrite files: download in a tmp dir. 2001-08-29 Akim Demaille * lib/autotest/general.m4: s/AT-devnull/devnull/ since there are case insensitive OSes out there :( From Tim Van Holder. 2001-08-29 Akim Demaille * lib/autom4te.in: New. * lib/Makefile.am (edit, autom4te.cfg): New. * bin/autom4te.in (BEGIN): Simplify. Rely on `AC_MACRODIR' in addition of `autom4te_perllibdir'. (&load_configuration): New. Use it. (&parse_args): Support --mode, --set, and --melt. * bin/autoconf.in: Simplify and adjust. * tests/Makefile.am (AUTOMAKE): Use --set. * tests/atlocal.in: Adjust. * BUGS: distcheck and check are weak. 2001-08-29 Akim Demaille * lib/autotest/general.m4: Use foo=`(command) 2>/dev/null` not foo=`command` 2>/dev/null (at-devnull): Rename as... (AT-devnull): this. (--clean): Remove AT-* files too. * doc/autoconf.texi (Limitations of Usual Tools): Document `date'. Reported by Nicolas Joly. 2001-08-28 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PREPARE): Don't use single quotes inside single quotes. Reported by Nicolas Joly. 2001-08-28 Kevin Ryde * doc/autoconf.texi (Function Portability): Mention C right shifts. 2001-08-27 Tim Van Holder * lib/autotest/general.m4: Reword some messages. (AT_INIT): Check for the `times' builtin before using it. Support test ranges as arguments to the testsuite. Have -e imply -d as the help text suggested. 2001-08-27 Akim Demaille * Makefile.maint: Formatting changes. (do-po-update, po-update, cvs-update, update): New targets. (AMTAR): Remove. 2001-08-27 Akim Demaille * lib/autotest/general.m4 (AT_INIT) : Remove. : New. Pass it to debug-*.sh scripts. : May contain absolute dir names. 2001-08-27 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Log the command line. Support `VAR=VAL' as arguments. Compute PATH _after_ the options processing, so that AUTOTEST_PATH may be set via the command line. 2001-08-27 Akim Demaille * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): $2 defaults to $1. * lib/autotest/autotest.m4 (AT_INIT): Expand AUTOTEST_PATH into first the build dirs, then the src dirs. * configure.ac (AC_CONFIG_TESTDIR): Adjust. 2001-08-27 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Output the definition of at_data_files earlier. (--clean, -c): New option. * tests/Makefile.am: Use this option. 2001-08-27 Akim Demaille * lib/autoconf/status.m4 (_AC_SRCPATHS): Rename `ac_dots' as `ac_top_builddir' to mimic Automake's vocabulary, which much more readable. Adjust callers. * doc/autoconf.texi (Configuration Actions): Document the vars available in commands. Emphasize the risks of collisions in init-cmds. 2001-08-27 Akim Demaille * doc/autoconf.texi (Input) : Move to.. (Initializing configure): this new node. 2001-08-27 Akim Demaille * Makefile.am (EXTRA_DIST): INSTALL.txt is a dead hack. 2001-08-27 Akim Demaille * m4/atconfig.m4 (AT_CONFIG): Remove, replaced by... * lib/autoconf/autotest.m4 (AC_CONFIG_TESTDIR): this. New file. * m4/Makefile.am (EXTRA_DIST): Oops, adjust... 2001-08-27 Akim Demaille * lib/autoconf/general.m4 (AU_DEFINE, AU_DEFUN, AU_ALIAS): Move to... * lib/autoconf/autoheader.m4: this new file. * lib/autoconf/general.m4 (AH_OUTPUT, AH_VERBATIM) (_AH_VERBATIM_OLD, AH_TEMPLATE, _AH_TEMPLATE_OLD, AH_TOP, AH_BOTTOM): Move to... * lib/autoconf/autoupdate.m4: this new file. 2001-08-27 Akim Demaille * lib/autoconf/status.m4 (_AC_SRCPATHS): New. (_AC_OUTPUT_LINKS, _AC_OUTPUT_FILES, _AC_OUTPUT_SUBDIRS): Use it. Standardize the var names (ac_sub_srcdir -> ac_srcdir, ac_subdir -> ac_dir). (_AC_OUTPUT_HEADERS): AS_DIRNAME always return a dir name. * lib/autoconf/general.m4 (_AC_INIT_HELP): Ditto. 2001-08-27 Akim Demaille * lib/autoconf/autoconf.m4 (AC_CONFIG_COMMANDS) (AC_CONFIG_COMMANDS_POST, AC_CONFIG_COMMANDS_PRE, AC_CONFIG_FILES) (AC_CONFIG_HEADER, AC_CONFIG_HEADERS, AC_CONFIG_IF_MEMBER) (AC_CONFIG_LINKS, AC_CONFIG_SUBDIRS, AC_FILE_DEPENDENCY_TRACE) (AC_LINK_FILES, AC_LIST_COMMANDS, AC_LIST_COMMANDS_COMMANDS) (AC_LIST_FILES, AC_LIST_FILES_COMMANDS, AC_LIST_HEADERS) (AC_LIST_HEADERS_COMMANDS, AC_LIST_LINKS, AC_LIST_LINKS_COMMANDS) (AC_OUTPUT, AC_OUTPUT_COMMANDS, AC_OUTPUT_COMMANDS_POST) (AC_OUTPUT_COMMANDS_PRE, AC_OUTPUT_MAKE_DEFS) (_AC_CONFIG_COMMANDS_INIT, _AC_CONFIG_DEPENDENCIES) (_AC_CONFIG_DEPENDENCY, _AC_CONFIG_UNIQUE, _AC_LINK_FILES_CNT) (_AC_LIST_SUBDIRS, _AC_OUTPUT_COMMANDS, _AC_OUTPUT_COMMANDS_CNT) (_AC_OUTPUT_COMMANDS_INIT, _AC_OUTPUT_CONFIG_STATUS) (_AC_OUTPUT_FILES, _AC_OUTPUT_HEADERS, _AC_OUTPUT_LINKS) (_AC_OUTPUT_SUBDIRS): Move to... * lib/autoconf/status.m4: this new file. * lib/autoconf/general.m4, lib/autoconf/Makefile.am: Adjust. * tests/Makefile.am, tests/suite.at: Adjust. 2001-08-27 Akim Demaille Automake 1.5. * Makefile.am (AUTOMAKE_OPTIONS): Add 1.5 and dist-bzip2. (AMTAR): Help automake define it. (INSTALL, install-data-hook): The INSTALL.txt trick is no longer needed, 1.5 can have a macro and a target with the same name. * m4/auxdir.m4, m4/cond.m4, m4/depend.m4, m4/install-sh.m4, * m4/strip.m4: New. * m4/init.m4, m4/sanity.m4: Update. * doc/Makefile.am (CLEANFILES): 1.5 knows the texi2dvi files. * lib/autoconf/Makefile.am, lib/autotest/Makefile.am, * lib/m4sugar/Makefile.am, lib/autoscan/Makefile.am, * lib/Autom4te/Makefile.am, man/Makefile.am: Use dist/nodist. 2001-08-27 Akim Demaille Provide a mean to ``AC_PREREQ'' for M4sugar, M4sh and Autotest. * lib/autoconf/version.in: Remove. * lib/m4sugar/version.in: New. * lib/m4sugar/m4sugar.m4 (m4_acversion, m4_version_prereq): New. Adjust callers. * bin/autoupdate.in: Distinguish M4sugar vs. Autoconf macros by the name of the directory they're in, instead of the filename, since version.m4 is now in m4sugar, but m4_acversion must not be classified as an Autoconf macro. ($input_m4): Don't qualify the path to m4sugar. Rather, pass autoconf_dir to m4. * tests/Makefile.am (testsuite): Remove -I top_srcdir, unneeded. * tests/suite.at: Require 2.52c. 2001-08-27 Akim Demaille testsuite.log should include config.log. * lib/autotest/autotest.m4: New. * lib/autotest/general.m4, tests/atspecific.m4: Adjust. * tests/suite.at : Adjust. (AT_INIT): Log config.log. * lib/m4sugar/m4sugar.m4 (m4_text_box): New. * lib/m4sugar/m4sh.m4 (_AS_BOX_LITERAL): Adjust. * lib/autoconf/general.m4 (_AC_INIT_CONFIG_LOG): Use them. (_AC_INIT_PREPARE): Fix the incredibly messy and buggy completion of config.log on traps. (_AC_OUTPUT_CONFIG_STATUS): Use AS_BOX. Use consistently `_ACEOF' for configure's here docs, and `_CSEOF' for config.status'. Open the log as soon as possible. Use the same log introduction as configure's. 2001-08-22 Paul Eggert * doc/autoconf.texi (Indices): New node. Move indices out of the top level menu and into this submenu. 2001-08-22 Akim Demaille * lib/autoconf/programs.m4 (_AC_PROG_LEX_YYTEXT_DECL): Use AC_TRY_COMMAND. (AC_DECL_YYTEXT): Fix the previous patch: it points to AC_PROG_LEX. 2001-08-22 Akim Demaille * lib/autoconf/general.m4 (AC_SHELL_PATH_WALK, AC_CHECK_PROG) (AC_CHECK_PROGS, AC_PATH_PROG, AC_PATH_PROGS, AC_CHECK_TOOL_PREFIX) (AC_PATH_TOOL, AC_CHECK_TOOL, AC_CHECK_TOOLS): Move to... * lib/autoconf/programs.m4: here. * lib/autoconf/specific.m4 (_AC_PROG_ECHO, AC_PROG_MAKE_SET) (AC_PROG_RANLIB, AC_PROG_YACC, AC_PROG_LEX, _AC_DECL_YYTEXT) (AC_PROG_INSTALL, AC_PROG_LN_S, AC_RSH): Move to... * lib/autoconf/programs.m4: here. (_AC_DECL_YYTEXT): Rename as... (_AC_PROG_LEX_YYTEXT_DECL): this. * lib/autoconf/autoconf.m4, lib/autoconf/Makefile.am * tests/Makefile.am, tests/suite.am: Adjust. 2001-08-22 Akim Demaille * lib/autoconf/general.m4 (AC_LIST_MEMBER_OF, AC_LINKER_OPTION): Move to... * lib/autoconf/fortran.m4 (_AC_LIST_MEMBER_IF, _AC_LINKER_OPTION): here. * lib/autoconf/general.m4 (AC_TRY_LINK_FUNC): Move to... * lib/autoconf/functions.m4: here. * lib/autoconf/general.m4 (AC_SEARCH_LIBS, AC_CHECK_LIB) (AH_CHECK_LIB): Move to... * lib/autoconf/libs: this new file. * lib/autoconf/specific.m4 (_AC_PATH_X_XMKMF, _AC_PATH_X_DIRECT) (_AC_PATH_X, AC_PATH_X, AC_PATH_XTRA): Move to... * lib/autoconf/libs.m4: here. * lib/autoconf/autoconf.m4, lib/autoconf/Makefile.am: Adjust. 2001-08-22 Akim Demaille * lib/m4sugar/m4sh.m4 (AS_MKDIR_P): Fail if fails. * lib/autoconf/general.m4 (_AC_OUTPUT_SUBDIRS): Adjust. (AC_SITE_LOAD): Better logging of config.site. 2001-08-20 Akim Demaille * configure.ac (AT_CONFIG): Fix the path. * m4/atconfig.m4 (AT_CONFIG): Don't use EOF but ATEOF so that 2.52 can be used. 2001-08-20 Alexandre Duret-Lutz * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Prepare the cross-compile program with AC_LANG_PROGRAM before feeding it to AC_COMPILE_IFELSE. Cleanup grep usage. 2001-08-20 Akim Demaille * ChangeLog, ChangeLog.0, ChangeLog.1, ChangeLog.2, AUTHORS, BUGS, * NEWS, README, README-alpha, TODO, tests/README: This package is `Autoconf', not `autoconf' (the executable). 2001-08-20 Akim Demaille Info readers seem to need `Index' in the index node title :( * doc/autoconf.texi: Reverse the 2001-08-15 change which simplified index node names. 2001-08-20 Akim Demaille * lib/autoconf/general.m4 (_AC_INIT_PACKAGE): Warn if the arguments are not literals. * doc/autoconf.texi (Input) : Arguments must be literals. Specify the output variables, and macros defined. 2001-08-20 Akim Demaille * doc/autoconf.texi (Examining Declarations) : (Examining Syntax) (Examining Libraries) (Test Programs) : These macros double quote some of their arguments. Reported by Werner Lemberg. 2001-08-20 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Compute top_builddir, top_srcdir and srcdir from at_topbuild_2_topsrc and at_testdir. Load atlocal late enough to dump it in the log. * m4/atconfig.m4 (AT_CONFIG): Pass them to atconfig. 2001-08-20 Akim Demaille * tests/torture.at (Configuring subdirectories): New test. * lib/autoconf/general.m4 (_AC_INIT_SRCDIR): Say what you are looking for. * m4/atconfig.m4: Be sure the let $[0] be expandable. (top_srcdir): Fix its computation. 2001-08-20 Akim Demaille * lib/autoconf/general.m4 (_AC_OUTPUT_COMMANDS): Say what you do. * m4/atconfig.m4 (AT_CONFIG): $1 is now the directory where the test suite lives. Create `atconfig' automagically. Configure atlocal.in if present. * tests/atconfig.in: Remove. * tests/atlocal.in: New. * tests/Makefile.am: Adjust. 2001-08-20 Akim Demaille Huh!?!?! There are still some user EOF tags used, which prevents their use in AC_CONFIG_COMMANDS for instance... * lib/autoconf/general.m4, lib/autoconf/specific.m4, * lib/autotest/general.m4: Rename the EOF tags as `_ACEOF', `_CSEOF', or `_ATEOF', as appropriate. * lib/m4sugar/Makefile.am, lib/autoconf/Makefile.am, * lib/autotest/Makefile.am (check-local): Enforce this constraint. 2001-08-20 Akim Demaille * tests/base.at, tests/m4sh.at, tests/m4sugar.at, * tests/semantics.at, tests/tools.at, tests/torture.at: s/^AT_DATA\(([^][]+),/AT_DATA([$1],/. 2001-08-20 Akim Demaille Autotest invokes M4sh's initialization. * lib/autotest/general.m4: Adjust the diversion names. (AT_INIT): Run AS_INIT. Use the BINSH diversion to invoke /bin/sh. * tests/base.at, tests/m4sh.at, tests/m4sugar.at, tests/tools.at: * tests/torture.at: Respect M4sugar and M4sh macro name spaces. 2001-08-20 Akim Demaille Let M4sh have its own diversions. * lib/autoconf/general.m4 (_m4_divert(BINSH), _m4_divert(REVISION)) (_m4_divert(NOTICE)): Rename as... * lib/m4sugar/m4msh.m4 (_m4_divert(BINSH), _m4_divert(HEADER-REVISION)) (_m4_divert(HEADER-COMMENT)): these. (_m4_divert(HEADER-COPYRIGHT), _m4_divert(HEADER-COPYRIGHT)): New. (_m4_divert(NOTICE)): New, for Libtool. * lib/autoconf/general.m4 (_m4_divert(PREPARE)): Remove, replaced long ago with `_m4_divert(GROW)'. (AC_COPYRIGHT, AC_REVISION, _AC_INIT_NOTICE): Adjust. 2001-08-20 Akim Demaille * tests/base.at, tests/compile.at, tests/foreign.at, * tests/m4sh.at, tests/m4sugar.at, tests/mktests.sh, * tests/semantics.at, tests/suite.at, tests/tools.at, * tests/torture.at: Ask Autotest mode, not Autoconf mode. 2001-08-20 Akim Demaille * bin/autom4te.in (handle_output): Handle @__@. 2001-08-20 Akim Demaille * lib/autoconf/autoconf.m4, lib/autoconf/oldnames.m4, * lib/autotest/general.m4: Adjust the license. 2001-08-17 Paul Eggert * doc/autoconf.texi (Function Portability): Mention snprintf, following up on a suggestion by Kevin Ryde. 2001-08-17 Akim Demaille * doc/install.texi, doc/autoconf.texi: Use `autoconf', not `autoconf_manual', as texinfo.tex 2001-06-21.10 chokes on it. 2001-08-17 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Refer to `$as_me.log', not `$0.log' as for projects where testsuite is in src, we'd have testsuite.log created in src. 2001-08-17 Akim Demaille * bin/autom4te.in (&parse_args): Recognize --normalize. 2001-08-17 Akim Demaille Start implementing the AC_CHECK_HEADER transition scheme. * lib/autoconf/headers.m4 (_AC_CHECK_HEADER_NEW) (_AC_CHECK_HEADER_OLD, _AC_CHECK_HEADER_MONGREL): New. (AC_CHECK_HEADER): Use them. 2001-08-17 Akim Demaille * doc/autoconf.texi: Work around Texinfo buglets. (Transformation Rules): One example is enough, users are expected to have their brains on. And BTW, use DESTDIR. (dvar): New macro. Use it. 2001-08-17 Akim Demaille * doc/autoconf.texi (Writing testsuite.at) : Complete. * lib/autotest/general.m4 (AT_INIT): Use the relative dir when looking for ChangeLogs. 2001-08-17 Akim Demaille * bin/autom4te.in: --normalize is a new option. * bin/autoconf.in: Use it. 2001-08-17 Akim Demaille * bin/Makefile.am, lib/Autom4te/Makefile.am, lib/autoconf/Makefile.am * lib/autotest/Makefile.am, lib/m4sugar/Makefile.am: Add TAGS support. 2001-08-16 Paul Eggert * doc/autoconf.texi, doc/install.texi: Put copyright notice at start, not at end. 2001-08-15 Akim Demaille * doc/Makefile.am (fu): New index, can't use fn because of defmac. Use it. 2001-08-15 Akim Demaille * doc/autoconf.texi (pr): New index. (prindex, findex): Use, merge, and output them. (Environment Variable Index, Output Variable Index) (Preprocessor Symbol Index, Autoconf Macro Index, M4 Macro Index) (Autotest Macro Index): Rename as... (Environment Variables, Output Variables,Preprocessor Symbols) (Autoconf Macros, M4 Macros, Autotest Macros): these. * doc/install.texi: Use @command. (Environment Variables): Rename as... (Defining Variables): this. 2001-08-15 Akim Demaille * doc/autoconf.texi (Function Portability): sprintf's return value. From Kevin Ryde. 2001-08-15 Akim Demaille * Makefile.maint (CVS): New. (local-check): Run changelog-check. last. (alpha): Don't depend upon local-check, since... (cvs-dist): depends upon it. 2001-08-15 Tim Van Holder * tests/Makefile.am: Use a clean-local rule to remove autom4te.cache (it's a directory, not a file. * Makefile.am: Ditto (but maintainer-clean-local). 2001-08-15 Akim Demaille * bin/autom4te.in (@m4_warning): New. (&handle_m4): Use it. * tests/m4sugar.at (m4_warn): Pass `-f' to autom4te to ensure the warnings are issued at each run. * tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): M4sugar is in the src tree. 2001-08-15 Akim Demaille * tests/atspecific.m4 (AT_CHECK_AUTOUPDATE): Perl is now required: don't waste time running `autoupdate --version' works. * tests/tools.at (autoupdating AC_PREREQ): Likewise. 2001-08-13 Akim Demaille * doc/autoconf.texi (ma): Rename this index as... (ac): this. 2001-08-13 Akim Demaille * Makefile.am: Remove dead code and dead comments. (pdf, html): New targets. * doc/autoconf.texi (Using Autotest): New chapter. * doc/Makefile.am (pdf): New targets. (CLEANFILES): Adjust. 2001-08-13 Akim Demaille * lib/autotest/general.m4 (AT_INIT): Log the start/stop dates and duration of the test suite. 2001-08-12 Alexandre Duret-Lutz * tests/semantics.at (AC_C_BIGENDIAN): Explicitelly save and load endianness for comparison instead of relying on AT_CHECK_ENV. 2001-08-11 Paul Eggert * doc/autoconf.texi, doc/install.texi: Add a copyright notice to the INSTALL file. 2001-08-11 Paul Eggert * NEWS: The autoconf manual now is distributed under the terms of the GNU Free Documentation License. * doc/autoconf.texi: Switch from old style copyright notice to FDL. Add an appendix "Copying This Manual" for the FDL. * doc/fdl.texi: New file, from . * doc/Makefile.am (autoconf_TEXINFOS): Add fdl.texi. 2001-08-10 Paul Eggert * AUTHORS, BUGS, ChangeLog, ChangeLog.0, ChangeLog.1, ChangeLog.2, GNUmakefile, Makefile.maint, NEWS, README, README-alpha, TODO, configure.ac, lib/autoconf/Makefile.am, m4/atconfig.m4, m4/init.m4, m4/m4.m4, m4/missing.m4, m4/sanity.m4, tests/README, tests/aclocal.m4, tests/atspecific.m4, tests/base.at, tests/compile.at, tests/foreign.at, tests/m4sh.at, tests/m4sugar.at, tests/semantics.at, tests/suite.at, tests/tools.at, tests/torture.at: Add copyright notice. * tests/mktests.sh: Update year in copyright notice. 2001-08-12 Alexandre Duret-Lutz * tests/semantics.at (AC_C_BIGENDIAN): New test. 2001-08-11 Alexandre Duret-Lutz * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Handle ACTION-IF-TRUE, ACTION-IF-FALSE, and ACTION-IF-UNKNOWN. * doc/autoconf.texi (C Compiler Characteristics): Update documentation for AC_C_BIGENDIAN. 2001-08-11 Alexandre Duret-Lutz * lib/autoconf/c.m4 (AC_C_BIGENDIAN): Guess endianness by grep'ing magic values from an object file when cross-compiling. Based on code by Guido Draheim . 2001-08-10 Akim Demaille * bin/autom4te.in (&handle_output): Don't use `grep' with side effects. Suggested by Russ Allbery. 2001-08-10 Ralf Corsepius * lib/autoconf/general.m4 (_AC_OUTPUT_SUBDIRS): Propagate the current $prefix to the sub-configures. 2001-08-09 Tim Van Holder * lib/autoconf/lang.m4: Ignore *.xSYM when looking for an executable extension (needed on BeOS). Reported by Guido van Rossum. 2001-08-09 Akim Demaille * bin/autom4te.in ($icache): Load it only if older than autom4te. 2001-08-07 Akim Demaille * lib/autotest/general.m4 (AT_INIT): All the `at-*' are to be removed. (at-setup-line): Huh? Be a variable `at_setup_line', not a file. No need to remove the files before and after the each test, before each test and at the end of the suite is enough. Display only the children `times', not the shell's. If the test failed or was skipped, at-times is not available. 2001-08-07 Akim Demaille Always produce testsuite.log, including when there are no failures. This helps getting information on skipped tests, and duration of the tests. Err, implement the latter btw. * lib/autotest/general.m4 (AT_INIT): Set up fd 6 for the log. Dump information on the first run of each test. (AT_CLEANUP): Create `at-times' containing the duration of the test group. 2001-08-07 Akim Demaille The use of `dumpstat' revealed that `len' was used although it should not. m4_text_wrap was using it, but in the Autoconf world where it is legal. Hence (i) test M4sh in its own world, not Autoconf's, and (ii), ahem, fix the bug :) * lib/autotest/general.m4: Be sure the set good quotes, as tracing does not like `' instead of []. (AT_INIT): Forbid `^_?AT_'. And don't output such tokens. * tests/Makefile.am (CLEANFILES): Add `script', `script.s4g', `script.as', and `autom4te.cache'. Remove `empty' and `macro' which are no longer used. * tests/atspecific.m4 (AT_CHECK_M4SUGAR, AT_CHECK_M4SH): New. * tests/m4sugar.at: Use it. * lib/m4sugar/m4sugar.m4: Use `m4_len' not `len'. 2001-08-07 Akim Demaille * bin/autoconf.in, bin/autoheader.in: --force, -f is a new option. 2001-08-07 Alexandre Duret-Lutz * bin/autom4te.in (handle_output): Typo in quadrigraph substitution. 2001-08-04 Akim Demaille * lib/autoconf/functions.m4 (AC_FUNC_ALLOCA, AC_FUNC_ERROR_AT_LINE) (AC_FUNC_FSEEKO, AC_FUNC_OBSTACK): Use AC_LANG_IFELSE, not AC_TRY_LINK. * lib/autoconf/headers.m4 (AC_HEADER_MAJOR): Likewise. * lib/autoconf/fortran.m4 (_AC_LANG_PROGRAM_C_F77_HOOKS) (AC_F77_MAIN): Likewise. 2001-08-04 Akim Demaille Don't rely on M4sugar outputting the patterns in files, since we might process the output _without_ running m4, hence without these files. * lib/m4sugar/m4sugar.m4 (m4_init): No need for `m4_tmpdir'. * bin/autom4te.in (@Request::includes): Remove, unused. (@Request::source): Rename as... (@Request::input): this. (@preselect): Add `m4_pattern_forbid' and `m4_pattern_allow'. (&handle_output): Fetch the patterns from the traces. `$forbidden' and `$allowed' are constant: use m//o. (&handle_m4): M4sugar no longer wants `m4_tmpdir'. (m4_pattern_forbid, m4_pattern_allow): Adjust for tracing only. 2001-08-04 Akim Demaille `autoconf && autoheader' is sped up. Now, speed up `autoheader && autoconf', i.e., in addition to caching traces, cache the output. * bin/autom4te.in (Request::cache): Rename as... (Request::id): this. ($cache, $icache, $tcache, $ocache): New. (&handle_m4): Save M4 output in the cache instead of $tmp. (&handle_output): Adjust. (&up_to_date_p): Check that the output cache is up to date too. (top level): Run `&handle_m4' iff force or the cache is invalid. Run `&handle_output' if the output cache is more recent. 2001-08-04 Akim Demaille * bin/autom4te.in ($force): New. (&parse_args, &print_usage): -f, --force is a new option. (&handle_output): CPP directives might have spaces after `#'. (&parse_args): The first file only can be frozen. 2001-08-04 Akim Demaille Don't let autom4te compute the `include' traces several times: first check that the trace cache file is up to date, and then compare its timestamp with that of the output. * bin/autom4te.in, bin/autoupdate.in, bin/autoscan.in: Normalize the preamble. Don't require 5.005 as Autom4te::General does it, and better yet (use `use', not `require'!). * lib/Autom4te/Struct.pm: Rename the last occurrences of Class::Struct as Autom4te::Struct. * lib/Autom4te/General.pm (File::stat): Use it. (&mtime): New, export it. * bin/autom4te.in: Use it. Declare `$req' is invalid if it is outdated. Don't declare it valid before saving it if something went wrong. 2001-08-04 Akim Demaille Autom4te shall not encode Autoconf data, and preselecting traces must be proposed to the users. * bin/autom4te.in (@required_trace): Remove. (@preselect): New. (&parse_args, &print_usage): -p, --preselect is a new option. (&up_to_date_p): Adjust. * bin/autoconf.in: Preselect some Autoconf macros. 2001-08-04 Akim Demaille * tests/tools.at (autoconf --trace: user macros): Check traces on macros invoked without arguments, and macros invoked with multiple lines arguments. 2001-08-03 Alexandre Duret-Lutz * bin/autom4te.in (handle_traces): Fix rewriting of traces without arguments. 2001-08-03 Akim Demaille * bin/autoconf.in ($@): Work around the usual sh bug. From Nicolas Joly. 2001-08-03 Akim Demaille Clean up the handling of the M4 builtins tracing exception. * bin/autom4te.in (Request::request): Don't complete M4 builtins trace requests. (@m4_builtins): Rename as... (@m4_builtin): this. (%m4_builtin_alternate_name): New. (&parse_args): Complete the trace requests with alternate names. (&handle_traces): Hence no longer do it here. (&trace_requests): Remove, unused. 2001-08-03 Akim Demaille * doc/autoconf.texi (Redefined M4 Macros): Document m4_exit, m4_if, and m4_wrap. 2001-08-03 Akim Demaille * lib/m4sugar/m4sugar.m4 (m4_init): Also forbid `_m4_*' tokens. (m4_divert_pop): Dump the whole diversion stack when a diversion mismatch happens. * bin/autom4te.in (&handle_output): Remember of the first occurrence of a possibly undefined macro, not the last. Complain about the possibly undefined macros in the same order as the appear in the output. * lib/autoconf/Makefile.am (autoconf.m4f): List its dependencies. * tests/tools.at (autoconf: forbidden tokens, basic) (autoconf: forbidden tokens, exceptions): No longer sort autoconf's stderr, as it is now deterministic. Check that `dnl' is caught. 2001-08-01 Akim Demaille * configure.ac: Bump to 2.52c. 2001-08-01 Akim Demaille Version 2.52b. * lib/Autom4te/Makefile.am (perllibdir): s/Autoconf/Autom4te/. 2001-08-01 Akim Demaille Version 2.52a. 2001-08-01 Akim Demaille * lib/Autom4te/General.pm: Use `carp' and `croak', not `warn' and `die'. (&END): New. * bin/autoconf.in, bin/autom4te.in, bin/autoupdate.in: Remove your `END', as `Autom4te::General::END' will be triggered. * bin/autoupdate.in, bin/autoscan.in: Improve error messages accuracy. * bin/autoupdate.in (File::Compare, File::Copy): Use them instead of system to run `mv', `rm', and `cmp'. 2001-08-01 Akim Demaille * lib/Autom4te/General.pm (&unique): New. * bin/autoscan.in (&output): Use it to issue trace requests once. 2001-08-01 Akim Demaille * lib/Autom4te/General.pm: New. * bin/autom4te.in (Autom4te::General): Use it. ($me, $tmp, $verbose, $debug, &mktmpdir, &verbose, &xsystem) (&find_configure_ac, &find_slave): Remove. * bin/autoscan.in: Likewise. * bin/autoupdate.in: Likewise. 2001-08-01 Akim Demaille * autoconf.in, autom4te.in, autoscan.in, ifnames.in, * autoheader.in, autoreconf.in, autoupdate.in: Move to... * bin: here, new directory. * lib/Autoconf: Rename as... * lib/Autom4te: this, to please case insensitive junkie OSes. 2001-08-01 Akim Demaille * autom4te.in ($m4): Handle the --nesting-limit. * autoconf.in (M4): Remove. 2001-08-01 Akim Demaille * autoconf.in ($AWK): Remove, no longer used. * test/tools.at: Use AT_CHECK_AUTOCONF. (AWK portability): Remove, for autoconf no longer uses AWK. (Syntax of the Perl scripts): New. * configure.ac: autoconf no longer needs an AWK with a good regexp engine. Use a static test on AC_PACKAGE_VERSION. * autom4te.in (&up_to_date_p): Output depends on the arguments. * lib/autoconf/Makefile.am: Ship version.m4, maintainer file. * tests/atconfig.in (PERL): New. 2001-08-01 Akim Demaille * lib/autoconf/lang.m4 (AC_LANG(C), AC_LANG_C, _AC_LANG_ABBREV(C)) (AC_LANG(C++), AC_LANG_CPLUSPLUS, _AC_LANG_ABBREV(C++)) (AC_LANG_SOURCE(C), AC_LANG_PROGRAM(C), AC_LANG_CALL(C)) (AC_LANG_FUNC_LINK_TRY(C), AC_LANG_BOOL_COMPILE_TRY(C)) (AC_LANG_INT_SAVE(C), _AC_ARG_VAR_CPPFLAGS, _AC_ARG_VAR_LDFLAGS) (AC_LANG_PREPROC(C), _AC_PROG_PREPROC_WORKS_IFELSE, AC_PROG_CPP) (AC_LANG_COMPILER(C), ac_cv_prog_gcc, AC_PROG_CC, _AC_PROG_CC_G) (AC_PROG_GCC_TRADITIONAL, AC_PROG_CC_C_O, AC_LANG_PREPROC(C++)) (AC_PROG_CXXCPP, AC_LANG_COMPILER(C++), ac_cv_prog_gxx) (AC_PROG_CXX, _AC_PROG_CXX_G, _AC_PROG_CXX_EXIT_DECLARATION) (AC_PROG_CC_STDC, AC_C_CROSS, AC_C_CHAR_UNSIGNED, AC_C_LONG_DOUBLE) (AC_C_BIGENDIAN, AC_C_INLINE, AC_C_CONST, AC_C_VOLATILE) (AC_C_STRINGIZE, AC_C_PROTOTYPES): Move to... * lib/autoconf/c.m4: here, new file. * lib/autoconf/lang.m4 (AC_LANG(Fortran 77), AC_LANG_FORTRAN77) (_AC_LANG_ABBREV(Fortran 77), AC_LANG_SOURCE(Fortran 77)) (AC_LANG_PROGRAM(Fortran 77), AC_LANG_CALL(Fortran 77)) (AC_LANG_PREPROC(Fortran 77), AC_LANG_COMPILER(Fortran 77)) (ac_cv_prog_g77, AC_PROG_F77, _AC_PROG_F77_G, AC_PROG_F77_C_O) (_AC_PROG_F77_V_OUTPUT, _AC_PROG_F77_V, AC_F77_LIBRARY_LDFLAGS) (AC_F77_DUMMY_MAIN, _AC_LANG_PROGRAM_C_F77_HOOKS, AC_F77_MAIN) (_AC_F77_NAME_MANGLING, AC_F77_NAME_MANGLING, AC_F77_WRAPPERS) (AC_F77_FUNC): Move to... * lib/autoconf/fortran.m4: here, new file. 2001-08-01 Akim Demaille * acfunctions.m4: Rename as... * lib/autoconf/functions.m4: this. * acgeneral.m4: Rename as... * lib/autoconf/general.m4: this. * acheaders.m4: Rename as... * lib/autoconf/headers.m4: this. * aclang.m4: Rename as... * lib/autoconf/lang.m4: this. * acoldnames.m4: Rename as... * lib/autoconf/oldnames.m4: this. * acspecific.m4: Rename as... * lib/autoconf/specific.m4: this. * actypes.m4: Rename as... * lib/autoconf/types.m4: this. * autoconf.m4: Rename as... * lib/autoconf/autoconf.m4: this. * m4sugar.m4: Rename as... * lib/m4sugar/m4sugar.m4: this. * m4sh.m4: Rename as... * lib/m4sugar/m4sh.m4: this. * tests/atgeneral.m4: Rename as... * lib/autotest/general.m4: this. * acfunctions: Rename as... * lib/autoscan/functions: this. * acheaders: Rename as... * lib/autoscan/headers: this. * acidentifiers: Rename as... * lib/autoscan/identifiers: this. * aclibraries: Rename as... * lib/autoscan/libraries: this. * acmakevars: Rename as... * lib/autoscan/makevars: this. * acprograms: Rename as... * lib/autoscan/programs: this. 2001-08-01 Akim Demaille * doc/autoconf.texi: Moving/deleting open files is not portable. Portability issues for `.' (source), and more information about sed. 2001-07-25 Steven G. Johnson * aclang.m4 (AC_F77_LIBRARY_LDFLAGS): Ignore -libmil (on Solaris), which has a special meaning and is not a reference to libibmil.a. Reported by Matteo Frigo. 2001-07-25 Pavel Roskin * autom4te.in (mktmpdir): Strip trailing newline from mktemp output. 2001-07-25 Akim Demaille * autoconf.in: Try to define the variables before using them. * autom4te.in ($perllibdir): Use `$autom4te_perllibdir' as envvar instead of `$perllibdir'. * tests/atconfig.in ($autom4te_perllibdir): Export it. 2001-07-25 Akim Demaille * autoconf.in (ac_LF_and_DOT): Remove, unused. 2001-07-24 Akim Demaille Let autoconf use autom4te for traces. * autoconf.in ($task, task trace): Remove, merely pass --trace to autom4te. * autoheader.in: Don't pass `-' to autoconf, rather, a tmp file. (Because I found no way for autom4te to accept `-'). * autom4te.in (&Request::request): Beware of M4 builtins. (END): Don't try to remove the content of an empty dir. (&parse_args): Default is `$f:$l:$n:$%', not `$f:$l:$n:$*'. (&handle_output): Set a default value to `$forbidden'. * autoupdate.in (&verbose, &xsystem): New, from autom4te.in. ($autoconf): Pass --debug and --verbose. * tests/atspecific.m4 (AT_CHECK_AUTOCONF): Clean up autom4te's cache. 2001-07-24 Akim Demaille Let autoconf use autom4te to create configure. * autoconf.in ($automate): New var. (task script): Use autom4te. * autom4te.in (File::Spec): Use it. (&find_file): New. (&parse_args): --warning is -W, not -w. Find the top level files. (&handle_m4): Pass the warnings flags. Don't report verbosely m4's failures, unless requested. (&handle_output): Don't complain for forbidden tokens in comments. Be sure to report all the forbidden tokens within a single line. (&trace_format_to_m4): Preserve `$_'. (&handle_traces): Sort the output macros. (&up_to_date_p): Find the files before trying to get its time stamp. 2001-07-24 Akim Demaille * Makefile.am: Ship, build and install Autom4te. (SUBDIRS): Add lib. * lib/Autoconf/Struct.pm: New, from Automake 1.5. * configure.in: Require Perl. * man/autom4te.in: New. 2001-07-19 Paul Eggert * doc/autoconf.texi (Cache Checkpointing): Use AC_MSG_ERROR in example, rather than (exit 1); exit (which isn't portable). 2001-07-18 Akim Demaille Version 2.52. 2001-07-18 Akim Demaille The C-Fortran 77 hooks are available only once AC_F77_DUMMY_MAIN was run, while they are needed also when it is expanded. Reported by Nicolas Joly. * aclang.m4 (AC_F77_DUMMY_MAIN): Define _AC_LANG_PROGRAM_C_F77_HOOKS. (AC_LANG_PROGRAM(C)): Use it instead of depending upon AC_F77_DUMMY_MAIN being expanded. 2001-07-18 Akim Demaille * configure.in: Bump to 2.51a. 2001-07-17 Akim Demaille Version 2.51. 2001-07-17 Akim Demaille * aclang.m4 (AC_F77_DUMMY_MAIN): Let the interface be more Autoconfy: $1 = action-if-found, $2 = action-if-not-found. 2001-07-17 Akim Demaille The runtime test for AC_FUNC_GETPGRP fails when prototypes are used. Well, then use the prototypes when you can, and runtime as a last resort. Reported by Artur Frysiak * acfunctions.m4 (_AC_FUNC_GETPGRP_TEST): New. (AC_FUNC_GETPGRP): Use it. First try to compile with 0-ary or 1-ary calls. 2001-07-17 Akim Demaille * actypes.m4 (_AC_CHECK_TYPE_REPLACEMENT_TYPE_P): `foo_t' is a replacement type. From Paul Eggert. 2001-07-17 Akim Demaille * Makefile.maint: Sync. with cppi 1.10. 2001-07-17 Akim Demaille * aclang.m4 (AC_LANG_PROGRAM(C)): Output F77_DUMMY_MAIN only when AC_F77_DUMMY_MAIN has been run. From Pavel Roskin and Steven G. Johnson. 2001-07-17 Akim Demaille * configure.in: Rename as... * configure.ac: this. 2001-07-17 Akim Demaille * Makefile.am (INSTALL.txt): Don't use $@ and $< in non suffix rules. From Marc Espie. * Makefile.maint (release-archive-dir): Rename as... (release_archive_dir): this, so that it can be specialized in Makefile. 2001-07-14 Akim Demaille * configure.in: Bump to 2.50d. 2001-07-14 Akim Demaille Version 2.50c. * Makefile.maint (alpha): Typo. 2001-07-14 Akim Demaille * doc/autoconf.texi (Limitations of Make): Macro names and underscore. 2001-07-14 Akim Demaille * config/config.guess, config/config.sub, config/texinfo.tex * doc/standards.texi, doc/make-stds.texi: Update. 2001-07-14 Akim Demaille * Makefile.maint (cvs-check, cvs-tag-check, cvs-diff-check): New. 2001-07-14 Akim Demaille * Makefile.maint (maintainer-check): Rename as... (maintainer-distcheck): this. (changelog-check, static-check): New. Use them. 2001-07-14 Kevin Ryde * doc/autoconf.texi (C++ Compilers Characteristics): Last resort for CXX is g++, not gcc. 2001-07-14 Akim Demaille * doc/autoconf.texi (Files): New subsection. 2001-07-14 Akim Demaille * doc/autoconf.texi (C Compiler, Fortran 77 Compiler): Be subsections of... (Generic Compiler Characteristics): this. (C++ Compiler): New subsection. 2001-07-14 Akim Demaille * autoscan.in: Use IO::File. Adjust all the routines to use it. ($log): New file (autoscan.log). (output): Dump detailed logs into $log, and a shortened version to stderr. (&scan_makefile): Refine the regexp catching tokens in the code. * doc/autoconf.texi (autoscan Invocation): Document `autoscan.log' and the `configure.ac' checking feature. 2001-07-12 Akim Demaille For some AWK, such as on HPUX 11, `xfoo' does not match `foo|^bar'. Reported by Michael Elizabeth Chastain. * autoconf.in: Refuse such AWK. * configure.in: Likewise. * Makefile.am (acversion.m4): Do not use move-if-change this file has dependencies. * doc/autoconf.texi (Fortran 77 Compiler): Some typos. 2001-07-10 Jens Petersen * autoscan.in (&scan_makefile): Improve programs regexp to parse things like "g++", "file.c" and "some-conf" as tokens. (&scan_file): Match C++ files extensions. If the filename extension is C++ then ask for c++. 2001-07-05 Steven G. Johnson * aclang.m4 (AC_F77_DUMMY_MAIN): Use AC_TRY_LINK, not AC_TRY_LINK_FUNC, to check whether defining a dummy main-like routine is needed for linking with F77 libs. 2001-07-05 Pavel Roskin * aclocal.m4 (_AC_PROG_CXX_EXIT_DECLARATION): Remove conftest* after using break. (_AC_PROG_F77_V_OUTPUT): Remove conftest*, not conftest.* after linking. 2001-07-05 Akim Demaille * Makefile.am (move_if_change): New. Use it instead of `mv'. (acversion.m4): Name it `$(srcdir)/acversion.m4' to ease broken Makes' lives. Reported by Nicolas Joly. 2001-07-04 Akim Demaille * acgeneral.m4 (_AC_RUN_IFELSE): Remove conftest.o when cleaning up. * acfunctions.m4 (AC_FUNC_WAIT3): Use `break' to silent some warnings from compilers. * aclang.m4 (_AC_LANG_COMPILER_GNU): Log the version information for all the compilers, not only GNU. Hence move from here... (AC_PROG_CC, AC_PROG_CXX, AC_PROG_F77): to here. 2001-07-04 Akim Demaille * acfunctions.m4 (AC_FUNC_STRTOD, AC_FUNC_STRERROR_R) (AC_FUNC_STRCOLL, AC_FUNC_WAIT3): Use AC_RUN_IFELSE and AC_COMPILE_IFELSE. 2001-07-04 Akim Demaille * acgeneral.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Actually apply the ``strings.h'' change claimed below. 2001-07-04 Akim Demaille * aclang.m4 (_AC_LANG_COMPILER_GNU): s/-dumpspecs/-v/. 2001-07-04 Akim Demaille * acgeneral.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Include strings.h if usable with string.h. Suggested by Paul Eggert. 2001-07-04 Akim Demaille * autoscan.in (&scan_file): Skip FILE if there is FILE.in. From Jens Petersen. 2001-07-03 Akim Demaille * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Specify CONFIG_FILES etc. in the log. 2001-07-03 Akim Demaille * acheaders.m4 (AC_CHECK_HEADER): When INCLUDES are set, use the compiler, not the preprocessor. * acgeneral.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): No longer use dedicated code to check for inttypes.h, as AC_CHECK_HEADERS does the right thing. * Makefile.am (.m4.m4f): Emphasize M4 error messages and fail earlier if there are. 2001-07-03 Akim Demaille * autoscan.in ($initfile): Remove. (&find_file): Rename as... (&scan_file): this. Immediately scan the current file, instead of gathering them, and later having them handled by &scan_files. (&scan_files): Merely invoke Find::File. Adjust. 2001-07-02 Akim Demaille * autoscan.in: Formatting changes, matching the invocation order. (File::Find): Use it instead of Perl 4's `find.pl'. (&wanted): Rename as... (&find_file): this. 2001-07-01 Pavel Roskin * aclang.m4 (AC_F77_DUMMY_MAIN): Remove conftest* after using break in the argument to AC_TRY_LINK_FUNC. (AC_F77_MAIN): Remove conftest* after using break in the argument to AC_TRY_LINK. 2001-07-01 Steven G. Johnson Add alternate 'main' routine detection for linking C/C++ with Fortran, fixing link failures for e.g. AC_F77_WRAPPERS on NetBSD. * aclang.m4 (AC_F77_DUMMY_MAIN): New macro to detect whether a dummy alternate main is required even if the user provides her own 'main'. (AC_F77_MAIN): New macro to detect whether it is possible to provide an alternate 'main' function name, using the 'main' from the Fortran libraries. (AC_LANG_PROGRAM(C)): Use F77_DUMMY_MAIN, if it is defined, so that cross-language link tests can be performed successfully. (_AC_F77_NAME_MANGLING): Require AC_F77_DUMMY_MAIN. Also put $FLIBS after $LIBS, for consistency; this should be the general rule since the user may want to link to Fortran libraries that require $FLIBS. * doc/autoconf.texi: Document AC_F77_DUMMY_MAIN and AC_F77_MAIN. 2001-06-29 Pavel Roskin * atgeneral.m4 (AT_CHECK): Add a newline to the end of at-stdout and at-stderr instead of removing the newline from the echo output, which is not guaranteed to work. 2001-06-28 Jens Petersen * aclang.m4 (_AC_PROG_CXX_EXIT_DECLARATION): Only add declaration to confdefs.h when non-zero. 2001-06-28 Akim Demaille * configure.in: Bump to 2.50c. 2001-06-26 Akim Demaille Version 2.50b. 2001-06-26 Akim Demaille Version 2.50a. 2001-06-25 Pavel Roskin * tests/atspecific.m4 (AT_CHECK_MACRO): Accept one more argument, AUTOCONF-FLAGS. * tests/mktests.sh (update_exclude_list): Add AC_SYS_RESTARTABLE_SYSCALLS and AC_FUNC_WAIT3. * tests/semantics.at: Test AC_SYS_RESTARTABLE_SYSCALLS and AC_FUNC_WAIT3 with "-W no-obsolete". 2001-06-25 Akim Demaille * tests/foreign.at (libtool): Fix the `libtoolize --version' decoding. 2001-06-25 Akim Demaille * autoscan.in (%macro): Now maps from word to list of macros. (&init_tables): Die when a word which is already handled by explicit macros is mapped to the default macro. (&print_unique): Remove, inlined in... (&output_kind): here. (File::Basename): Use it. (&output): Sort the CONFIG_FILES. * acheaders: Normalize. * acfunctions: Likewise. 2001-06-25 Akim Demaille * aclang.m4 (_AC_LANG_COMPILER_GNU): If GNU, dump the compiler characteristics in the logs. Suggested by Mo DeJong. 2001-06-24 Akim Demaille * acfunctions.m4 (AM_FUNC_ERROR_AT_LINE, AM_FUNC_FNMATCH) (AM_FUNC_MKTIME, AM_FUNC_OBSTACK, AM_FUNC_STRTOD): Reactivated. * doc/autoconf.texi (Autoconf 2.13): New section. 2001-06-24 Akim Demaille * autoconf.in (Task traces): Separate the error messages from the traces to improve robustness. 2001-06-23 Akim Demaille * tests/torture.at (AC_ARG_VAR): Make it a single test instead of three as failures are unlikely, and speed matters. 2001-06-23 Akim Demaille * doc/autoconf.texi (Redefined M4 Macros): New. 2001-06-23 Akim Demaille * acgeneral.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Consider inttypes.h is missing if it conflicts with sys/types.h, as on IRIX 5.3. 2001-06-23 Paolo Bonzini * acgeneral.m4 (_AC_OUTPUT_CONFIG_STATUS): Defer parsing of config.status targets to after the evaluation of the INIT-CMDS. Double quote config.status targets (used to be single quoted). 2001-06-23 Akim Demaille * tests/torture.at (CONFIG_FILES, HEADERS, LINKS and COMMANDS): Check the content of the created file. Check the ./config.status command line invocation. 2001-06-23 Akim Demaille * tests/foreign.at (Libtool): Reject prehistoric versions. 2001-06-23 Akim Demaille * aclang.m4 (_AC_COMPILER_EXEEXT_DEFAULT): Try to be robust to preexisting files matching a.*. 2001-06-23 Akim Demaille * acgeneral.m4 (_AC_ARG_VAR_VALIDATE): Output error messages on stderr. * doc/autoconf.texi (AC_ARG_VAR): Update. 2001-06-21 Akim Demaille * acgeneral.m4 (_AC_ARG_VAR_VALIDATE): Die instead of warning when precious variables have changed. * tests/torture.at (AC_ARG_VAR): Adjust. 2001-06-21 Akim Demaille ./configure --program-suffix=foo produces `transform=s,$$,foo,;', but some sed choke on multiple `;', and other tools (e.g., Automake), include the separator themselves. * acgeneral.m4 (AC_ARG_VAR): Be sure not to leave extra `;'. 2001-06-19 Tim Van Holder * doc/autoconf.texi (Functions Portability): Rename as... (Function Portability): this. (Function Portability): Document potential problems with unlink(). 2001-06-19 Paul Eggert * NEWS, doc/autoconf.texi: Document quadrigraphs. 2001-06-18 Akim Demaille * acfunctions.m4 (AC_FUNC_FORK): Fix typos. 2001-06-18 Ruediger Kuhlmann * acfunctions.m4: (AC_FUNC_VFORK) rename as... (_AC_FUNC_VFORK): this. Remove AC_DEFINEs and don't guess cross-compilation values. (_AC_FUNC_FORK): New, check whether fork() isn't just a stub. (AC_FUNC_FORK): New, use _AC_FUNC_VFORK and _AC_FUNC_FORK to define HAVE_WORKING_FORK, HAVE_WORKING_VFORK; and vfork to fork if vfork doesn't work. Guess values if cross-compiling, but warn. * acfunctions: Add AC_FUNC_FORK. * doc/autoconf.texi: Document AC_FUNC_FORK. Give example to define and vfork appropriately. 2001-06-18 Akim Demaille * doc/autoconf.texi (Functions Portability): New section. 2001-06-18 Akim Demaille * autoconf.in (M4): Pass --nesting-limit=1024, unless already set in $M4. Suggested by Andreas Schwab. 2001-06-18 Akim Demaille * acfunctions.m4 (AC_FUNC_CHOWN, AC_FUNC_CLOSEDIR_VOID) (AC_FUNC_GETPGRP, AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK) (AC_FUNC_MMAP, AC_FUNC_SELECT_ARGTYPES, _AC_FUNC_STAT) (AC_FUNC_UTIME_NULL): Use AC_INCLUDES_DEFAULT. Don't use AC_TRY_RUN, which double quotes, prefer AC_RUN_IFELSE, and either AC_LANG_SOURCE or AC_LANG_PROGRAM. (AC_FUNC_CLOSEDIR_VOID): Protect C++ from `int closedir ();' (or the converse). 2001-06-18 Akim Demaille * doc/autoconf.texi (ms): New index. (Macro Index): Rename as... (Autoconf Macro Index): this. (M4 Macro Index): New appendix. (Programming in M4): New chapter. Define M4sugar, M4sh, m4_pattern_forbid, and m4_pattern_allow. (Quoting): Rename as... (M$ Quotation): this. Be part of `Programming in M4). 2001-06-18 Nicolas Joly * tests/torture.at (AC_ARG_VAR): Set variables and export them in separate statements for compatibility with Tru64 v5.1. 2001-06-17 Akim Demaille * acgeneral.m4 (_AC_ARG_VAR_VALIDATE): Be sure to cache the current values of the precious variables, not the previously cached values. Pass precious variables which are set to config.status. * doc/autoconf.texi (Setting Output Variables): Document AC_ARG_VAR. * tests/torture.at (AC_ARG_VAR): New. 2001-06-15 Paul Eggert * doc/autoconf.texi: Move AC_FUNC_WAIT3 and AC_SYS_RESTARTABLE_SYSCALLS to the obsolete section, and explain why and how to replace them. * acfunctions.m4 (AC_FUNC_WAIT3): Warn as obsolete. * acspecific.m4 (AC_SYS_RESTARTABLE_SYSCALLS): Likewise. 2001-06-15 Akim Demaille `build_alias', `host_alias', and `target_alias' are not AC_SUBST'd. Reported by Bruno Haible. * acgeneral.m4 (AC_ARG_VAR): Move the AC_SUBST, from here... (_AC_ARG_VAR_PRECIOUS): to here. 2001-06-15 Pavel Roskin * acheaders.m4 (_AC_CHECK_HEADER_DIRENT): Instead of defining an unused pointer use cast to this type and `if' statement to avoid warnings from the compiler. (AC_HEADER_TIME): Likewise. * actypes.m4 (AC_CHECK_MEMBER): s/foo/ac_aggr/. Use the member in `if' statement to avoid warnings from the compiler. Declare ac_aggr static to avoid the need to initialize it. 2001-06-14 Akim Demaille * doc/autoconf.texi (Portable Shell): Move to follow `Writing Macros'. 2001-06-13 Akim Demaille * m4/missing.m4, config/missing: Updated to Automake 1.4g's. Suggested by Alexander Mai. 2001-06-13 Akim Demaille * acgeneral.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Guard sys/types.h and sys/stat.h, and check for them. 2001-06-13 Akim Demaille * acheaders.m4 (AC_CHECK_HEADER, AC_CHECK_HEADERS): Support $4 = INCLUDES. 2001-06-12 Maciej W. Rozycki * acspecific.m4 (AC_PATH_XTRA): Check if linking against libX11 succeeds and only try adding libdnet upon a failure. 2001-06-12 Akim Demaille * autoscan.in (&output_kind): Output the comment only if it exists. (%kind_comment): Add entry for `programs'. (&output_programs): Use &output_kind. (&output_functions, &output_identifiers, &output_headers) (&output_programs): Inline, and remove. 2001-06-12 Akim Demaille * autoscan.in (%kind_comment): New. (output_kind): New. (output_functions, output_identifiers, output_headers): Use it. 2001-06-12 Akim Demaille * autoscan.in (&print_unique): Take `$kind' and `$word' as arguments, to factor indirections into `%macro' and `%used'. (%generic_macro): Fix a typo. 2001-06-12 Akim Demaille * aclibraries: New. * autoscan.in (@kinds): Add `libraries'. Use `@kinds' instead of hard coded lists. (%programs, %headers, %identifiers, %makevars, %libraries, %functions): Remove, replaced by... (%used): this. 2001-06-12 Akim Demaille * autoscan.in (%functions_macros %headers_macros) (%identifiers_macros %programs_macros %makevars_macros): Remove, replaced by... (%macro): New. 2001-06-11 Raja R Harinath * aclang.m4 (AC_NO_EXECUTABLES): Override _AC_COMPILER_EXEEXT_WORKS, not _AC_LANG_COMPILER_WORKS. 2001-06-11 Akim Demaille * aclang.m4 (AC_NO_EXECUTABLES): Define the macros with their trailing new line. Reported by Andreas Schwab. 2001-06-11 Akim Demaille * Makefile.am, Makefile.maint: Typos. 2001-06-09 Akim Demaille * doc/autoconf.texi (Here-Documents): New section, gathering documentation about here-documents. Use `href', not `uref', and other changes. 2001-06-09 Akim Demaille * doc/autoconf.texi (Portable Shell Programming): Promoted as a chapter. 2001-06-09 Akim Demaille * doc/autoconf.texi (Limitations of Builtins): Complete the description of the here-docs penalties with Alexandre Oliva's explanations. 2001-06-01 Paul Eggert * doc/autoconf.texi: Talk about here documents and speedups. Do not use "echo" on arbitrary strings. Spell "here-documents" consistently with the standard. 2001-06-09 Akim Demaille * doc/autoconf.texi (Concept Index): Introduce it. Regenerate the menus. 2001-06-09 Akim Demaille * Makefile.maint, GNUmakefile: New, from Jim Meyering. * config/prev-version.txt: New. * config/move-if-change: New, for GNU libc. 2001-06-06 Pavel Roskin * tests/atgeneral.m4 (AT_INIT): Remove "/bin/sh" after $SHELL. 2001-06-06 Akim Demaille * acgeneral.m4 (AC_CHECK_LIB): Fix the cache var name to work properly when $1 is not a literal. Fixes PR Autoconf/187, reported by Bram Moolenaar. 2001-06-06 Akim Demaille Invoking AC_COPYRIGHT before AC_INIT fails. * Makefile.am (.m4.m4f): Pass --fatal-warnings to m4. * acgeneral.m4 (_m4_divert(VERSION_FSF)) (_m4_divert(VERSION_USER)): New. (AC_COPYRIGHT): $2 is the diversion to use. (_AC_INIT_COPYRIGHT): Use the FSF diversion. (AC_INIT): Remove dead comments as now it's commutative. 2001-06-06 Akim Demaille * tests/semantics.at (AC_CHECK_LIB): Strengthen to reflect PR autoconf/187. 2001-06-05 Akim Demaille * acgeneral.m4 (_AC_INIT_PARSE_ARGS): `prefix' and `exec_prefix' can be empty. `*dir' variables cannot be NONE. Reported by Mark Kettenis. 2001-06-05 Paul Eggert * doc/autoconf.texi: Fix references to Solaris and SunOS versions. 2001-06-04 Akim Demaille * acgeneral.m4 (AC_VAR_SET, AC_VAR_GET, AC_VAR_TEST_SET) (AC_VAR_SET_IFELSE, AC_VAR_PUSHDEF and AC_VAR_POPDEF, AC_TR_CPP) (AC_TR_SH): Move as... * m4sh.m4 (AS_VAR_SET, AS_VAR_GET, AS_VAR_TEST_SET) (AS_VAR_SET_IF, AC_VAR_PUSHDEF, AS_VAR_POPDEF, AS_TR_CPP) (AS_TR_SH): these. (_AS_TR_PREPARE, _AS_CR_PREPARE, _AS_TR_CPP_PREPARE) (_AS_TR_SH_PREPARE): New. (AS_SHELL_SANITIZE): Invoke _AS_TR_PREPARE. * tests/aclocal.m4 (AC_STATE_SAVE): `as_' vars can be modified. 2001-06-02 Akim Demaille * Makefile.am (.m4.m4f): Pass the options first. Fixes PR autoconf/182. 2001-06-02 Nathan Sidwell GNU getopt, when POSIXLY_CORRECT does not permute options and arguments. So pass the options first. Fixes PR autoconf/184. * autoconf.sh (m4_prefiles, m4f_prefiles): New variables. (run_m4): Remove files. (run_m4f): Remove. Update remainder of script to use them. (for warning in): Do not use a literal comma as it will not be split by IFS. 2001-06-02 Christian Marquardt * aclang.m4 (AC_PROG_F77): Add Fujitsu's "frt" to the list of Fortran compilers to check. (_AC_PROG_F77_V): Add '-###' as a possible option to print information on library and object files. (AC_PROG_CXX): Add Fujitsu's "FCC" to the list of C++ compilers to check. 2001-06-02 Akim Demaille * autom4te.in (Request::@request): Declare with `vars', not `my', as it prevents updates via `do FILENAME'. 2001-06-02 Akim Demaille * configure.in (standards_texi): Remove, dead code. 2001-06-02 Akim Demaille * autom4te.in: New. 2001-06-02 Pavel Roskin * acgeneral.m4 (_AC_INIT_PREPARE): Don't rely on $? in the traps for signals other than 0 - exit with code 1. * m4sh.m4 (AS_TMPDIR): Likewise. * autoconf.in: Likewise. Also don't rely on exit == exit $?. * autoheader.in: Likewise. * autoreconf.in: Likewise. * tests/torture.at (Signal handling): New test for the above. 2001-06-01 Akim Demaille * m4sugar.m4 (m4_defn, m4_undefine, m4_popdef): Clarify the error message. 2001-05-31 Akim Demaille * acfunctions, acheaders, acidentifiers, acmakevars, acprograms: Add copyright and comments. * acheaders: Add stdint.h. Suggested by Paul Eggert. 2001-05-31 Akim Demaille * atgeneral.m4 (AT_INIT): Use $SHELL. * atspecific.m4 (AT_CHECK_DEFINES): Skip HAVE_STDINT_H. 2001-05-31 Akim Demaille * acgeneral.m4 (_AC_INCLUDES_DEFAULT_REQUIREMENTS): Include stdint.h. From Paul Eggert and Lars Hecking. 2001-05-31 Akim Demaille * tests/base.at: Adjust line numbers in error messages. 2001-05-31 Akim Demaille * tests/base.at, tests/m4sh.at: When using AC_PLAIN_SCRIPT be sure to emit the bangshe line. Reported by David Carter. 2001-05-30 Steven G. Johnson * aclang.m4 (AC_PROG_F77): Add Compaq's "fort" to the list of Fortran (95) compilers to check. 2001-05-29 Alexandre Duret-Lutz * doc/autoconf.texi (Introduction, Pointers): Update the Autoconf Macro Archive URL. 2001-05-23 Pavel Roskin * aclang.m4 (AC_PROG_CPP): Use `break' instead of `break 2' since _AC_PROG_PREPROC_WORKS_IFELSE expands arguments outside the loop. (AC_PROG_CXXCPP): Likewise. 2001-05-22 Akim Demaille * config: New directory. * configure.in: AC_CONFIG_AUX_DIR it. * tests/atspecific.m4 (AT_CONFIGURE_AC): Adjust. 2001-05-22 Akim Demaille * autoconf.in, autoreconf.in, autoheader.in, autoscan.in, ifnames.in, * autoupdate.in: Specify the Emacs mode. * acversion.m4.in: Rename as... * acversion.m4: this. * tests/Makefile.am (CLEANFILES): More garbage. 2001-05-22 Akim Demaille * autoconf.sh, autoreconf.sh, autoheader.sh, autoscan.pl, ifnames.sh: Rename as... * autoconf.in, autoreconf.in, autoheader.in, autoscan.in, ifnames.in: these. 2001-05-21 Akim Demaille * configure.in: Bump to 2.50a. ----- Local Variables: coding: utf-8 End: Copyright (C) 2001-2012 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 the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see .