summaryrefslogtreecommitdiff
path: root/tests/wrapper.as
Commit message (Collapse)AuthorAgeFilesLines
* Improve handling of missing aux scripts (autoreconf)Zack Weinberg2020-10-201-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Warn if AC_INIT or AC_OUTPUT are missing from configure.ac (#107986)Zack Weinberg2020-08-181-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is almost always incorrect for a configure script to omit either AC_INIT or AC_OUTPUT. Issue warnings in the ‘syntax’ category for this. The implementation is, unfortunately, a bit of a kludge. To check for the _absence_ of a macro invocation, we can use m4_provide_if inside a m4_wrap hook. However, if we activate the m4_wrap hook directly from general.m4, we get spurious warnings at freeze time. We also get warnings whenever a script that’s missing AC_INIT and/or AC_OUTPUT is *traced*, which means we get double warnings from autoconf, and autoheader and aclocal complain about it too, which seems unnecessary. A clean way to deal with this would be to make the hook look for a special macro that’s defined only when autoconf (the program) is invoked without any --trace arguments. Unfortunately, autom4te doesn’t pass --define down to M4, and changing that would involve coordinating with Automake (the project), so instead I’ve gone for the kludge: a new file lib/autoconf/trailer.m4 that calls m4_wrap. This file is *not* included in autoconf.m4f, but it’s installed, and it’s added to the m4 invocation by autoconf (the program) only when not tracing. (It still uses m4_wrap, because we pass it to m4 *before* configure.ac, because otherwise we get nonsense locations for any *other* diagnostics coming out of this autoconf invocation. I don’t know why.) The additional checks in autoreconf are intended to make sure that if autoreconf skips a directory entirely, you get told why. Lots of tests in the testsuite didn’t bother with AC_OUTPUT, and somewhat fewer didn’t bother with AC_INIT; where possible I just added them. Suggested by David A. Wheeler, who submitted a patch, but I didn’t wind up using any of his code. (His implementation used an extra tracing pass, only checked for a missing AC_INIT, and invented a new command-line option to turn off this specific warning. I thought this was tidier overall, despite the kludge.) * lib/autoconf/general.m4 (_AC_FINALIZE): New macro: code to be run when generating configure, after the entire configure.ac is processed. Currently only checks that AC_INIT and AC_OUTPUT were called at some point, issuing syntax-category warnings if not. (AC_INIT, AC_OUTPUT): m4_provide self. * lib/autoconf/trailer.m4: New file that just calls m4_wrap([_AC_FINALIZE]). * lib/local.mk: Install new file. * bin/autoconf.as: Add trailer.m4 to the final invocation of autom4te, but only when not tracing. * bin/autoreconf.in (autoreconf_current_directory): Distinguish in diagnostics between “directory skipped because it doesn’t have a configure.ac or configure.in” (e.g. Cygnus configure) and “directory has a configure.ac but it doesn’t appear to be autoconf input.” * tests/*.at: Fix all tests affected by the new warnings.
* maint: make update-copyrightJim Meyering2020-01-011-2/+2
|
* Prefer HTTPS to FTP and HTTPPaul Eggert2017-09-161-1/+1
|
* 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.
* maint: update copyright yearPaul Eggert2012-01-041-1/+1
| | | | All files changed to add 2012, via 'make update-copyright'.
* maint: update copyright yearEric Blake2011-01-041-1/+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/+2
| | | | | | All files changed to add 2010, via 'make update-copyright'. Signed-off-by: Eric Blake <ebb9@byu.net>
* Update License to GPLv3+ including new Autoconf Exception.Ralf Wildenhues2009-09-091-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * NEWS, README: Update licensing information. * COPYING.EXCEPTION: New file. * Makefile.am (EXTRA_DIST): Distribute it. * cfg.mk (autom4te-update): Remove copyright change warning. * lib/autoconf/autoconf.m4, lib/autoconf/autoheader.m4, lib/autoconf/autoscan.m4, lib/autoconf/autotest.m4, lib/autoconf/autoupdate.m4, lib/autoconf/c.m4, lib/autoconf/erlang.m4, lib/autoconf/fortran.m4, lib/autoconf/functions.m4, lib/autoconf/general.m4, lib/autoconf/headers.m4, lib/autoconf/lang.m4, lib/autoconf/libs.m4, lib/autoconf/oldnames.m4, lib/autoconf/programs.m4, lib/autoconf/specific.m4, lib/autoconf/status.m4, lib/autoconf/types.m4, lib/autotest/autotest.m4, lib/autotest/general.m4, lib/autotest/specific.m4, lib/m4sugar/foreach.m4, lib/m4sugar/m4sh.m4, lib/m4sugar/m4sugar.m4: Update exception statement, bump to GPLv3. * bin/autoconf.as, bin/autoheader.in, bin/autom4te.in, bin/autoreconf.in, bin/autoscan.in, bin/autoupdate.in, bin/ifnames.in: Bump to GPLv3+, adjust --version output to reflect the GPLv3+ and the Autoconf Exception. * lib/Autom4te/C4che.pm, lib/Autom4te/ChannelDefs.pm, lib/Autom4te/General.pm, lib/Autom4te/Request.pm, lib/autom4te.in, lib/autoscan/autoscan.pre, lib/emacs/autoconf-mode.el, lib/emacs/autotest-mode.el, lib/freeze.mk, tests/atlocal.in, tests/autoscan.at, tests/autotest.at, tests/base.at, tests/c.at, tests/compile.at, tests/erlang.at, tests/foreign.at, tests/fortran.at, tests/local.at, tests/m4sh.at, tests/m4sugar.at, tests/mktests.sh, tests/semantics.at, tests/statesave.m4, tests/suite.at, tests/tools.at, tests/torture.at, tests/wrapper.as: Bump to GPLv3+.
* Update copyright.Eric Blake2009-08-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * AUTHORS: Include 2009 in copyright. * lib/Autom4te/C4che.pm: Likewise. * lib/Autom4te/Channels.pm: Likewise. * lib/Autom4te/Configure_ac.pm: Likewise. * lib/Autom4te/FileUtils.pm: Likewise. * lib/Autom4te/General.pm: Likewise. * lib/Autom4te/Request.pm: Likewise. * lib/Autom4te/Struct.pm: Likewise. * lib/autoconf/Makefile.am: Likewise. * lib/autoconf/autoconf.m4: Likewise. * lib/autoconf/autoscan.m4: Likewise. * lib/autoconf/autoupdate.m4: Likewise. * lib/autoconf/functions.m4: Likewise. * lib/autoconf/libs.m4: Likewise. * lib/autoconf/oldnames.m4: Likewise. * lib/autoconf/types.m4: Likewise. * lib/autoscan/Makefile.am: Likewise. * lib/autoscan/autoscan.pre: Likewise. * lib/autotest/Makefile.am: Likewise. * lib/autotest/autotest.m4: Likewise. * lib/emacs/autoconf-mode.el: Likewise. * lib/emacs/autotest-mode.el: Likewise. * lib/freeze.mk: Likewise. * lib/m4sugar/foreach.m4: Likewise. * man/Makefile.am: Likewise. * tests/atlocal.in: Likewise. * tests/autoscan.at: Likewise. * tests/foreign.at: Likewise. * tests/fortran.at: Likewise. * tests/mktests.sh: Likewise. * tests/semantics.at: Likewise. * tests/suite.at: Likewise. * tests/wrapper.as: Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
* Use GPLv2+ plus exception as license for release.Eric Blake2008-04-051-3/+5
| | | | | | | | | | | | | | | | Return back to GPLv2+, until the text of the exceptions is finalized, reverting the change from 2007-07-03 and the first part of the change from 2007-07-20. Also: * COPYING: Revert to GPLv2. * COPYINGv3: New file, since some auxiliary build tools, used for building autoconf and not installed, are GPLv3. * Makefile.am (EXTRA_DIST): Distribute COPYINGv3. * NEWS: Remove mention of GPLv3. * README: Clarify situation regarding GPLv3. Signed-off-by: Eric Blake <ebb9@byu.net>
* * tests/fortran.at, tests/mktests.sh, tests/wrapper.as: Fix typos.Stepan Kasal2008-03-141-2/+0
|
* Fix testsuite program wrapper for whitespace in `pwd`.Ralf Wildenhues2007-12-081-4/+5
| | | | | | | | | | | The problem here is that the usual mantra is that command variables can contain arguments, thus we cannot just escape $AUTOCONF, $AUTOM4TE etc. The compromise is to put the $top_builddir/tests directory early in $PATH, so that the wrappers are found by their plain name. * tests/wrapper.as: Put $testdir early in $PATH. (AUTOCONF, AUTOHEADER, AUTOM4TE): Set to plain command names.
* Reword the copyright notices to match what's suggested in GPLv3.Paul Eggert2007-07-201-5/+5
|
* Update to GPLv3.Paul Eggert2007-07-031-1/+1
|
* Update FSF postal mail address.Paul Eggert2005-05-141-2/+2
|
* * configure.ac (test suite): Cease to generate wrapper scripts.Paul Eggert2004-12-091-7/+6
| | | | | | | | | | | | | | | | | | | * configure: Regenerate. * lib/freeze.mk (MY_AUTOM4TE): Wrap the uninstalled autom4te directly. (m4f_dependencies): Adjust accordingly. * tests/Makefile.am (Wrappers): Generate wrapper scripts. (wrapper.in): Generate it in the build directory. (MAINTAINERCLEANFILES): Delete wrapper.in. (CLEANFILES): Add wrapper.in. * tests/wrapper.as: Move AS_INIT to very top, preserving copyright in the output. Replace each $as_me with a @wrap_program@. * tests/wrapper.in: Delete it; we always build it. * bin/Makefile.am (autoconf.in): Generate it in the build directory. (EXTRA_DIST): Remove autoconf.in. (CLEANFILES): Add autoconf.in. (autoconf): Find autoconf.in in the build directory. * bin/autoconf.in: Delete it; we always build it.
* (testdir, AUTOM4TE_CFG, autom4te_perllibdir, main program):Paul Eggert2004-08-201-8/+8
| | | | Allow spaces in file names.
* Version 2.57d.AUTOCONF-2.57dAkim Demaille2003-09-251-5/+23
| | | | | | | | | | | | | | | | * bin/Makefile.am (edit): Handle '@configure_input@'. (autoconf, autoheader, autom4te, autoreconf, autoscan, autoupdate) (ifnames): chmod -w. * tests/wrapper.as (AUTOCONF, AUTOM4TE, ): Point to tests/ executables, not bin/ executables! Otherwise all the magic needed to find non installed files is turned off. This caused a failure of test 40 and 41 that ran aclocal 1.8 which in turn ran autom4te as found in its environment (sent by tests/autoreconf): pointing to bin/autom4te that could not find its files. * tests/mktests.sh: Force the replacement of generated files, for the sake of "mv" program that are interactive when overwriting a -w file. * config/install-sh: Upgrade from CVS Automake.
* * tests/wrapsh.as, tests/wrappl.as: Merge into...Akim Demaille2002-07-171-0/+24
* tests/wrapper.as: this. * tests/Makefile.am, configure.ac: Adjust.