Commit Graph

6378 Commits

Author SHA1 Message Date
Eric Blake
926a43c86d doc: fix another bad @xref
Obviously, I didn't fully test commit f35498d.

* doc/autoconf.texi (Limitations of Builtins): Add a comma.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-05-03 09:29:06 -06:00
Eric Blake
2d4eb95932 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2012-04-24 21:06:32 -06:00
Eric Blake
771017a433 Release Version 2.69.
* NEWS: Mention the release.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-04-24 21:04:26 -06:00
Eric Blake
19513cca18 maint: drop bz2 tarball
At 2.68b, I asked whether anyone would miss .gz and .bz2 formats.
Consensus was overwhelming that .gz still holds a place in people's
hearts, in spite of .xz compressing to smaller files, but no one
was able to make a convincing argument for .bz2.

* configure.ac (AM_INIT_AUTOMAKE): Drop bzip2; xz wins hands down.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-04-24 20:38:57 -06:00
Eric Blake
84e20e9164 maint: resync files from upstream
The files in lib/Autom4te/ are intentionally not synced at this
point, since this recent Automake patch:
https://lists.gnu.org/archive/html/automake-patches/2012-03/msg00111.html

was buggy regarding '-' as stdout, and also exposes some latent
bugs in autoconf where we use raw 'open' instead of XFile::open.

* build-aux/announce-gen: Resync via 'make fetch'.
* build-aux/config.sub: Likewise.
* build-aux/git-version-gen: Likewise.
* build-aux/gnupload: Likewise.
* build-aux/move-if-change: Likewise.
* build-aux/texinfo.tex: Likewise.
* doc/standards.texi: Likewise.
* maint.mk: Likewise.
2012-04-24 20:15:05 -06:00
Eric Blake
f35498d15c doc: fix bad @xref uses
Upstream gnulib maint.mk improvements caught a few issues we
should fix, as well as a few issues in files we copy from
other sources that we will just ignore here.

* doc/autoconf.texi (Generic Programs, Special Shell Variables)
(Limitations of Builtins): Use references correctly.
* cfg.mk
(exclude_file_name_regexp--sc_prohibit_undesirable_word_seq)
(exclude_file_name_regexp--sc_useless_cpp_parens): Add exemptions.
2012-04-24 20:14:19 -06:00
Bruno Haible
280f330992 AC_INIT: remove a transitional warning
On bi-arch systems (such as x86 / x86_64) it is often necessary to pass
the --host option together with an appropriate value for CC. But this
triggers a warning:

$ ./configure --host=i686-pc-linux-gnu CC="gcc -m32 -march=i586"
configure: WARNING: if you wanted to set the --build type, don't use --host.
    If a cross compiler is detected then cross compile mode will be used
..

This warning was introduced on 2000-06-30, in commit
<http://git.savannah.gnu.org/gitweb/?p=autoconf.git;a=commitdiff;h=cb2e761b8e1181f97e8e09d85526bd22078433db>
with the remark "Re-enable the old behavior of --host and --build."

This warning was meant to warn users about a changed semantics of
--build and --host. This change is now 12 years in the past; users
have had enough time to learn it. I therefore suggest to remove the
warning.

I've done lots of cross and bi-arch compilations in the last 10 years,
all with --host and without --build, and have never observed a problem
with it, except for the warning. Simply relying on config.guess is sufficient.

