Commit Graph

5710 Commits

Author SHA1 Message Date
Ralf Wildenhues
fff5f1c998 * tests/local.at: Do not test m4, perl with AT_TESTED. 2007-11-18 17:24:56 +01:00
Ralf Wildenhues
5ccf45a370 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-18 14:03:06 +01:00
Ralf Wildenhues
90661f5cd9 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.
2007-11-17 09:36:17 +01:00
Ralf Wildenhues
17f6602af3 Revert 2007-10-17 change.
* TODO: Multiline args in config files and headers mean something
different and are not fixed, see
<http://lists.gnu.org/archive/html/autoconf-patches/2007-05/msg00017.html>
Report by Stepan Kasal.
2007-11-17 09:31:11 +01:00
Ralf Wildenhues
d7fd618ede * doc/autoconf.texi (Generic Programs): Fix typo. 2007-11-17 09:24:52 +01:00
Stepan Kasal
ff4249b312 add a chlog entry for the prev commit 2007-11-16 23:00:41 +01:00
Stepan Kasal
cf733bdf5f doc: 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 14:47:00 +01:00
Ralf Wildenhues
22000bf9f8 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...
<AT_CHECK_CONFIG_CREATION_NOWRITE>: ...this new macro.
Report by Bruno Haible.
2007-11-16 07:51:10 +01:00
Ralf Wildenhues
c19717746b Indentation fixups.
* lib/autotest/general.m4 (AT_INIT) <at_func_log_failure>: Fix
indentation.
(_AT_CHECK): Use less indentation, to save space.
2007-11-16 07:48:55 +01:00
Ralf Wildenhues
94296894f0 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 22:30:15 +01:00
Ralf Wildenhues
8c29e96f9d * 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 22:23:59 +01:00
Ralf Wildenhues
c33d474779 Shell functions and variables may share a namespace.
* doc/autoconf.texi (Portable Shell): Mention Solaris sh
limitation.
2007-11-15 07:58:03 +01:00
Paul Eggert
675668479d * lib/autoconf/types.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Make comment match
gnulib.
2007-11-14 15:42:59 -08:00
Ralf Wildenhues
f32d0d7753 * lib/autoconf/status.m4: Fix a couple of comment typos. 2007-11-14 21:57:37 +01:00
Ralf Wildenhues
5779945993 * lib/m4sugar/m4sh.m4 (AS_TMPDIR): Use $as_me, not $me. 2007-11-14 21:55:59 +01:00
Paul Eggert
0cb78970e9 Fix typo in my previous changelog entry. 2007-11-13 12:42:02 -08:00
Jim Meyering
86328d8c43 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 09:37:43 +01:00
Paul Eggert
9b0314cc93 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 flows.
2007-11-13 00:16:19 -08:00
Jim Meyering
48520ed2f7 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-13 08:56:32 +01:00
Ralf Wildenhues
610817462b * doc/autoconf.texi (Making testsuite Scripts): Document
":;{" shorthand as in previous patch.

2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>

* 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 23:30:58 -08:00
Jim Meyering
7daa47a115 Add more non-srcdir build support.
* GNUmakefile (dummy): Split a long line.
Add -v option to autoreconf invocation.
2007-11-13 00:12:18 +01:00
Jim Meyering
dcae1fc785 Add autoreconf's -v option, to give some feedback.
Don't imply that $(_curr-ver) is the new version string.
2007-11-13 00:10:48 +01:00
Jim Meyering
b69f240e06 Remove the autoreconf-provided INSTALL, so that we regenerate it.
* GNUmakefile (dummy): Remove INSTALL.
2007-11-13 00:10:48 +01:00
Jim Meyering
576a8cbe13 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.
2007-11-13 00:10:48 +01:00
Jim Meyering
00e9eaeacc 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/.

