63 Commits

Author SHA1 Message Date
Paul Eggert
61075eab73 maint: make update-copyright 2025-01-01 14:39:21 -08:00
Paul Eggert
b80b5c476e maint: make update-copyright 2024-01-01 13:23:27 -08:00
Mike Frysinger
34bdde960f maint: make update-copyright 2023-01-04 02:00:14 -05:00
Jim Meyering
6c8ff6a8f3 maint: make update-copyright 2022-01-12 14:15:12 -08:00
Jim Meyering
a470a47f20 maint: make update-copyright 2021-07-11 19:41:58 -07:00
Jim Meyering
cf27a3dfc6 maint: make update-copyright 2020-01-01 11:44:41 -08:00
Paul Eggert
5ae02cc829 maint: make update-copyright 2019-10-14 13:47:25 -07:00
Mathieu Lirzin
bbaa4cdcd3
maint: Update copyright years to 2018
This update has been made with 'make update-copyright'.
2018-01-04 16:23:13 +01:00
Paul Eggert
3562e384f4
Prefer https: URLs
In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use
https:, to discourage man-in-the-middle attacks when downloading
software. The attached patch propagates these changes upstream to
Automake.  This patch does not affect files that Automake is
downstream of, which I'll patch separately.

Althouth the resources are not secret, plain HTTP is vulnerable to
malicious routers that tamper with responses from GNU servers,
and this sort of thing is all too common when people in some other
countries browse US-based websites. See, for example:

Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar
S. Analyzing internet censorship in Pakistan. RTSI
2016. https://dx.doi.org/10.1109/RTSI.2016.7740626

HTTPS is not a complete solution here, but it can be a significant
help. The GNU project regularly serves up code to users, so we should
take some care here.
2017-09-19 13:10:44 +02:00
Mathieu Lirzin
20e898dc2b
maint: Define API version manually
* configure.ac (APIVERSION): Define it to 1.15a.
* bootstrap (APIVERSION): Parse 'configure.ac' to get it.
2017-08-31 12:14:00 +02:00
Mathieu Lirzin
574b20e518
build: Inline perl prototypes in sources
Prototypes allows us to avoid using the '&foo' invocation form when
invoking a subroutine before its definition.  Previously those
prototypes were generated to prevent them from falling out-of-sync
with actual definitions.  Now we provide a 'check-perl-protos' lint
script to ensure that this is not the case.  This has the same
benefits as generating prototypes while simplifying the
bootstrap/build process.

* bin/gen-perl-protos: Remove.
* bin/Makefile.inc: Adapt.
* bootstrap: Likewise.
* bin/aclocal.in: Inline prototypes.
* bin/automake.in: Likewise.
* maintainer/check-perl-protos: New lint script.
* maintainer/syntax-checks.mk (sc_perl_protos): New target.
(syntax_check_rules): Add it.
2017-08-31 11:55:02 +02:00
Mathieu Lirzin
27fbeb77f9
bootstrap: Add a rationale for the bootstrap process.
* bootstrap: Explain why we can't simply run 'autoreconf -i'.
2017-05-20 14:20:32 +02:00
Mathieu Lirzin
386569b29b
bootstrap: Rename 'bootstrap.sh' to 'bootstrap'.
Follow Gnulib's convention of using either "bootstrap" or "autogen.sh"
file names for development bootstrap scripts.

* bootstrap.sh: Rename to ...
* bootstrap: ... this.
* GNUmakefile (bootstrap): Adapt.
* HACKING: Likewise.
* Makefile.am (EXTRA_DIST): Likewise.
* doc/automake.texi (Future of aclocal)
(Error required file ltmain.sh not found): Likewise.
* maintainer/maint.mk (autodiffs, update-copyright): Likewise.
2017-05-20 14:13:10 +02:00
Stefano Lattarini
5f810d0d3a fixup: avoid unconditional re-bootstrapping on "make dist"
Since our 'bootstrap' script is distributed, the 'distdir' target depends
on it.  But in our GNUmakefile, we also have a 'bootstrap' target declared
.PHONY, which when called re-bootstrap the Automake distribution.  Thus,
whenever we run "make dist", GNU make sees it must remake the 'bootstrap'
target (as it is a dependency of the 'distdir' target), and thus ends up
re-bootstrapping all the package (because of the .PHONY 'bootstrap' target
in GNUmakefile).

We fix this issue by renaming our bootstrap script to 'bootstrap.sh'.

* bootstrap: Renamed ...
* bootstrap.sh: ... to this.
* GNUmakefile (bootstrap): Adjust.
* Makefile.am (EXTRA_DIST): Likewise.
(autodiffs): Likewise.
* HACKING: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-04-28 10:38:07 +02:00
Stefano Lattarini
8ea72c7451 build: ensure release year in copyright notice is up-to-date
From a suggestion by Eric Blake.  See automake bug#11356.
This is a follow-up to previous patch 'v1.12-12-gb99b5be'.

* configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold
the value of the current year.
* Makefile.am (update-copyright): Be sure to also update the
definition of 'RELEASE_YEAR' in configure.ac.
* lib/Automake/Config.in ($RELEASE_YEAR): New exported variable,
initialized from the value substituted for '@RELEASE_YEAR@'.
(@EXPORT): Add it.
* automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be
substituted at make time) instead of hard-coding the release
year.  This should ensure the copyright range in the version
message and in the generated files (Makefile.in and aclocal.m4)
are automatically kept up-to-date.
* bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-04-28 09:31:02 +02:00
Stefano Lattarini
8e02441b00 maint: no more make recursion in Automake's build system
We finally merge testsuite-related part of the Automake build
system with the top-level one.  See also yesterday's commit
'v1.11-2124-ga4b0f4b', "maint: remove most recursion in automake's
own build system".