* lib/autoconf/general.m4 (_AC_INIT_PARSE_ARGS): Don't warn if --host
given without --build.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-04-24 15:18:45 -06:00
Bruno Haible
303e507c27 doc: fix incorrect and incomplete doc about cross-compilation mode
* doc/autoconf.texi (Runtime): Mention the effect of the cross-
compilation mode on AC_RUN_IFELSE.
(Specifying Target Triplets): Fix description of --host's effects.
(Hosts and Cross-Compilation): Remove incorrect statement about
--host's effects.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-04-24 15:01:02 -06:00
Paul Eggert
ed96f6541c doc: document --build and cross-compilation better
* doc/autoconf.texi (Specifying Target Triplets): Mention that
specifying a build-type that differs from host-type enables
cross-compilation.  Problem reported by Bruno Haible in:
http://lists.gnu.org/archive/html/autoconf-patches/2012-04/msg00009.html
2012-04-23 10:30:19 -07:00
Jim Meyering
eaa96cb8bd maint: avoid "make syntax-check" failure
* cfg.mk (old_NEWS_hash): Update to reflect typo fix in old news.
2012-04-11 12:05:38 +02:00
Stefano Lattarini
0db9c1a19f cosmetics fix imprecise comment in Autom4te::General
* lib/Autom4te/General.pm: This file is *not* used by Automake;
adjust comments accordingly.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-03-29 00:29:12 +02:00
Paul Eggert
a7476d52c4 tests: fix port of AT_CHECK_ENV to hosts with flaky grep
* tests/local.at (AT_CHECK_ENV): Don't copy the buggy grep's
diagnostics to stderr, as that causes AT_CHECK to fail.  They can
be found in the stderr-* files if this is needed for debugging.
2012-03-07 14:23:59 -08:00
Eric Blake
943789e03f docs: document set -n pitfalls
* doc/autoconf.texi (Limitations of Builtins) <set>: Document
issues with set -n.
2012-03-07 11:16:38 -07:00
Eric Blake
da41210673 build: require perl 5.6
This reduces the implicit requirement from 5.6.2 back to 5.6,
while raising the explicit requirement to match the actual code.

* configure.ac (PERL): Fail up front if perl is too old.
* NEWS: Document this.
* README: Likewise.
* README-hacking: Likewise.
* lib/Autom4te/ChannelDefs.pm: Bump requirement.
* lib/Autom4te/General.pm: Relax requirement.
2012-03-07 10:50:09 -07:00
Eric Blake
220f8c240d tests: ignore ksh -n warnings
Recent ksh is noisy:

$ ksh -nc '``'; echo $?
ksh: warning: line 1: `...` obsolete, use $(...)
0

* tests/local.at (AT_CHECK_SHELL_SYNTAX): Ignore noisy ksh on.
Reported by Martin Zaun.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-03-07 10:41:37 -07:00
Paul Eggert
16126bc430 tests: port AT_CHECK_ENV to hosts with flaky grep
* tests/local.at (AT_CHECK_ENV): Don't assume that if one grep
fails, the other will too.  It could be that 'grep' is flaky,
and fails somewhat at random.  This would explain the problems
reported for autoconf-2.68b on FreeBSD and MacOS X, for example:
<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00032.html>
<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00035.html>
<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00036.html>
<http://lists.gnu.org/archive/html/bug-autoconf/2012-03/msg00044.html>
2012-03-06 22:57:29 -08:00
Stefano Lattarini
a5edd74e69 maint: resync files from upstream
Since the perl version required in Automake::Getopt has been
recently lowered from 5.6.2 to 5.6.0, this change has the nice
effect of making autoconf compatible again with all perls in
the 5.6.x release series.

