2
0
mirror of git://git.sv.gnu.org/autoconf synced 2025-03-07 14:26:52 +08:00
Commit Graph

36 Commits

Author SHA1 Message Date
Paul Eggert
ef27f692a0 make update-copyright 2022-05-19 13:57:38 -07:00
Zack Weinberg
8de33b817f
Add a bootstrap script like Automake has.
The bootstrap script generates the same files ‘autoreconf -vi’ would,
in a normal package, but it uses autoconf *from the git sources* to do
it.  This means people building from git do not need autoconf to be
installed already.  More importantly, it eliminates the extra steps
when building from git, of re-generating autoconf’s own configure
script with the just-built autoconf, then rebuilding the entire tree.

(This process still requires Automake to be installed already, and
Automake’s bootstrap script requires Autoconf to be installed already,
so there is still a dependency loop between Autoconf and Automake when
building from git—you need at least one of them installed from a
tarball to get started.)

The bootstrap script works by creating a partial installation tree in
a temporary directory, containing bin/autoconf, bin/autom4te, and just
enough of the usual contents of $(pkgdatadir) for autoconf and
autom4te to work.  It then runs a hardcoded list of commands,
corresponding to what ‘autoreconf -i -Wall,error’ would run, but
setting environment variables AUTOCONF and AUTOM4TE to ensure the
bootstrap versions of these tools are used.  (We have to create both,
because automake runs autoconf, not autom4te, to trace configure.ac.)

The ‘Autom4te’, ‘autoconf’, and ‘m4sugar’ subdirectories of the
partial installation tree are symlinked back to the source tree; this
is why version.m4 needed to be moved out of the m4sugar subdirectory,
so the bootstrap script can create it without scribbling on the source
tree.  autom4te is run in --melt mode, so we don’t need to create
freeze files in any subdirectories either.  All of the substitution
variables that are needed for autoconf and autom4te to both run, and
create the same output that they would have if fully configured, are
honored (unfortunately this does involve digging around in
configure.ac with sed expressions).
2021-09-15 14:26:11 -04:00
Paul Eggert
64df9b4523 Autoconf now quotes 'like this' instead of `like this'
Autoconf’s diagnostics now follow current GNU coding standards,
which say that diagnostics in the C locale should quote 'like this'
with plain apostrophes instead of the older GNU style `like this'
with grave accent and apostrophe.
2021-07-20 16:04:21 -05:00
Zack Weinberg
300349c84b
make update-copyright 2021-01-28 15:19:21 -05:00
Zack Weinberg
50e9bcc67d
make fetch and update savannah gitweb urls to cgit.
Several of the files updated by make fetch have made this change, so
we follow suit for consistency:

* README-hacking
* build-aux/fetch.pl
* doc/autoconf.texi: Replace all git.savannah.gnu.org/gitweb URLs with
  equivalent /cgit URLs.
2020-11-30 11:45:24 -05:00
Paul Eggert
5878ecc5fe * doc/autoconf.texi: Fix mishandling of `. 2020-07-13 12:55:19 -07:00
Zack Weinberg
74010f5300
Update hyperlinks in the manual and README-hacking.
Lots of http:// -> https:// conversions;
refer to XZ Utils instead of the obsolete LZMA Utils;
remove dead link to dbaspot.com;
replace mention of -fmudflap with -fsanitize=
  and add a proper cross-reference to the GCC manual for that.
2020-07-10 16:43:22 -04:00
Zack Weinberg
2d06297bd5
README-hacking: re-configure from scratch during bootstrap.
When building autoconf from a git checkout, recommend running
‘make distclean’ and a second ‘./configure’ after regenerating
autoconf’s own configure script using the just-built autoconf.
If one only runs ‘make check’ at that point, some configure-time
tests will not be repeated using the new code, such as detection
of a “better” shell.
2020-03-13 13:35:01 -04:00
Jim Meyering
d78a7dd95f maint: make update-copyright 2020-01-01 11:45:50 -08:00
Paul Eggert
b0ee838e11 maint: update URLs
Most of this is replacing http: with https: when either will do.
2017-09-23 12:49:23 -07:00
Paul Eggert
d3dcd5895d Prefer HTTPS to FTP and HTTP 2017-09-16 17:48:51 -07:00
Jim Meyering
60460b91d0 maint: update copyright dates for 2017
* all files: Run "make update-copyright".
* doc/autoconf.texi: Update manually.
2017-01-01 05:18:32 -08:00
Paul Eggert
bbfa63cd4a maint: make update-copyright 2016-02-06 17:17:49 -08:00
Paul Eggert
7b13e39a11 maint: bump copyright to 2015
* all files: Run 'make update-copyright'.
2015-01-02 13:03:39 -08:00
Eric Blake
a610501ded maint: bump copyright to 2014
Done via 'make update-copyright', since all files are effectively
modified and distributed this year via public version control.

* all files: Update copyright year.
2014-01-01 16:27:53 -07:00
Eric Blake
fbaee459bf maint: bump copyright to 2013
Done via 'make update-copyright', since all files are effectively
modified and distributed this year via public version control.

* all files: Update copyright year.
2013-01-03 14:58:52 -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
Paul Eggert
b69f4c2834 maint: update copyright year
All files changed to add 2012, via 'make update-copyright'.
2012-01-04 00:20:24 -08:00
Jim Meyering
bc9e46833e README-hacking: fix typo
* README-hacking: s/just build/just built/.
2011-03-27 19:26:16 +02:00
Eric Blake
1864b1a3c4 maint: update copyright year
All files changed to add 2011, via 'make update-copyright'.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-01-04 16:34:06 -07:00
Eric Blake
b95a1aea40 Update copyright year.
All files changed to add 2010, via 'make update-copyright'.

Signed-off-by: Eric Blake <ebb9@byu.net>
2010-01-05 20:59:55 -07:00
Ralf Wildenhues
5d38833a3d 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.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-09-14 19:30:22 +02:00
Eric Blake
ac272f28c0 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.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-08-17 06:50:39 -06:00
Eric Blake
e18033c024 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.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-07-25 17:24:47 -06:00
Eric Blake
6382b687fd 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.

Signed-off-by: Eric Blake <ebb9@byu.net>
2009-05-20 06:02:49 -06:00
Eric Blake
9479d2c639 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.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-08-18 06:25:49 -06:00
Eric Blake
c48d3a706f Mention more details about git usage in bootstrap.
Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-15 06:56:56 -06:00
Eric Blake
f8bb7242a1 Update various hacking notes.
* HACKING: Add more maintainer-specific details.
* README-hacking: Add more general-contributor details.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-09 10:23:26 -06:00
Eric Blake
eb06dd76c9 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.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-04-05 09:24:18 -06:00
Eric Blake
5def6b80ec Kill more CVS references.
* README-cvs: Delete.  See README-hacking instead.
* README-hacking: Update wording, based on older file.
* BUGS: Remove CVS mention.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-20 14:14:44 -06:00
Eric Blake
f687ca65ea Use git-merge-changelog when available.
* .gitattributes: New file.
* README-hacking: Document use of git-merge-changelog.

Signed-off-by: Eric Blake <ebb9@byu.net>
2008-03-04 15:13:25 -07: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
4bf3c4459c README-hacking: Only Autoconf, Automake, and Perl are required to _build_.
List Gzip and Tar separately.  Suggested by Ralf Wildenhues.
2007-10-28 15:32:42 +01:00
Jim Meyering
a441cb176c 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 15:30:07 +01:00
Jim Meyering
441bb2a1c3 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-28 15:29:01 +01:00
Jim Meyering
7ffc555888 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-27 12:44:59 +02:00