summaryrefslogtreecommitdiff
path: root/README-hacking
Commit message (Collapse)AuthorAgeFilesLines
* Go back to requiring only Perl 5.6+ for usersPaul Eggert2023-03-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 61901a1a14fd50c03cfb1529d091554376fef286 dated 2022-07-10 bumped the Perl requirement to 5.10 or later, because commit 3a9802d60156809c139e9b4620bf04917e143ee2 dated 2021-08-31 added code using Time::HiRes’s ‘stat’ function, a feature added in Perl 5.8.9+ or Perl 5.10+, and it was hard to find Perl 5.8.9 hosts to test with. Also, requiring Perl 5.10 meant that we could then use operators like Digest::SHA, the // and //= operators, the regexp \K escape, and ‘state’ variables. However, that Time::HiRes code, which was taken from Automake, has recently been made optional by Automake, and it now works again with Perl 5.6. And Autoconf is not yet using any other post-5.6 feature, except when developers run help-extract.pl (something Autoconf users do not use). So relax the Autoconf user requirement back to 5.6 as it was in Autoconf 2.71; although Autoconf developers will need 5.10 or better, Autoconf users can get by with 5.6. I ran into this problem when testing the Autoconf release candidate on Solaris 10, which has Perl 5.8.4. Oracle says Solaris 10’s end-of-life is January 2024, so it’s still (barely) a viable porting target. Of course with Solaris 10 one must install a recent-enough GNU m4, but adding a requirement to also install a recent-enough Perl is a new barrier, and if it’s not needed then it might be better to wait until it is needed (or until 2024 arrives). * NEWS: Update news item about Perl 5.6 vs 5.10. * README-hacking: Bump Perl recommendation to 5.10. * build-aux/fetch.pl: Do not munge imported code to require 5.10.
* make update-copyrightPaul Eggert2023-01-201-1/+1
|
* Update M4 version numbers in documentationPaul Eggert2022-10-051-1/+1
|
* make update-copyrightPaul Eggert2022-05-191-1/+1
|
* Add a bootstrap script like Automake has.Zack Weinberg2021-09-151-9/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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).
* Autoconf now quotes 'like this' instead of `like this'Paul Eggert2021-07-201-2/+2
| | | | | | | 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.
* make update-copyrightZack Weinberg2021-01-281-1/+1
|
* make fetch and update savannah gitweb urls to cgit.Zack Weinberg2020-11-301-3/+3
| | | | | | | | | | 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.
* * doc/autoconf.texi: Fix mishandling of `.v2.69bPaul Eggert2020-07-131-3/+3
|
* Update hyperlinks in the manual and README-hacking.Zack Weinberg2020-07-101-2/+2
| | | | | | | | 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.
* README-hacking: re-configure from scratch during bootstrap.Zack Weinberg2020-03-131-0/+2
| | | | | | | | | 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.
* maint: make update-copyrightJim Meyering2020-01-011-1/+1
|
* maint: update URLsPaul Eggert2017-09-231-3/+3
| | | | Most of this is replacing http: with https: when either will do.
* Prefer HTTPS to FTP and HTTPPaul Eggert2017-09-161-11/+11
|
* maint: update copyright dates for 2017Jim Meyering2017-01-011-1/+1
| | | | | * all files: Run "make update-copyright". * doc/autoconf.texi: Update manually.
* maint: make update-copyrightPaul Eggert2016-02-061-1/+1
|
* maint: bump copyright to 2015Paul Eggert2015-01-021-1/+1
| | | | * all files: Run 'make update-copyright'.
* maint: bump copyright to 2014Eric Blake2014-01-011-1/+1
| | | | | | | Done via 'make update-copyright', since all files are effectively modified and distributed this year via public version control. * all files: Update copyright year.
* maint: bump copyright to 2013Eric Blake2013-01-031-1/+1
| | | | | | | Done via 'make update-copyright', since all files are effectively modified and distributed this year via public version control. * all files: Update copyright year.
* build: require perl 5.6Eric Blake2012-03-071-1/+1
| | | | | | | | | | | | 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.
* maint: update copyright yearPaul Eggert2012-01-041-1/+1
| | | | All files changed to add 2012, via 'make update-copyright'.
* README-hacking: fix typoJim Meyering2011-03-271-1/+1
| | | | * README-hacking: s/just build/just built/.
* maint: update copyright yearEric Blake2011-01-041-2/+1
| | | | | | All files changed to add 2011, via 'make update-copyright'. Signed-off-by: Eric Blake <eblake@redhat.com>
* Update copyright year.Eric Blake2010-01-051-1/+1
| | | | | | All files changed to add 2010, via 'make update-copyright'. Signed-off-by: Eric Blake <ebb9@byu.net>
* testsuite: pass $configure_options to configure invocations.Ralf Wildenhues2009-09-141-0/+5
| | | | | | | | | | * 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>
* Normalize remaining copyright lines.Eric Blake2009-08-171-1/+2
| | | | | | | | | | | | | | | | * 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>
* Require m4 1.4.6, and fix testsuite to support this version.Eric Blake2009-07-251-1/+1
| | | | | | | | | | | | | | | * 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>
* Update uses of all-permissive license.Eric Blake2009-05-201-13/+5
| | | | | | | | | | | | | | | | | | | | | | | * 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>
* Let 'git diff' give better context for doc updates.Eric Blake2008-08-181-0/+7
| | | | | | | | * .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>
* Mention more details about git usage in bootstrap.Eric Blake2008-04-151-4/+16
| | | | Signed-off-by: Eric Blake <ebb9@byu.net>
* Update various hacking notes.Eric Blake2008-04-091-12/+58
| | | | | | | * HACKING: Add more maintainer-specific details. * README-hacking: Add more general-contributor details. Signed-off-by: Eric Blake <ebb9@byu.net>
* Avoid some autoreconf -Wall warnings.Eric Blake2008-04-051-6/+6
| | | | | | | | | | | | | | | | | | * 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>
* Kill more CVS references.Eric Blake2008-03-201-0/+3
| | | | | | | | * 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>
* Use git-merge-changelog when available.Eric Blake2008-03-041-1/+4
| | | | | | | * .gitattributes: New file. * README-hacking: Document use of git-merge-changelog. Signed-off-by: Eric Blake <ebb9@byu.net>
* Adjust the build procedure so "make check" works reliably.Jim Meyering2007-11-031-2/+5
| | | | | * README-hacking: Include an extra step between "make" and "make check" to ensure that the latter passes.
* README-hacking: Only Autoconf, Automake, and Perl are required to _build_.Jim Meyering2007-10-281-2/+5
| | | | List Gzip and Tar separately. Suggested by Ralf Wildenhues.
* README-hacking: Recommend running autoreconf -vi.Jim Meyering2007-10-281-3/+1
| | | | | | * GNUmakefile (dummy): Use autoreconf -i, with appropriate PATH, so that we use just-built tools when they're available. Suggestions from Ralf Wildenhues.
* Make inter-release --version output more useful.Jim Meyering2007-10-281-0/+1
| | | | | | | | | | | | | | | | | | | 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.
* Remove all generated files from version control.Jim Meyering2007-10-271-0/+66
* 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.