* maint.mk: Resync via 'make fetch'.
* lib/Autom4te/Channels.pm: Likewise.
* lib/Autom4te/Configure_ac.pm: Likewise.
* lib/Autom4te/FileUtils.pm: Likewise.
* lib/Autom4te/Getopt.pm: Likewise.
* lib/Autom4te/XFile.pm: Likewise.
2012-03-06 12:45:10 +01:00
Stefano Lattarini
20626b671f maint: drop syncing with Automake::Struct
The module Automake::Struct has been removed in automake master
branch (with yesterday's commit v1.11-2055-g74a7f49 "maint: drop
'Automake::Struct' module"): since Automake now requires Perl 5.6,
that module has become obsolete, being basically just a backport
of Perl 5.6's 'Class::Struct' to Perl 5.5.  With this change, we
follow suite in Autoconf, which syncs some of its internal modules
with Automake.

* lib/Autom4te/Struct.pm: Delete.
* lib/Autom4te/Makefile.am (dist_perllib_DATA): Don't list it
anymore.
* cfg.mk: Don't sync it with the Automake repository anymore.
* lib/Autom4te/Request.pm: Use 'Class::Struct' instead of
'Autom4te::Struct'.
2012-03-05 20:52:50 +01:00
Paul Eggert
5046bf6ee6 doc: mention PATH bug with "ksh foo"
* doc/autoconf.texi (Invoking the Shell): Mention ksh PATH bug.
2012-03-04 09:50:07 -08:00
Stefano Lattarini
43814d248d tests: fix spurious failure due to Solaris XPG4 sh bug
On Solaris 10, the /usr/xpg4/bin/sh shell seems unable to execute
a shell script named 'script':

  $ touch script
  $ /bin/sh script; echo status: $? # As expected.
  status: 0
  $ /usr/xpg4/bin/sh script; echo status: $? # Weirdness follows.
  /usr/xpg4/bin/sh: script: cannot execute
  status: 1

This was causing a spurious testsuite failure for users which have
/usr/xpg4/bin in $PATH before /bin and /usr/bin.  Fix that.

* tests/m4sh.at (Configure re-execs self with CONFIG_SHELL): Rename
the m4sh-produced script to 'script2', to avoid the just-described
issue.
2012-03-04 17:14:14 +01:00
Stefano Lattarini
6e7264cf45 tests: fix spurious failure when CONFIG_SITE is set
* tests/m4sh.at (Configure re-execs self with CONFIG_SHELL): Export
$CONFIG_SITE to "/dev/null", to avoid spurious diffs in expected
stdout/stderr.
2012-03-04 16:30:17 +01:00
Paul Eggert
3b78f246db fortran: clean up core files after AC_FC_CHECK_BOUNDS
* lib/autoconf/fortran.m4 (AC_FC_CHECK_BOUNDS): Clean up core
files, too.  Needed for Sun Fortran 95 8.2 2005/10/13 on Solaris 8.
2012-03-03 21:37:17 -08:00
Paul Eggert
49b68f063e tests: port AS_TR_SH and AS_TR_CPP test to Solaris 8 wc
* tests/m4sh.at (AS@&t@_TR_SH and AS@&t@_TR_CPP): Do not assume
that "wc -l" outputs only digits; on Solaris 8 it also outputs
blanks and POSIX allows this.
2012-03-03 21:37:17 -08:00
Paul Eggert
bb454862bb tests: fix "#/bin/sh" typo
* tests/m4sh.at (AS@&t@_EXECUTABLE): "#!/bin/sh", not "#/bin/sh".
Typo reported by Tim Rice in:
http://lists.gnu.org/archive/html/autoconf-patches/2012-03/msg00009.html
2012-03-03 21:37:17 -08:00
Paul Eggert
7d55ba7fd9 tests: port AS_EXECUTABLE_P test to Solaris 8 /bin/sh
* tests/m4sh.at (AS@&t@_EXECUTABLE): Treat any nonzero exit
status as failure.  This is needed for Solaris 8 /bin/sh,
where executing a nonexecutable file causes the shell
to say the file had exit status 1.
2012-03-03 21:37:17 -08:00
Stefano Lattarini
cca288d94e configure: don't infloop when re-executing with $CONFIG_SHELL
It turns out our guard against infinite recursion wasn't good
enough when shells without $LINENO support were involved, since
the creation-and-sourcing of configure.lineno broke the guard's
expectations.  Reports by Tim Rice and Paul Eggert.

* lib/m4sugar/m4sh.m4 (_AS_LINENO_PREPARE): Export '_as_can_reexec'
to "no" before sourcing the just-created configure.lineno.
2012-03-03 10:44:25 +01:00
Paul Eggert
46a40ee9c4 maint: spelling fixes 2012-03-01 22:43:19 -08:00
Eric Blake
36a229e233 maint: post-release administrivia
* NEWS: Add header line for next release.
* .prev-version: Record previous version.
* cfg.mk (old_NEWS_hash): Auto-update.
2012-03-01 21:30:13 -07:00
Eric Blake
eeabb77781 Release Version 2.68b.
It's been more than a year since 2.68; time for a beta release
to shake out any last minute bugs, before a release of 2.69
in the near future.

* NEWS: Mention the release.
* HACKING: Update some instructions.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-03-01 21:28:54 -07:00
Eric Blake
14e8178c50 maint: resync files from upstream
* GNUmakefile: Resync via 'make fetch'.
* build-aux/config.guess: Likewise.
* build-aux/config.sub: 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/Getopt.pm: Likewise.
* lib/Autom4te/Struct.pm: Likewise.
* lib/Autom4te/XFile.pm: Likewise.
* maint.mk: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-03-01 21:28:52 -07:00
Eric Blake
ff3011217d tests: add test for AS_EXECUTABLE_P
Now that this is public, we should regression test it.

* tests/m4sh.at (AS@&t@_EXECUTABLE): New test.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-02-25 07:14:29 -07:00
Eric Blake
9e4e0a37d7 m4sh: make AS_EXECUTABLE_P public
In the process of making it public, factor it into a reusable
function.  This makes constructs like AC_CHECK_PROGRAM smaller,
as well as making libtool's naughty use of $as_executable_p safer.

* lib/m4sugar/m4sh.m4 (_AS_TEST_PREPARE): Add a shell function.
(AS_EXECUTABLE_P): Forward to shell function.
* doc/autoconf.texi (Common Shell Constructs): Document it.
* NEWS: Mention this.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-02-24 22:12:07 -07:00
Eric Blake
8798792f56 m4sh: require that 'test -x' works
4.3BSD is no longer a reasonable portability target; and we are
pretty sure that these days we can find at least one shell on any
platform that supports 'test -x'.  Drop a horribly unsafe use of
eval as a result. :)

