autoconf/bin
Zack Weinberg 35a1c64600
Improve handling of missing aux scripts (autoreconf)
Make ‘autoreconf --install’ add config.sub, config.guess, and
install-sh to the source tree when necessary.  This is only relevant
for packages that don’t use Automake, because ‘automake --add-missing’
already adds these scripts to the source tree, but apparently there
are plenty of packages out there that don’t use Automake, didn’t need
config.{sub,guess} with autoconf 2.69, and do need them with 2.70.
Such packages will need to have their equivalent of ‘make dist’
manually updated to ship the new files, of course.

This patch also has ‘autoreconf’ issue an error if aux files are
missing and ‘--install’ *wasn’t* used, or if --install *was* used but
could not install all the missing files.  This error is more likely to
be caught by maintainers than the configure-time error added in the
previous patch.  It is not currently practical to make autoconf itself
issue this error message, because of how the autoconf wrapper script
is different from all the other wrapper scripts.  Also, autoreconf
runs automake *after* autoconf, so we’d get spurious errors from
packages that do use automake.

* bin/autoreconf.in ($buildauxdir): New package global, initialized
  to $pkgdatadir/build-aux, or to $ENV{autom4te_buildauxdir} if that’s set.
  (find_missing_aux_files, can_install_aux_files, try_install_aux_files)
  (install_aux_file, make_executable): New subs.
  (autoreconf_current_directory): Trace AC_REQUIRE_AUX_FILE.
  After running all tools that might install aux files, try to
  install aux files ourself if --install was given.
  After that, report on any that are still missing.
* lib/autom4te.in (Autoreconf-preselections): Add AC_REQUIRE_AUX_FILE.
  Make list order consistent with list order in autoreconf.in.
* tests/wrapper.as: Set autom4te_buildauxdir to point to location of
  config.guess, config.sub, and install-sh within the source tree.

* lib/local.mk: Install config.guess, config.sub, and install-sh
  into $(pkgdatadir)/build-aux.

* doc/autoconf.texi: Document that autoreconf can now install
  config.guess, config.sub, and install-sh itself without help from
  automake, but packages not using automake will need to arrange for
  tarball distribution of these files by hand.

* tests/torture.at (Missing auxiliary files): Test autoreconf as well.
2020-10-20 16:57:01 -04:00
..
autoconf.as Manually sync ChannelDefs.pm from automake. 2020-09-22 15:46:42 -04:00
autoheader.in Disable all warnings when running autoconf as a subprocess. 2020-09-22 15:46:43 -04:00
autom4te.in Manually sync ChannelDefs.pm from automake. 2020-09-22 15:46:42 -04:00
autoreconf.in Improve handling of missing aux scripts (autoreconf) 2020-10-20 16:57:01 -04:00
autoscan.in Disable all warnings when running autoconf as a subprocess. 2020-09-22 15:46:43 -04:00
autoupdate.in Manually sync ChannelDefs.pm from automake. 2020-09-22 15:46:42 -04:00
ifnames.in Fatalize all warnings in Perl code. 2020-08-31 13:15:46 -04:00
local.mk maint: make update-copyright 2020-01-01 11:45:50 -08:00