* t/gen-testsuite-part: Move ...
* gen-testsuite-part: ... here, with required adjustments.
* t/defs-static.in: Move ...
* defs-static.in: ... here, with required adjustments.  In
particular ...
($testsrcdir, $testbuilddir): Removed.
($top_testsrcdir): Renamed ...
($am_top_srcdir): ... to this.
($top_testbuilddir): Renamed ...
($am_top_builddir): ... to this.
* t/defs: Move ...
* defs: ... here, and adjust as required.
* t/Makefile.am: Merge ...
* Makefile.am: ... in here, with related adjustments and
simplifications.
* bootstrap: Adjust as required.
* syntax-checks.mk: Likewise.
* .gitignore: Likewise.
* t/ax/tap-setup.sh: Likewise.
* t/get-sysconf.sh: Likewise.
* t/help-multilib.sh: Likewise.
* t/multlib.sh: Likewise.
* t/parallel-tests2.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-exit.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-explicit-skips.sh: Likewise.
* t/self-check-reexec.tap: Likewise.
* t/self-check-sanity.sh: Likewise.
* t/yacc-d-cxx.sh: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-04-06 21:29:31 +02:00
Stefano Lattarini
8a5096d150 tests: rename 'tests/' => 't/', '*.test' => '*.sh'
When we (soon) convert the Automake testsuite to a non-recursive
make setup, we'll have to fix the entries of $(TESTS) to be
prepended with the subdirectory they are in; this will increase
the length of $(TESTS), and thus increase the possibility of
exceeding the command-line length limits on some systems (most
notably, MinGW/MSYS).  See automake bug#7868 for more information.

Thus we rename the 'tests/' subdirectory to 't/', and each 'x.test'
script in there to 'x.sh'; this way, the $(TESTS) entry 'foo.test'
will become 't/foo.sh', which have the same number of characters.