Libtool still uses $as_executable_p without so much as calling
either AS_TEST_X or AS_EXECUTABLE_P; even though the latter has
existed, although undocumented, since at least 2.59; furthermore,
libtool uses it in a context where filtering out directories
would have been desirable.  Shame on them.

* lib/m4sugar/m4sh.m4 (_AS_TEST_X_WORKS): New probe.
(AS_SHELL_SANITIZE, AS_INIT): Use it in shell searching.
(AS_TEST_X, AS_EXECUTABLE_P): Simplify.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-02-24 21:46:26 -07:00
Eric Blake
fed83ed994 doc: mention more pitfalls of file mode tests
4.3BSD is museum-ware now, so we can assume that test -x exists;
however, we still can't assume that it always does what we want.

* doc/autoconf.texi (Limitations of Builtins) <test (files)>:
Treat 'test -x' as mostly portable, but mention problems with
root user, ACLs, and TOCTTOU races.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-02-24 20:52:44 -07:00
Eric Blake
989c790c4f docs: tweak 'rm -f' limitations
Based on http://debbugs.gnu.org/10819 and
http://austingroupbugs.net/view.php?id=542

* doc/autoconf.texi (Limitations of Usual Tools) <rm>: More
details on 'rm -f' without files.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-02-16 14:29:37 -07:00
Paul Eggert
e32b90e41f maint: replace FSF snail-mail addresses with URLs
* tests/erlang.at, tests/go.at, tests/statesave.m4:
Replace FSF snail mail addresses with URLs, as per GNU coding
standards, and for consistency with other tests.
2012-02-09 23:33:59 -08:00
Jim Meyering
a1a00a9768 maint: avoid "make syntax-check" failure
* Makefile.am ($(srcdir)/INSTALL): Remove spurious space-before-TAB.
2012-01-28 15:19:38 +01:00
Eric Blake
2fdeca5321 tests: fix test regression due to additional output
This test has been failing since commit 5285ea8c (sadly, since
last July; thankfully, unreleased).

* tests/m4sugar.at (m4@&t@_require: nested): Fix test.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-01-23 11:55:29 -07:00
Eric Blake
ac8beb0097 INSTALL: convert to '' quoting, drop blank line at end
This is allowed by recent GNU Coding Standards changes, and
mirrors recent gnulib changes:
https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00267.html
https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00298.html

I've confirmed that after these changes, the INSTALL generated and
installed by autoconf matches the INSTALL.ISO in gnulib.

* Makefile.am ($(srcdir)/INSTALL): Match gnulib INSTALL.ISO.