Signed-off-by: Jim Meyering <meyering@redhat.com>
2007-11-13 00:10:48 +01:00
Jim Meyering
3b793a96bb 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.
2007-11-13 00:10:48 +01:00
Jim Meyering
703fbf369a Avoid spurious test failures due to version skew.
* GNUmakefile (dummy): Run $(MAKE) clean after autoreconf -i.
2007-11-13 00:10:48 +01:00
Ralf Wildenhues
fa8beeb3dc 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 20:38:08 +01:00
Benoit Sigoure
db607230cd Fix typos in variable names.
* tests/semantics.at (test for AC_CHECK_LIB): s/at_m/ac_m/.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
2007-11-12 09:46:16 +01:00
Benoit Sigoure
6d8cbe20d4 Document that $((expression)) is not portable.
* doc/autoconf.texi (Shell Substitutions): Here.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
2007-11-12 09:42:37 +01:00
Ralf Wildenhues
00865ec842 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-11 18:55:24 +01:00
Jim Meyering
d6fb497d07 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).
2007-11-11 09:25:51 +01:00
Jim Meyering
8c6b4481bd 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.
2007-11-11 09:25:51 +01:00
Jim Meyering
5f0cbd4774 Distribute git-version-gen.
* Makefile.am (EXTRA_DIST): Add build-aux/git-version-gen,
since GNUmakefile is distributed, and requires it for dist* rules.
2007-11-11 09:25:50 +01:00
Jim Meyering
20cb79c19f Remove two more generated files from version control.
* INSTALL: Remove generated file.
* lib/autoscan/autoscan.list: Remove generated file.
2007-11-11 09:22:43 +01:00
Paul Eggert
727b3efa93 * GNUmakefile (PATH): Remove stray apostrophes; they become
part of PATH, which isn't wanted here.
2007-11-11 08:47:46 +01:00
Ralf Wildenhues
feef9e7e7e 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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2007-11-09 07:51:19 +01:00
Ralf Wildenhues
83bd220b0c Avoid expr for arithmetic evaluation if the shell accepts $((...)).
* lib/autotest/general.m4 (AT_INIT) <at_func_arith>: New
function, to parametrize arithmetic with expr vs. the shell.
Use it where possible.
Suggestion by Benoit Sigoure.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2007-11-09 07:49:29 +01:00
Benoit Sigoure
dc6058abe0 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.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
2007-11-04 18:13:48 +01:00
Eric Blake
c79a33de32 Update list information.
* README: Mention new autoconf-commit list.
* doc/autoconf.texi (Introduction): Mention autoconf-commit list.

Signed-off-by: Eric Blake <ebb9@byu.net>
2007-11-04 09:56:50 -07:00
Ralf Wildenhues
44fa054865 * lib/autoconf/functions.m4 (_AC_FUNC_MALLOC_IF): Fix comment typo. 2007-11-04 17:02:30 +01:00
Ralf Wildenhues
bf5fec7028 * lib/m4sugar/Makefile.am (version.m4): Another bash bug workaround. 2007-11-04 17:00:57 +01:00
Ralf Wildenhues
e198ad2dcb * build-aux/.gitignore: Ignore mkinstalldirs. 2007-11-04 16:59:38 +01:00
Ralf Wildenhues
17add51e4e * doc/autoconf.texi (autoreconf Invocation): Fix an underfull line. 2007-11-04 16:58:26 +01:00
Jim Meyering
6304c69b45 s/-/./ in snapshot version string: 2.61a-256-8b556 -> 2.61a.256-8b556
* build-aux/git-version-gen: This syncs from coreutils.
2007-11-03 22:56:26 +01:00
Jim Meyering
8b5560fc07 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.
2007-11-03 19:17:32 +01:00
Jim Meyering
f4208c7aa9 Use just-built tools, when possible.
* GNUmakefile (PATH): Set and export here, ...
(dummy): ... rather than here.
2007-11-03 19:15:13 +01:00
Ralf Wildenhues
249f9a38a8 * tests/Makefile.am ($(srcdir)/package.m4): Work around bash
exit status bug.
2007-11-03 18:55:45 +01:00
Ralf Wildenhues
0ed7d2bd84 * configure.ac (AC_PREREQ): Require version 2.60, for
AC_PROG_SED, AC_PROG_GREP.
2007-11-03 18:47:50 +01:00
Benoit Sigoure
c563e730bf 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.

Signed-off-by: Benoit Sigoure <tsuna@lrde.epita.fr>
Signed-off-by: Eric Blake <ebb9@byu.net>
2007-11-03 10:59:29 -06:00