* tests/: Rename ...
* t/: ... to this.
* t/*.test: Rename ...
* t/*.sh: ... to this.
* t/.gitignore: Removed as obsolete.
* t/defs: Adjust.
* t/gen-testsuite-part: Likewise.
* t/list-of-tests.mk: Likewise.
* t/ccnoco.sh: Likewise.
* t/ccnoco3.sh: Likewise.
* t/self-check-cleanup.tap: Likewise.
* t/self-check-dir.tap: Likewise.
* t/self-check-me.tap: Likewise.
* t/self-check-reexec.tap: Likewise.
* README: Likewise.
* bootstrap: Likewise
* configure.ac: Likewise.
* Makefile.am: Likewise.
* .gitignore: Likewise.
* syntax-check.mk: Likewise.

Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2012-04-06 21:29:30 +02:00
Stefano Lattarini
2d9519836f build: do not quote `like this', as per GCS recommendation
This patch converts the files implementing the automake's own build
system to the use of new quoting format 'like this' or "like this"
rather than `like this'.

* bootstrap, configure.ac, syntax-checks.mk, Makefile.am,
lib/Makefile.am, m4/Makefile.am, syntax-checks.mk: Update quoting
format throughout, in comments and diagnostic.  Some minor related
rewordings and reformatting since we are at it.
2012-02-23 20:26:14 +01:00
Stefano Lattarini
641a5a4bf0 maint: run "make update-copyright" 2012-02-16 10:46:23 +01:00
Stefano Lattarini
6cf4d911da Merge branch 'test-protocols' into testsuite-work
* test-protocols:
  aclocal: more granularity in acdir overriding
2011-09-08 17:58:00 +02:00
Stefano Lattarini
eae542988e Merge branch 'maint'
* maint:
  aclocal: more granularity in acdir overriding
2011-09-08 17:14:26 +02:00
Stefano Lattarini
30f99cbd07 aclocal: more granularity in acdir overriding
Before this change, using the `--acdir' option caused aclocal to
redefine both the directory of automake-provided m4 macros and the
directory of third-party system-wide m4 macros.  With this change,
we deprecate the `--acdir' aclocal option, and introduce two new
options `--automake-acdir' and `--system-acdir', to allow for more
granularity.

* aclocal.in (@automake_includes, @system_includes,
@user_includes): Fix and extend comments.
(usage): Update.
(handle_acdir_option): New function.
(parse_arguments): Recognize new options `--system-acdir' and
`automake-acdir', and handle `--acdir' using the new function
above.  Simplify logic by assuming that the directory of
third-party system-wide m4 files always exists.
* tests/aclocal.in: Update to use the new options, instead of
the deprecated. `--acdir'.
* m4/dirlist: Move ...
* m4/acdir/dirlist: ... here.
* m4/Makefile.am (EXTRA_DIST): Update.
(m4datadir): Rename ...
(automake_acdir): ... to this.  Accordingly, ...
(dist_m4data_DATA): ... rename this ...
(dist_automake_ac_DATA): ... to this.
(system_acdir): New, directory.
(dist_system_ac_DATA): New, defined to an empty value; this will
ensure that the $(system_acdir) directory will be created by
"make install".
* tests/aclocal.test: Remove check about the `--print-ac-dir'
option of aclocal, it has been moved into ...
* tests/aclocal-print-acdir.test: ... this new test, and quite
extended.
* tests/aclocal-acdir.test: New test.
* tests/Makefile.am (TESTS): Add the new tests.
* NEWS, bootstrap: Update.
* doc/automake.texi (aclocal Options, Macro Search Path): Update.
2011-09-08 17:05:49 +02:00
Stefano Lattarini
03f4a090c0 cosmetic: rename gen-tests-deps -> gen-testsuite-part
* tests/gen-tests-deps: Renamed ...
* tests/gen-testsuite-part: ... to this.
* bootstrap: Update.
* tests/Makefile.am ($(srcdir)/tests-deps.am): Don't generate
nor include this ...
($(srcdir)/testsuite-part.am): ... do with this instead.
* tests/.gitignore (tests-deps.am): Don't ignore this ...
(testsuite-part.am): ... ignore this instead.
2011-09-08 16:33:41 +02:00
Stefano Lattarini
375f23dfb5 testsuite: revamp generation of autogenerated tests
With this change, we make generated tests be real scripts again
-- albeit only thin layers around the tests they wrap.  It turned
out that the apparently clever tricks we played by having lots
of custom (and auto-generated) `..._LOG_COMPILER' variables and
by having the tests in $(wrap_TESTS) not being real on-file-system
scripts caused more pain and confusion than expected, for only
marginal gains.  Also, that previous setup didn't interact very
well with "make check RECHECK_LOGS=", since the log files for
the "wrappee" tests were always considered out-of-date (which in
hindsight is natural, since these log files depended on wrappee
tests that didn't exist -- and weren't created).  And finally, it
wasn't possible to easily and naturally run the wrappee tests
from the command line -- definitely harmful for debugging and
sanity checking.

* tests/gen-wrap-tests: Deleted, its role subsumed into ...
* tests/gen-tests-deps: ... this script, with the help of
(unindent, atomic_write, build_matcher, write_wrapper_script,
%test_generators): ... these new functions and variables.
Other few minor fixlets and improvements.
* tests/wrap-tests.sh: Delete, not needed anymore.
* tests/Makefile.am ($(srcdir)/wrap-tests.am): Don't generate
nor include anymore.
(EXTRA_DIST): Update.
(wrap_TESTS): Renamed to ...
(generated_TESTS): ... this.
($(generated_TESTS)): Must have the same dependencies of
`$(srcdir)/tests-deps.am'.
Other minor related reordering and adjustments.
* bootstrap: Do not generate `wrap-tests.am' anymore.
* tests/.gitignore (wrap-tests.am): Don't ignore anymore.
(*-w.test, *-w.tap): Ignore.
* tests/README: Update paragraph on automatically-generated
tests.
2011-09-08 16:32:30 +02:00
Stefano Lattarini
e4777b8dc1 testsuite: automatize generation of dependencies for tests
* tests/gen-test-deps: New script, automatically generates
dependencies for the tests.
* tests/Makefile.am (EXTRA_DIST): Distribute it.
($(srcdir)/tests-deps.am): New rule.
(include $(srcdir)/tests-deps.am): New inclusion.
Remove hand-written dependencies for tests.  Other related
updates.
* tests/list-of-tests (tap_with_common_setup_TESTS,
tap_other_TESTS): Delete, their content merged back into ...
(handwritten_TESTS): ... this.
* tests/.gitignore (tests-deps.am): New ignored file.
* bootstrap: Generate `tests/tests-deps.am'.
2011-09-08 11:44:55 +02:00
Stefano Lattarini
d3334a68d7 tests: two single auxiliary scripts to run/generate wrapped tests
* tests/config-shell-tests.sh, tests/parallel-tests.sh,
tests/gen-config-shell-tests, tests/gen-parallel-tests: Deleted,
their roles taken over by ...
* tests/wrap-tests.sh, tests/gen-wrap-tests: ... these new more
general scripts.
* tests/Makefile.am (EXTRA_DIST): Distribute the new scripts, and
do not distribute the obsolete ones anymore.
($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am): Do
not include nor generate anymore, they have been superseded by ...
($(srcdir)/wrap-tests.am): ... this new fragment, automatically
generated by `gen-wrap-tests'.
(PTEST_LOG_COMPILER, SHTST_LOG_COMPILER): Delete, they are now
defined in the new `wrap-tests.am' makefile fragment.
(TEST_EXTENSIONS): Do not append to it anymore, that is now done
by the new `wrap-tests.am' makefile fragment above.
($(parallel_tests:.ptest=.log), $(config_shell_tests:.shtst=.log),
$(parallel_tests), $(config_shell_tests): Remove this dependencies,
superseded by ...
($(wrap_TESTS), $(wrap_LOGS)): ... these ones.
(MAINTAINERCLEANFILES): Delete, it's not used anymore.
(TESTS): Do not contain anymore `$(config_shell_tests)' nor
`$(parallel_tests)', contain `$(wrap_TESTS)' instead, as defined
by `$(srcdir)/wrap-tests.am'.
Other related minor edits and reorderings.
* bootstrap, tests/.gitignore, tests/README: Update.
2011-08-29 15:51:39 +02:00
Stefano Lattarini
d4a102bec0 tests: list of tests placed in a separate Makefile fragment
This change allows us to easily use make instead of by-hand (and
more fragile) grepping to extract the list of hand-written tests
from our Makefiles.

* bootstrap (BOOTSTRAP_MAKE): New variable.
Use it to run make in order to extract the list of hand-written
tests from ...
* tests/list-of-tests.mk: ... this new file, where they are
listed in ...
(handwritten_TESTS, tap_with_common_setup_TESTS, tap_other_TESTS):
... these variables, extracted respectively from ...
* tests/Makefile.am (handwritten_tests, tap_other_tests,
tap_with_common_setup_tests): ... these older variables, now
removed.
(EXTRA_DIST, expected_list_of_tests): Update w.r.t. the variable
names' changes.
(include $(srcdir)/list-of-tests.mk): New inclusion.
Remove an overkill indirection, and with it ...
(tap_with_common_setup_logs): ... this variable.
($(srcdir)/parallel-tests.am, $(srcdir)/config-shell-tests.am):
Update to match the new interface of ...
(gen-parallel-tests, gen-config-shell-tests): ... these scripts,
that now read the list of tests from the standard input.
2011-08-29 15:50:45 +02:00
Stefano Lattarini
3ea0d41765 testsuite: use TAP for `depmod*' tests, related simplifications
* tests/depmod-tests.sh: Delete this complex and multifarious
script, moving all it checks it used to perform into ...
* tests/depmod.tap: ... this TAP-based test script.  And extend
it quite a bit, since the new form of the test was papering over
some pre-existing failures (this was due to the fact that the
values used for the VPATH were shorter in the new test script).
* tests/depmod-data.test: Deleted.
* tests/Makefile.am ($(srcdir)/depmod-tests.am): Don't include
nor generate it anymore.
(EXTRA_DIST): Don't distribute depmod-tests.sh anymore.
(TEST_EXTENSIONS): Remove '.depmod'.
(DEPMOD_LOG_COMPILER): Deleted.
(depmod-data.log, $(depmod_tests:.depmod=.log)): Delete
dependencies for these files, which are not used anymore.
($(depmod_tests)): Delete this dummy dependency declaration.
(TESTS): Remove $(depmod_tests).
(handwritten_tests): Remove depmod-data.test, add depmod.tap.
* bootstrap: Don't generate tests/depmod-tests.am anymore.
2011-08-06 17:20:50 +02:00
Stefano Lattarini
8b4dfc2d29 testsuite: use TAP for `instspc*' tests, related simplifications
* tests/instspc-tests.sh: Delete this complex and multifarious
script, moving all it checks it used to perform into ...
* tests/instspc.tap: ... this TAP-based test script.
* tests/instspc-data.test: Deleted.
* tests/Makefile.am ($(srcdir)/instspc-tests.am): Don't include
nor generate it anymore.
(EXTRA_DIST): Don't distribute instspc-tests.sh anymore.
(TEST_EXTENSIONS): Remove '.instspc'.
(INSTSPC_LOG_COMPILER): Deleted.
(XFAIL_TESTS): Remove $(instspc_xfail_tests).
(instspc-data.log, $(instspc_tests:.instspc=.log)): Delete
dependencies for these files, which are not used anymore.
($(instspc_tests)): Delete this dummy dependency declaration.
(TESTS): Remove $(instspc_tests).
(handwritten_tests): Remove instspc-data.test, add instspc.tap.
* bootstrap: Don't generate tests/instspc-tests.am anymore.
2011-08-06 13:22:16 +02:00
Stefano Lattarini
5ac7081cc2 tests: autogenerate list of wrapped tests for `lib/' shell scripts
* tests/gen-config-shell-tests: New script, generates distributed
makefile snippet `tests/config-shell-tests.am' to list all tests
that use the `get_shell_script' function, with names mangled to
use suffix `-w.shtst', in ...
* tests/Makefile.am (config_shell_tests): ... this macro, whose
definition has been consequently removed from Makefile.am.
(EXTRA_DIST): Distribute the new script.
($(srcdir)/config-shell-tests.am): Generate using the new script.
(include): Include the `config-shell-tests.am' fragment.
* bootstrap: Invoke `tests/gen-config-shell-tests' to generate
`tests/config-shell-tests.am'.
* tests/.gitignore: Ignore `config-shell-tests.am'.
* tests/gen-parallel-tests: Fixlet in heading comments.
2011-06-13 14:48:57 +02:00
Stefano Lattarini
3c91fc9a36 tests: extend tests on dependency tracking with VPATH
* tests/depmod-tests.sh: New script, fulfilling a threefold role:
1. it is called to generate a Makefile.am snippet, containing the
   definition of proper lists of tests;
2. it is called to set up a directory containing some common data
   files and autotools-generated files used by the aforementioned
   tests (this is done for speed reasons only); and
3. it is called to properly run those tests, one at a time.
* tests/depcomp9.test: Delete, it's obsolete now.
* tests/depcomp10.test: Likewise.
* tests/Makefile.am ($(srcdir)/depmod-tests.am): Include this
snippet, which defines ...
(depmode_tests): ... this new macro, containing the list of the
newly generated `*.depmod' tests.
(TESTS_EXTENSIONS): Add `.depmod'.
(DEPMOD_LOG_COMPILER): Define.  It calls `depmod-tests.sh', so that
the "depmode tests" will be executed by passing that driver script
a proper parameter.
($(depmod_tests)): New dependency declaration (dummy, but required
in order to have make actually produce expected log files from the
`.depmod.log' suffix rule).
(TESTS): Add $(depmod_tests).
(EXTRA_DIST): Distribute depmod-tests.sh.
Other minor cosmetic changes and reorderings.
* bootstrap: Generate depmod-tests.am.
* tests/.gitignore: Updated.
2011-05-01 18:44:31 +02:00
Stefano Lattarini
e1181261df Overhauled and modularized tests in `instspc.test'.
The test `instspc.test' was way too big and fragile.  Its running
time was very long.  It also produced a log that was nearly
unreadable due to its length, making it very difficult to find
out the reason for failures.
Also, it was too much monolithic, with a single (maybe spurious)
failure in a corner case causing the whole test to fail (even if
everything worked as expected in the other 99% of cases).
The present change should solve these problems, by separating
`instspc.test' into many smaller, self-contained, auto-generated
tests.

* tests/instspc.test: Removed.
* tests/instspc-tests.sh: New script, fullfilling a double role:
1. it generates a Makefile.am snippet `tests/instspc-tests.am',
containing the definition of a list of new tests which will take
over the older `instspc.test', and
2. it is sourced by said generated tests with proper parameters
pre-set, to run the "meat" of the checks.
This apparent abuse is indeed required because the test generation
code and test execution code are inevitably interwined.
* tests/Makefile.am ($(srcdir)/instspc-tests.am): Include this
snippet, which (among the other things) defines ...
(instspc_tests): ... this new macro, containing the list of the
newly generated `instspc*.test' tests, and ...
(instspc_xfail_tests): ... this new macro, containing the list
of the `instspc*.test' tests expected to fail.
($(instspc_tests)): New rule, generates the `instspc*.test' tests.
($(instspc_tests:.test=.log)): New rule, registers the dependency
of all `instspc*.test' tests on the `instspc-tests.sh' script.
(TESTS): Add `$(instspc_tests)', remove `instspc.test'.
(XFAIL_TESTS): Add `$(xfail_instspc_tests)'.
(EXTRA_DIST): Distribute instspc-tests.sh.
(MAINTAINERCLEANFILES): Added $(instspc_tests).
Other minor cosmetic changes.
* bootstrap: Generate instspc-tests.am.
* tests/.gitignore: Updated.
2010-11-04 11:25:15 +01:00
Stefano Lattarini
d628025fd4 Bootstrap: fixlet.
* bootstrap: Do not remove `lib/Automake/Config.pm' anymore,
since we don't generate it.  Correctly quote arguments of
`eval' builtin.  Fixed a botched error message.  Removed an
extra blank line.
2010-08-10 19:39:21 +02:00
Stefano Lattarini
cd5520e439 Bootstrap: don't search perl in $PATH.
* bootstrap: Do not explicitly search perl in $PATH anymore.
($PATH_SEPARATOR): Removed, it's no more needed.
2010-08-10 19:39:21 +02:00
Stefano Lattarini
1033671032 Bootstrap: let the user choose which autoconf to use.
* bootstrap ($AUTOCONF): New variable, from the environment.
($AUTOM4TE): Likewise, for clarity.
Use "$AUTOCONF" instead of calling "autoconf" directly.
2010-08-10 19:39:21 +02:00
Stefano Lattarini
861f6cb346 Improve determination of PATH separator in bootstrap script.
* bootstrap: Detemine what the PATH separator is the same way
autoconf does.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-11 06:31:38 +02:00
Stefano Lattarini
4a09e5e9c3 Minor improvements in bootstrap script.
* bootstrap: Consistently use two-spaces indentation.  Cosmetic
improvement to comments.
($me): New variable, containing program basename.
Prepend it to all error messages.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2010-06-11 06:30:45 +02:00
Ralf Wildenhues
bf1ca571c8 Use $DJDIR rather than $DJGPP to detect running on DJGPP.
* automake.in (Language): Use $ENV{'DJDIR'} for the
$ENV{'SHELL'} override.
* bootstrap: Use $DJDIR for setting BOOTSTRAP_SHELL, to fix
bootstrapping under MinGW when $DJGPP has been set.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-12-05 14:39:15 +01:00
Ralf Wildenhues
fcf2f56062 Revert Automake license to GPLv2+.
Automake will move to GPLv3+ once the Exception statement has
been rewritten to use the new GPLv3 exception language.  This
change does not impact the COPYING file that may be installed
by `automake --add-missing'.

* COPYING: Revert to GPLv2.  All uses changed.
* NEWS: Update.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-05-17 15:39:54 +02:00
Ralf Wildenhues
c33683f0f7 parallel-tests: Ensure backward-compatible semantics.
For each test in Automake's test suite that uses TESTS, generate
an identical one that uses the `parallel-tests' option, for
coverage of backward-compatible functionality.

* tests/gen-parallel-tests: New file, generates distributed
Makefile.am snippet tests/parallel-tests.am to list all tests
that use the TESTS interface but not yet the `parallel-tests'
option, with names mangled to use suffix `-p.test', in ...
(parallel_tests): ... this new make macro.
* tests/Makefile.am ($(srcdir)/parallel-tests.am)
($(parallel_tests), defs-p): New rules.
(TESTS): Add check11.test and $(parallel_tests).
(check_SCRIPTS): Add defs-p, $(parallel_tests).
(check-clean-local): Remove `defs-p'.
(EXTRA_DIST): Distribute gen-parallel-tests.
(MAINTAINERCLEANFILES): New variable, remove $(parallel_tests).
* bootstrap: Generate parallel-tests.am.
* tests/check8.test: Check for circular dependencies in rules.
* tests/check11.test: New test, check that SKIPs are not counted
as passed tests.
* tests/defs.in: Unset DISABLE_HARD_ERRORS, LAZY_TEST_SUITE,
VERBOSE, so the tests are not influenced by the way our test
suite is invoked.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2009-03-14 10:48:45 +01:00
Ralf Wildenhues
937775c8ef Parallel automake execution: AUTOMAKE_JOBS.
* lib/Automake/Config.in (perl_threads): New global.
* automake.in: Use it.  If the perl supports interpreter-based
threading, then use `threads' and `Thread::Queue'.
(handle_makefile, handle_makefiles_serial): New functions,
factored out from main.
(get_number_of_threads): New function, compute number of threads
to use, based on environment variable `AUTOMAKE_JOBS' and number
of independent makefiles.
(handle_makefiles_threaded): New function.  Spawn threads, use
thread queue to distribute handling the different makefiles.
Collect $exit_code values from threads.
(main): Use new functions.
* aclocal.in: No threads here.
* configure.ac: Substitute PERL_THREADS; enabled with perl >=
5.7.2 and when ithreads are available.
* bootstrap (dosubst): Likewise.
* Makefile.am (do_subst): Likewise.
* lib/Automake/Makefile.am (do_subst): Likewise.
* lib/Automake/ChannelDefs.pm: Use `Automake::Config' and
`threads'.
(verb): Prepend thread ID (tid) to verbose messages.
* lib/Automake/Channels.pm (msg): Before exiting, flush stderr,
needed for worker threads.
* lib/Automake/tests/Makefile.am (TESTS_ENVIRONMENT): Also
include the build tree path, so Config.pm is found.
* tests/parallel-am.test: New test.
* tests/Makefile.am: Update.
* doc/automake.texi (Invoking Automake): Document AUTOMAKE_JOBS.
* NEWS, THANKS: Update.
Report about long execution times by Joakim Tjernlund and others.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-10-26 19:35:07 +01:00
Ralf Wildenhues
732cae8fd0 Fix bootstrap to remove read-only directories right.
* bootstrap: Remove automake-$APIVERSION correctly.

Signed-off-by: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
2008-10-08 07:49:18 +02:00
Ralf Wildenhues
e3acdefa85 Reword the copyright notices to match what's suggested in GPLv3. 2007-12-08 11:20:24 +01:00
Akim Demaille
0db12da3f3 * bootstrap: Fix typos on redirections.
Signed-off-by: Akim Demaille <akim@lrde.epita.fr>
2007-11-25 10:47:00 +01:00
Ralf Wildenhues
062ce24961 Move to git as primary source repository.
* Makefile.am (git-dist, git-release): Renamed and adjusted from ...
(cvs-dist, cvs-release): ... these.
(git-diff): New target, taken and adjusted from cvs-diff.
* Makefile.in: Regenerate.
* bootstrap: Adjust.
* NEWS: Announce change.
* doc/automake.texi (General Operation): cvs-dist is git-dist now.
(Timeline): Mention change.
2007-10-29 20:21:33 +01:00
Ralf Wildenhues
b9ff055d78 * COPYING, lib/COPYING: Update to GPLv3. All uses changed.
* NEWS: Update.
2007-07-07 11:23:29 +00:00
Alexandre Duret-Lutz
1183efd364 * COPYING, ChangeLog, ChangeLog.00, ChangeLog.01, ChangeLog.02,
ChangeLog.03, ChangeLog.96, ChangeLog.98, HACKING, Makefile.am,
NEWS, README, TODO, aclocal.in, automake.in, bootstrap, configure,
configure.ac, doc/Makefile.am, doc/fdl.texi, lib/COPYING,
lib/Makefile.am, lib/acinstall, lib/compile, lib/config-ml.in,
lib/config.guess, lib/config.sub, lib/depcomp, lib/elisp-comp,
lib/gnupload, lib/mdate-sh, lib/missing, lib/py-compile,
lib/symlink-tree, lib/texinfo.tex, lib/ylwrap,
lib/Automake/ChannelDefs.pm, lib/Automake/Channels.pm,
lib/Automake/Condition.pm, lib/Automake/Config.in,
lib/Automake/Configure_ac.pm, lib/Automake/DisjConditions.pm,
lib/Automake/FileUtils.pm, lib/Automake/General.pm,
lib/Automake/Item.pm, lib/Automake/ItemDef.pm,
lib/Automake/Location.pm, lib/Automake/Makefile.am,
lib/Automake/Options.pm, lib/Automake/Rule.pm,
lib/Automake/RuleDef.pm, lib/Automake/Struct.pm,
lib/Automake/VarDef.pm, lib/Automake/Variable.pm,
lib/Automake/Version.pm, lib/Automake/Wrap.pm,
lib/Automake/XFile.pm, lib/Automake/tests/Condition.pl,
lib/Automake/tests/DisjConditions.pl,
lib/Automake/tests/Makefile.am, lib/Automake/tests/Version.pl,
lib/Automake/tests/Wrap.pl, lib/am/Makefile.am,
lib/am/ansi2knr.am, lib/am/check.am, lib/am/clean-hdr.am,
lib/am/clean.am, lib/am/compile.am, lib/am/configure.am,
lib/am/data.am, lib/am/dejagnu.am, lib/am/depend.am,
lib/am/depend2.am, lib/am/distdir.am, lib/am/footer.am,
lib/am/header-vars.am, lib/am/header.am, lib/am/inst-vars.am,
lib/am/install.am, lib/am/java.am, lib/am/lang-compile.am,
lib/am/lex.am, lib/am/library.am, lib/am/libs.am,
lib/am/libtool.am, lib/am/lisp.am, lib/am/ltlib.am,
lib/am/ltlibrary.am, lib/am/mans-vars.am, lib/am/mans.am,
lib/am/multilib.am, lib/am/program.am, lib/am/progs.am,
lib/am/python.am, lib/am/remake-hdr.am, lib/am/scripts.am,
lib/am/subdirs.am, lib/am/tags.am, lib/am/texi-vers.am,
lib/am/texibuild.am, lib/am/texinfos.am, lib/am/yacc.am,
m4/Makefile.am, tests/aclibobj.test, tests/acloca10.test,
tests/acloca11.test, tests/acloca12.test, tests/acloca13.test,
tests/acloca14.test, tests/acloca15.test, tests/acloca16.test,
tests/acloca17.test, tests/acloca18.test, tests/acloca19.test,
tests/aclocal.test, tests/aclocal3.test, tests/aclocal4.test,
tests/aclocal5.test, tests/aclocal6.test, tests/aclocal7.test,
tests/aclocal8.test, tests/aclocal9.test, tests/acoutbs.test,
tests/acoutbs2.test, tests/acoutnoq.test, tests/acoutpt.test,
tests/acoutpt2.test, tests/acoutqnl.test, tests/acsilent.test,
tests/acsubst.test, tests/acsubst2.test, tests/all.test,
tests/alloca.test, tests/alloca2.test, tests/alpha.test,
tests/alpha2.test, tests/amassign.test, tests/ammissing.test,
tests/ansi.test, tests/ansi10.test, tests/ansi2.test,
tests/ansi3.test, tests/ansi3b.test, tests/ansi4.test,
tests/ansi5.test, tests/ansi6.test, tests/ansi7.test,
tests/ansi8.test, tests/ansi9.test, tests/ar.test, tests/ar2.test,
tests/asm.test, tests/autohdr.test, tests/autohdr2.test,
tests/autohdr3.test, tests/autohdr4.test, tests/automake.test,
tests/auxdir.test, tests/auxdir2.test, tests/auxdir3.test,
tests/auxdir4.test, tests/backsl.test, tests/backsl2.test,
tests/backsl3.test, tests/backsl4.test, tests/badline.test,
tests/badopt.test, tests/badprog.test, tests/block.test,
tests/bsource.test, tests/canon.test, tests/canon2.test,
tests/canon3.test, tests/canon4.test, tests/canon5.test,
tests/ccnoco.test, tests/check.test, tests/check2.test,
tests/check3.test, tests/check4.test, tests/checkall.test,
tests/clean.test, tests/clean2.test, tests/colneq.test,
tests/colneq2.test, tests/colon.test, tests/colon2.test,
tests/colon3.test, tests/colon4.test, tests/colon5.test,
tests/colon6.test, tests/colon7.test, tests/comment.test,
tests/comment2.test, tests/comment3.test, tests/comment4.test,
tests/comment5.test, tests/comment6.test, tests/comment7.test,
tests/comment8.test, tests/comment9.test, tests/compile.test,
tests/compile_f90_c_cxx.test, tests/compile_f_c_cxx.test,
tests/cond.test, tests/cond10.test, tests/cond11.test,
tests/cond13.test, tests/cond14.test, tests/cond15.test,
tests/cond16.test, tests/cond17.test, tests/cond18.test,
tests/cond19.test, tests/cond2.test, tests/cond20.test,
tests/cond21.test, tests/cond22.test, tests/cond23.test,
tests/cond24.test, tests/cond25.test, tests/cond26.test,
tests/cond27.test, tests/cond28.test, tests/cond29.test,
tests/cond3.test, tests/cond30.test, tests/cond31.test,
tests/cond32.test, tests/cond33.test, tests/cond34.test,
tests/cond35.test, tests/cond36.test, tests/cond37.test,
tests/cond4.test, tests/cond5.test, tests/cond6.test,
tests/cond7.test, tests/cond8.test, tests/cond9.test,
tests/condd.test, tests/condhook.test, tests/condinc.test,
tests/condinc2.test, tests/condlib.test, tests/condman.test,
tests/condman2.test, tests/conf2.test, tests/confdeps.test,
tests/conff.test, tests/conff2.test, tests/confh.test,
tests/confh4.test, tests/confh5.test, tests/config.test,
tests/confincl.test, tests/conflnk.test, tests/conflnk2.test,
tests/conflnk3.test, tests/confsub.test, tests/confvar.test,
tests/confvar2.test, tests/copy.test, tests/ctarget1.test,
tests/cxx.test, tests/cxx2.test, tests/cxxansi.test,
tests/cxxcpp.test, tests/cxxlibobj.test, tests/cxxlink.test,
tests/cxxnoc.test, tests/cxxo.test, tests/cygwin32.test,
tests/dash.test, tests/defs.in, tests/defun.test,
tests/defun2.test, tests/dejagnu.test, tests/dejagnu2.test,
tests/dejagnu3.test, tests/dejagnu4.test, tests/dejagnu5.test,
tests/dejagnu6.test, tests/dejagnu7.test, tests/depacl2.test,
tests/depcomp.test, tests/depcomp2.test, tests/depcomp3.test,
tests/depcomp4.test, tests/depcomp5.test, tests/depdist.test,
tests/depend.test, tests/depend2.test, tests/depend3.test,
tests/depend4.test, tests/destdir.test, tests/dirforbid.test,
tests/dirlist.test, tests/discover.test, tests/distcom2.test,
tests/distcom3.test, tests/distcom4.test, tests/distcom5.test,
tests/distcom6.test, tests/distcom7.test, tests/distdir.test,
tests/distname.test, tests/dollar.test, tests/double.test,
tests/dup2.test, tests/else.test, tests/empty.test,
tests/empty2.test, tests/empty3.test, tests/empty4.test,
tests/exdir.test, tests/exdir2.test, tests/exeext.test,
tests/exeext2.test, tests/exeext3.test, tests/exeext4.test,
tests/exsource.test, tests/ext.test, tests/ext2.test,
tests/extra.test, tests/extra2.test, tests/extra3.test,
tests/extra4.test, tests/extra5.test, tests/extra6.test,
tests/extra7.test, tests/f90only.test, tests/flibs.test,
tests/fn99.test, tests/fnoc.test, tests/fo.test, tests/fonly.test,
tests/fortdep.test, tests/fpinst2.test, tests/fpinstall.test,
tests/gcj.test, tests/gcj2.test, tests/gcj3.test, tests/gcj4.test,
tests/gcj5.test, tests/getopt.test, tests/gettext.test,
tests/gettext2.test, tests/gnits.test, tests/gnits2.test,
tests/gnits3.test, tests/gnumake.test, tests/gnuwarn.test,
tests/gnuwarn2.test, tests/header.test, tests/help.test,
tests/hfs.test, tests/hosts.test, tests/implicit.test,
tests/include.test, tests/include2.test, tests/info.test,
tests/insh2.test, tests/install2.test, tests/installdir.test,
tests/instdat.test, tests/instdat2.test, tests/instexec.test,
tests/insthook.test, tests/instman.test, tests/instman2.test,
tests/instsh.test, tests/instsh2.test, tests/instspc.test,
tests/interp.test, tests/interp2.test, tests/java.test,
tests/java2.test, tests/java3.test, tests/javaprim.test,
tests/javasubst.test, tests/ldadd.test, tests/ldflags.test,
tests/lex.test, tests/lex2.test, tests/lex3.test, tests/lex4.test,
tests/lex5.test, tests/libobj10.test, tests/libobj11.test,
tests/libobj12.test, tests/libobj13.test, tests/libobj14.test,
tests/libobj2.test, tests/libobj3.test, tests/libobj4.test,
tests/libobj5.test, tests/libobj7.test, tests/libobj8.test,
tests/library.test, tests/library2.test, tests/library3.test,
tests/libtool.test, tests/libtool2.test, tests/libtool3.test,
tests/libtool4.test, tests/libtool5.test, tests/libtool6.test,
tests/libtool7.test, tests/libtool8.test, tests/libtool9.test,
tests/license.test, tests/link_c_cxx.test, tests/link_dist.test,
tests/link_f90_only.test, tests/link_f_only.test,
tests/link_fc.test, tests/link_fccxx.test, tests/link_fcxx.test,
tests/lisp2.test, tests/lisp3.test, tests/lisp4.test,
tests/lisp5.test, tests/lisp6.test, tests/lisp7.test,
tests/lisp8.test, tests/listval.test, tests/location.test,
tests/longlin2.test, tests/longline.test, tests/ltcond.test,
tests/ltcond2.test, tests/ltconv.test, tests/ltdeps.test,
tests/ltlibobjs.test, tests/ltlibsrc.test, tests/maintclean.test,
tests/make.test, tests/makej.test, tests/makevars.test,
tests/man.test, tests/man2.test, tests/mclean.test,
tests/mdate.test, tests/mdate2.test, tests/mdate3.test,
tests/mdate4.test, tests/missing.test, tests/missing2.test,
tests/missing3.test, tests/mkinst2.test, tests/mkinstall.test,
tests/mmodely.test, tests/multlib.test, tests/nobase.test,
tests/nodef.test, tests/nodef2.test, tests/nodep.test,
tests/nodepcomp.test, tests/nodist.test, tests/nodist2.test,
tests/nodist3.test, tests/nogzip.test, tests/nogzip2.test,
tests/noinst.test, tests/noinstdir.test, tests/nolink.test,
tests/nostdinc.test, tests/number.test, tests/obsolete.test,
tests/order.test, tests/outdir.test, tests/output.test,
tests/output10.test, tests/output11.test, tests/output12.test,
tests/output2.test, tests/output3.test, tests/output4.test,
tests/output5.test, tests/output6.test, tests/output7.test,
tests/output8.test, tests/output9.test, tests/overrid.test,
tests/parse.test, tests/percent.test, tests/percent2.test,
tests/phony.test, tests/pluseq.test, tests/pluseq10.test,
tests/pluseq2.test, tests/pluseq3.test, tests/pluseq4.test,
tests/pluseq5.test, tests/pluseq6.test, tests/pluseq7.test,
tests/pluseq8.test, tests/pluseq9.test, tests/postproc.test,
tests/ppf77.test, tests/pr2.test, tests/pr204.test,
tests/pr211.test, tests/pr220.test, tests/pr224.test,
tests/pr229.test, tests/pr243.test, tests/pr266.test,
tests/pr279-2.test, tests/pr279.test, tests/pr287.test,
tests/pr300-lib.test, tests/pr300-ltlib.test,
tests/pr300-prog.test, tests/pr307.test, tests/pr401.test,
tests/pr401b.test, tests/pr401c.test, tests/pr72.test,
tests/pr87.test, tests/pr9.test, tests/prefix.test,
tests/primary.test, tests/primary2.test, tests/primary3.test,
tests/proginst.test, tests/python.test, tests/python10.test,
tests/python11.test, tests/python12.test, tests/python2.test,
tests/python3.test, tests/python4.test, tests/python5.test,
tests/python6.test, tests/python7.test, tests/python8.test,
tests/python9.test, tests/recurs.test, tests/recurs2.test,
tests/regex.test, tests/remake.test, tests/remake2.test,
tests/remake3.test, tests/remake4.test, tests/remake5.test,
tests/req.test, tests/reqd.test, tests/reqd2.test,
tests/rulepat.test, tests/scripts.test, tests/seenc.test,
tests/sinclude.test, tests/space.test, tests/specflg.test,
tests/specflg2.test, tests/specflg3.test, tests/specflg6.test,
tests/specflg7.test, tests/specflg8.test, tests/specflg9.test,
tests/spell.test, tests/spell2.test, tests/spell3.test,
tests/spelling.test, tests/spy.test, tests/srcsub.test,
tests/srcsub2.test, tests/stamph2.test, tests/stdlib.test,
tests/stdlib2.test, tests/strip.test, tests/subcond.test,
tests/subcond2.test, tests/subcond3.test, tests/subdir.test,
tests/subdir2.test, tests/subdir3.test, tests/subdir4.test,
tests/subdir5.test, tests/subdir6.test, tests/subdir7.test,
tests/subdir8.test, tests/subdir9.test,
tests/subdirbuiltsources.test, tests/subobj.test,
tests/subobj2.test, tests/subobj3.test, tests/subobj4.test,
tests/subobj5.test, tests/subobj6.test, tests/subobj7.test,
tests/subobj8.test, tests/subobj9.test, tests/subobjname.test,
tests/subpkg.test, tests/subpkg2.test, tests/subst.test,
tests/subst2.test, tests/substre2.test, tests/substref.test,
tests/substtarg.test, tests/suffix.test, tests/suffix10.test,
tests/suffix11.test, tests/suffix2.test, tests/suffix3.test,
tests/suffix4.test, tests/suffix5.test, tests/suffix6.test,
tests/suffix7.test, tests/suffix8.test, tests/suffix9.test,
tests/symlink.test, tests/symlink2.test, tests/symlink3.test,
tests/syntax.test, tests/tags.test, tests/tagsub.test,
tests/tar.test, tests/tar2.test, tests/tar3.test,
tests/target-cflags.test, tests/targetclash.test,
tests/transform.test, tests/txinfo.test, tests/txinfo10.test,
tests/txinfo13.test, tests/txinfo16.test, tests/txinfo17.test,
tests/txinfo18.test, tests/txinfo19.test, tests/txinfo2.test,
tests/txinfo20.test, tests/txinfo21.test, tests/txinfo22.test,
tests/txinfo23.test, tests/txinfo24.test, tests/txinfo25.test,
tests/txinfo26.test, tests/txinfo27.test, tests/txinfo28.test,
tests/txinfo29.test, tests/txinfo3.test, tests/txinfo4.test,
tests/txinfo5.test, tests/txinfo6.test, tests/txinfo7.test,
tests/txinfo8.test, tests/txinfo9.test, tests/unused.test,
tests/vars.test, tests/vars3.test, tests/vartar.test,
tests/version.test, tests/version2.test, tests/version3.test,
tests/version4.test, tests/version6.test, tests/version7.test,
tests/version8.test, tests/vpath.test, tests/vtexi.test,
tests/vtexi2.test, tests/warnopts.test, tests/werror.test,
tests/werror2.test, tests/whoami.test, tests/xsource.test,
tests/yacc.test, tests/yacc2.test, tests/yacc3.test,
tests/yacc4.test, tests/yacc5.test, tests/yacc6.test,
tests/yacc7.test, tests/yacc8.test, tests/yaccpp.test,
tests/yaccvpath.test: Update FSF postal mail address.
2005-05-14 20:28:56 +00:00
Alexandre Duret-Lutz
d4a09a87fa Mimic Paul Eggert's changes to Autoconf.
* Makefile.am (automake, aclocal): Use `chmod a-w', not `chmod -w'.
* lib/Automake/Makefile.am (Config.pm): Likewise.
* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Likewise.
2004-01-05 22:21:31 +00:00
Alexandre Duret-Lutz
c24bd61365 * Makefile.am (do_subst): Fix the substitution of @configure_input@.
(automake, aclocal): Create the output atomically and make it
read-only, as done in the Autoconf package.
* lib/Automake/Makefile.am (do_subst): Fix the substitution of
@configure_input@.
(Config.pm): Create the output atomically and make it read-only.
* m4/Makefile.am ($(top_srcdir)/m4/amversion.m4): Substitute
@configure_input@ and make the output read-only.
* lib/Automake/Config.in, m4/amversion.in, tests/aclocal.in,
tests/automake.in, tests/defs.in: Add a @configure_input@ line.
2003-12-09 21:24:12 +00:00
Jim Meyering
0e9e77664a Require not only that `perl' have the executable
bit set, but also that it is not a directory.
2003-11-17 08:52:30 +00:00