Signed-off-by: Eric Blake <eblake@redhat.com>
2012-01-23 11:30:35 -07:00
Jim Meyering
ae930c76c7 maint: convert .x-sc_* into exclude_file_name_regexp--sc_* exemptions
Many of the .x-sc_* exemptions were no long necessary.  Remove those
files and instead, provide exemptions via variable definitions in
cfg.mk to address the few remaining exceptions.
* .x-sc_prohibit_atoi_atof: Remove file.
* .x-sc_space_tab: Likewise.
* .x-sc_sun_os_names: Likewise.
* .x-sc_trailing_blank: Likewise.
* .x-sc_two_space_separator_in_usage: Likewise.
* .x-sc_useless_cpp_parens: Likewise.
* cfg.mk: Add minimal exemptions.
* cfg.mk: Add minimal exemptions.
* doc/standards.texi (Standard C): Address the sole useless-cpp-parens
violation in this file:
-#if defined (__STDC__) || defined (WINDOWSNT)
+#if defined __STDC__ || defined WINDOWSNT
With that, the only remaining offender is config.guess, whose name
is now listed in cfg.mk.
Suggested by Eric Blake.
2012-01-23 09:12:23 +01:00
Paul Eggert
015ecc5018 doc: work around mingw-w64 alloca problem with example
* doc/autoconf.texi (Particular Functions): In example code for
alloca, do not re-#define alloca.  This works around a mingw-w64
problem reported by Vincent Torri in
<http://lists.gnu.org/archive/html/autoconf/2012-01/msg00018.html>.
2012-01-23 00:11:20 -08:00
Jim Meyering
b035df38e0 maint: fix or disable failing syntax-check rules
* cfg.mk (local-checks-to-skip): List failing tests, so we skip
them, for now.
(old_NEWS_hash): Update.
* doc/autoconf.texi: Per suggestion from Eric Blake, obfuscate
the first word of "Filesystem Hierarchy Standard" as File@/system
so it continues to render as one word, yet doesn't trigger the
syntax-check prohibition.
2012-01-21 16:01:35 +01:00
Jim Meyering
d9256c2143 maint: also sync maint.mk and useless-if-before-free from gnulib
* cfg.mk (gnulib-update): Add them to the list.
* maint.mk: Update from gnulib.
* build-aux/gitlog-to-changelog: Likewise.
* build-aux/useless-if-before-free: New file, from gnulib.
* doc/gnu-oids.texi: Update.
2012-01-21 15:14:45 +01:00
Jim Meyering
364bdd3bff maint.mk: update from gnulib
* maint.mk: Update.
2012-01-21 15:14:33 +01:00
Jim Meyering
2ca285bdbc maint: placate syntax-check rules: exempt some false positives
* cfg.mk: Exempt maint.mk from the "undesirable word seq" check.
Exempt maint.mk and autoconf.texi from the test_minus_ao check.
2012-01-21 15:13:32 +01:00
Jim Meyering
5fdbf57c6a maint: tweak to avoid triggering space-tab-prohibiting syntax-check
* tests/m4sh.at (nargs): Use TAB-SP, not SP-TAB in abusive file name,
to avoid triggering the space-tab-prohibiting syntax-check.
2012-01-21 11:49:40 +01:00
Jim Meyering
40c846ea9c maint: remove empty lines at EOF
* man/autoconf.x: Remove empty line at EOF.
* man/autoheader.x: Likewise.
* man/autoscan.x: Likewise.
* man/autoupdate.x: Likewise.
* man/ifnames.x: Likewise.
* tests/compile.at: Likewise.
* doc/fdl.texi: Likewise.
2012-01-21 11:49:40 +01:00
Jim Meyering
a7f773305a doc: fix grammar/doubled-word errors
* doc/autoconf.texi: Remove/fix doubled-word errors.
Also, s/can not/cannot/.
* lib/m4sugar/m4sh.m4: Reword "if IF" comment to avoid triggering
the doubled-word warning.
2012-01-21 11:49:40 +01:00
Stefano Lattarini
7dae44f737 maint: sync files from gnulib
* GNUmakefile: Sync from gnulib.
* build-aux/announce-gen: Likewise.
* build-aux/config.guess: Likewise.
* build-aux/config.sub: Likewise.
* build-aux/git-version-gen: Likewise.
* build-aux/gnupload: Likewise.
* build-aux/move-if-change: Likewise.
* build-aux/texinfo.tex: Likewise.
* build-aux/update-copyright: Likewise.
* build-aux/vc-list-files: Likewise.
* doc/gendocs_template: Likewise.
* doc/standards.texi: Likewise.
* m4/autobuild.m4: Likewise.
2012-01-21 10:50:57 +01:00
Stefano Lattarini
95d927ec16 maint: make position of gnulib checkout configurable
Some gnulib-related tools (most prominently, the gnulib-provided
'bootstrap' script) allow the user to define the position of his
gnulib's repository checkout through the use of the 'GNULIB_SRCDIR'
environment variable.  We should do the same, for consistency and
to easily support slightly unusual layouts in developers' source
trees.

* cfg.mk (gnulib_dir): Define to "$GNULIB_SRCDIR" if that's set,
and to default value of "'$(abs_srcdir)'/../gnulib" otherwise.
Update comments.
2012-01-21 10:48:20 +01:00