kc3-lang/automake/Makefile.am

Branch :


Log

Author Commit Date CI Message
6c8ff6a8 2022-01-12 14:15:12 maint: make update-copyright
a470a47f 2021-07-11 19:19:42 maint: make update-copyright
2765c894 2021-05-18 18:11:02 doc: move future 2.0 incompatibilities to separate file. * NEWS: move info to ... * NEWS-2.0: ... this new file. * Makefile.am (EXTRA_DIST): add it.
df5460e0 2020-03-31 18:21:22 doc: update urls in manual and include checklinkx script. * doc/automake.texi: update many urls; http -> https, search.cpan.org -> metacpan.org/pod/distribution, node names, etc. Remove sourceware.org/cgi-bin/gnatsweb.pl and miller.emu.id.au/pmiller/books/rmch/ as these are 404 and no good replacement is evident. s/perl/Perl/ a couple times in text for good measure. * contrib/checklinkx: new script, a small modification of W3C checklink <https://validator.w3.org/checklink/docs/checklink.html> (W3C license, which is free software), starting from version 4.81 installed from CPAN: https://metacpan.org/pod/distribution/W3C-LinkChecker/bin/checklink.pod * doc/local.mk (checklinkx): new target to invoke it, with variables. * Makefile.am (EXTRA_DIST): distribute it. * NEWS: mention all this.
cf27a3df 2020-01-01 11:44:41 maint: make update-copyright
5ae02cc8 2019-10-14 13:46:55 maint: make update-copyright
bbaa4cdc 2018-01-04 16:19:30 maint: Update copyright years to 2018 This update has been made with 'make update-copyright'.
c2757b97 2017-09-19 13:43:07 maint: Reset master
3562e384 2017-09-16 13:03:36 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.
199e7a44 2017-09-16 13:03:36 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.
e94c0186 2017-08-31 14:42:13 build: Rename "Makefile.inc" Makefile fragments to "local.mk" This is done to follow a convention used by a lot of GNU packages. * bin/Makefile.inc: Rename to ... * bin/local.mk: ... this. * doc/Makefile.inc: Rename to ... * doc/local.mk: ... this. * lib/Automake/Makefile.inc: Rename to ... * lib/Automake/local.mk: ... this. * lib/am/Makefile.inc: Rename to ... * lib/am/local.mk: ... this. * lib/Makefile.inc: Rename to ... * lib/local.mk: ... this. * m4/Makefile.inc: Rename to ... * m4/local.mk: ... this. * contrib/t/Makefile.inc: Rename to ... * contrib/t/local.mk: ... this. * t/Makefile.inc: Rename to ... * t/local.mk: ... this. Adapt. * Makefile.am: Adapt.
361f25da 2017-08-29 13:04:57 build: Extend PATH from 'pre-inst-env' script * configure.ac (ACLOCAL, AUTOMAKE): Use 'pre-inst-env'. * Makefile.am (extend_PATH): Delete. * doc/Makefile.inc (update_mans, $(srcdir)/%D%/amhello-1.0.tar.gz) (setup_autotools_paths): Use 'pre-inst-env' instead of $(extend_PATH).
64031f2a 2017-08-27 17:41:50 build: Add 'pre-inst-env' wrapper script This script allows someone building Automake from source to easily run 'automake' and 'aclocal' without having to install it or knowing the existence of "wrapped" scripts in "bin" directory. * pre-inst-env.in: New script. * configure.ac: Generate 'pre-inst-env' at configure time. * Makefile.am (nodist_noinst_SCRIPTS, CLEANFILES): Add it.
bb64793a 2017-08-29 11:27:52 build: Move wrapped scripts in "bin" directory Those scripts are used both in the build process and for the tests, so it seems clearer to not hide them in "t/wrap" directory. * t/wrap/aclocal.in: Rename to ... * bin/wrap-aclocal.in: ... this. * t/wrap/automake.in: Rename to ... * bin/wrap-automake.in: ... this. * configure.ac: Generate "bin/aclocal-${APIVERSION}" and "bin/automake-${APIVERSION}" at configure time. * t/Makefile.inc (nodist_noinst_SCRIPTS): Move wrapped scripts ... * bin/Makefile.inc (nodist_noinst_SCRIPTS): ... here. * Makefile.am (extend_PATH): Use "bin" directory. * t/ax/test-defs.in (am_bindir): Likewise. * t/get-sysconf.sh: Likewise. * .gitignore: Update.
386569b2 2017-05-18 14:50:03 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.
d8add592 2017-03-02 18:55:53 maint: Update copyright years to 2017. This update has been made with 'make update-copyright'.
1370ce5f 2017-01-01 08:34:49 maint: update copyright dates for 2017 * all files: Run this command, using update-copyright from gnulib: UPDATE_COPYRIGHT_FORCE=1 \ UPDATE_COPYRIGHT_USE_INTERVALS=2 \ UPDATE_COPYRIGHT_MAX_LINE_LENGTH=79 \ update-copyright $(git ls-files)
5de75f07 2015-01-05 22:48:33 maint: update copyright years to 2015 (branch 'micro') Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
88ac92b2 2014-12-22 17:56:22 Merge branch 'micro' into minor * micro: cleanup: refactor code to initialize DIST_COMMON dist: ordering of files in DIST_COMMON is deterministic now tests: refactor some tests on DIST_COMMON maint: make output of 'gen-testsuite-part' deterministic When computing lispdir, don't load emacs site wide init file. PATH: quote $(PATH_SEPARATOR) as well Improve detection of GNU make, avoiding "Arg list too long" errors.
5401c31d 2014-11-07 23:41:28 PATH: quote $(PATH_SEPARATOR) as well On OS/2, $(PATH_SEPARATOR) is ';'. Without quote, it is recognized as a mark of end of sentence. * Makefile.am: quote $(PATH_SEPARATOR) as well. * t/Makefile.inc: Likewise. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
a78f63c5 2014-04-21 15:10:54 maint: update copyright years We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
a6d6734f 2013-12-24 16:27:28 TAP driver: remove perl implementation (move it into contrib/) That implementation was only meant as a standard against which the portable awk+shell implementation was to be measured. Now, since Automake 1.12, the latter implementation is fully functional and already used in the wild, and in fact feature-par with the perl implementation. So the perl implementation is now just slowing down and complicating our testsuite. Let's move it to 'contrib/' (we don't want to remove it, in case someone is actually using it in the wild). * lib/tap-driver.pl: Move it ... * contrib/tap-driver.pl: ... here. While at it, convert quoting `like this' to quoting 'like this', and remove an obsolescent FIXME comment. * lib/Makefile.inc (dist_script_DATA): Drop '%D%/tap-driver.pl'. * Makefile.am (EXTRA_DIST): Add 'contrib/tap-driver.pl'. * doc/automake.texi: Remove one stray reference to 'tap-driver.pl', and reference 'tap-driver.sh' instead, as intended. * t/ax/am-test-lib.sh ($am_tap_implementation): Delete definition and uses. (fetch_tap_driver): Simplify to unconditionally assume the shell+awk implementation of the TAP driver is used. (get_shell_script): Make more flexible so that it can cater to the needs of 'fetch_tap_driver()'. * t/tap-bad-prog.tap: Likewise. * t/tap-bailout-leading-space.sh: Likewise. * t/tap-signal.tap: Likewise. * t/tap-test-number-0.sh: Likewise. * t/test-driver-cond.sh: Use 'tap-driver.sh' instead of 'tap-driver.pl'. * gen-testsuite-part (%test_generators): Do not generate sister tests that use the perl TAP driver rather than the shell+awk one. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f859f346 2013-05-24 00:44:59 tests: new convenience target 'check-parallel' To force the test scripts to invoke make in parallel mode. This should enhance coverage of use cases (make concurrency) that are becoming more and more important with today multicore fast machines. * Makefile.am (check-parallel): New .PHONY target. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
361430c0 2013-05-16 14:18:55 tests: use perl, not find+rm, to remove temporary directories The File::Path::rmtree function from perl, if used right, is more reliable and more portable of our past idiom: find $dirs -type d ! -perm -700 -exec chmod u+rwx {} ';'; rm -rf $$dirs || exit 1 at least of the face of unreadable dirs/files and other similar permission issues (and we have those in our test directories). In fact, this change fixes some spurious failures seen in "make distcheck" on Solaris 10. * t/ax/deltree.pl: New. * Makefile.am (EXTRA_DIST): Add it. (clean-local-check): Use it. * t/ax/test-lib.sh (rm_rf_): Use it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ce70cf4b 2013-05-09 11:57:20 build: move automake and aclocal in 'bin' subdir * automake.in: Rename ... * bin/automake.in: ... like this. * aclocal.in: Rename ... * bin/aclocal.in: ... like this. * Makefile.am: Move parts that dealt with the building/distribution of aclocal and Automake .. * bin/Makefile.inc): ... in this new included fragment. Adjust as needed, and make deliberate use of the '%D%' substitution. * lib/gen-perl-protos: Move ... * bin/gen-perl-protos: ... here. * bootstrap.sh, configure.ac, maintainer/rename-tests, t/wrap/aclocal.in, t/wrap/automake.in, doc/Makefile.inc, t/ax/tap-setup.sh, .gitignore: Adjust. * maintainer/syntax-checks.mk: Likewise, and enhance a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
c8f106c7 2013-05-09 11:17:47 build: break up monolithic Makefile.am in subdir-specific fragments This is convenient to do, now that we have improved "relative directory" support with the '%reladir%' (a.k.a. '%D%') and '%canon_reladir%' (a.k.a. '%C%') Automake-time substitutions for included makefile fragments. This move also satisfy our philosophy of using new Automake features in our own build system, as a way of facilitating early discovery of possible bugs or interface warts. * Makefile.am: Break up ... * doc/Makefile.inc, lib/Automake/Makefile.inc, lib/Makefile.inc, lib/am/Makefile.inc, m4/Makefile.inc, t/Makefile.inc): ... in this new included fragments. Adjust as needed, and make deliberate use of the '%D%' substitution. * contrib/t/local.am: Rename ... * contrib/t/Makefile.inc: ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e2fd8f5c 2013-05-04 12:11:40 Merge branch 'maint' * maint: maint: targets and recipes to simplify testing on real-world packages build: preparatory refactoring build: tiny reduction in code duplication make flags analysis: handle more options with args make flags analysis: use simpler variable names make flags analysis: whitespace changes make flags analysis: embed in a subshell make flags analysis: be more robust make flags analysis: cater to GNU make 3.83 (still unreleased as of now) tests: expose weaknesses in make flags analysis tests: improve debugging output in checks on make flags analysis make flags analysis: refactor, to reduce code duplication tests: avoid one tricky use of "make -e" cosmetics: remove few trailing whitespace occurrences typofix: in NEWS (extra whitespace) tests: avoid a spurious error with Solaris make subdirs: don't return false positives for the '-k' option's presence header-vars: recognize more make flags ('-k' in particular) header-vars: simplify how make flags are determined tests: remove dead code from t/make-dryrun.tap header-vars: new variable $(am__running_with_option) tests: expose bug#12554 (false positives for presence of '-k' make option)
2d3a2e36 2013-05-04 11:50:10 Merge branch 'branch-1.13.2' into maint * branch-1.13.2: maint: targets and recipes to simplify testing on real-world packages build: preparatory refactoring build: tiny reduction in code duplication make flags analysis: handle more options with args make flags analysis: use simpler variable names make flags analysis: whitespace changes make flags analysis: embed in a subshell make flags analysis: be more robust make flags analysis: cater to GNU make 3.83 (still unreleased as of now) tests: expose weaknesses in make flags analysis tests: improve debugging output in checks on make flags analysis make flags analysis: refactor, to reduce code duplication tests: avoid one tricky use of "make -e" tests: avoid a spurious error with Solaris make subdirs: don't return false positives for the '-k' option's presence header-vars: recognize more make flags ('-k' in particular) header-vars: simplify how make flags are determined tests: remove dead code from t/make-dryrun.tap header-vars: new variable $(am__running_with_option) tests: expose bug#12554 (false positives for presence of '-k' make option)
eddba1cc 2013-05-03 21:02:42 build: preparatory refactoring No semantic change intended. This change will be required by a later patch. * Makefile.am (setup_autotools_paths): New. ($(srcdir)/doc/amhello-1.0.tar.gz): Use it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
dc3cdb1d 2013-05-03 20:56:02 build: tiny reduction in code duplication The code was only duplicated two times, but we are soon going to need a third occurrence, and that would be one to much. * Makefile.am (extend_path): New. (update_mans): Use it instead of copying & pasting its contents. ($(srcdir)/doc/amhello-1.0.tar.gz): Likewise, and minor related adjustments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
5e074aa5 2013-02-16 19:39:07 Merge branch 'maint' * maint: style: call perl functions 'like_this()', not '&like_this()' maint: use more perl subroutines prototypes in the automake script build: auto-generate perl subroutines prototypes for automake and aclocal refactor: rip module Automake::Language out of automake script Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
283ded7f 2013-02-04 23:04:18 build: auto-generate perl subroutines prototypes for automake and aclocal This will allow us to avoid either using the '&foo' invocation form when invoking a subroutine before its definition, or having to maintain the list of prototypes by hand (with the risk of having it become incomplete or fall out-of-sync when future edits to the automake and aclocal scripts are done). * Makefile.am (automake, aclocal): Automatically generate a list of prototypes by looking at the subroutines definitions. * bootstrap.sh: Likewise, when generating the temporary automake and aclocal scripts used for bootstrapping. * automake.in: Add a placeholder that will be tracked by the new recipes and substituted with the computed prototypes. Remove existing prototypes, that are now superfluous. Some adjustments required by the new, more comprehensive prototypes declarations. * aclocal.in: Likewise. * maintainer/syntax-checks.mk (sc_diff_automake, sc_diff_aclocal): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
6d9e9dd4 2013-02-04 19:34:03 refactor: rip module Automake::Language out of automake script This is just a preparatory patch in view of future changes. * lib/Automake/Language.pm: New module, ripped out from ... * automake.in: ... here. Related adjustments. * Makefile.am (dist_perllib_DATA): List the new module. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2c72b157 2013-01-21 15:48:48 Merge branch 'maint' * maint: tests: more information about Lex and Yacc programs lint: fix spurious failure for 'sc_rm_minus_f' syntax check maint: bump version 1.13.1a -> 1.13.2a maint: update copyright in files generated by automake and aclocal tests: avoid a spurious failure when running inside Emacs tests: make two new test executable m4: rename an m4 file to a more appropriate name NEWS: update w.r.t. recent documentation fixes compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC docs: parallel-tests is no longer experimental docs: serial-tests are not deprecated, just discouraged plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14 NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14 init.m4: add probe to check "rm -f" without args work Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
63fe125a 2013-01-21 14:52:37 Merge branch 'branch-1.13.2' into maint That branch is for the "emergency" bug-fixing release 1.13.2. * branch-1.13.2: maint: update copyright in files generated by automake and aclocal tests: avoid a spurious failure when running inside Emacs tests: make two new test executable m4: rename an m4 file to a more appropriate name NEWS: update w.r.t. recent documentation fixes compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC docs: parallel-tests is no longer experimental docs: serial-tests are not deprecated, just discouraged NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
18cb8eb2 2013-01-18 13:39:38 m4: rename an m4 file to a more appropriate name * m4/obsolete-err.m4: Rename ... * m4/obsolete.m4: ... like this. * Makefile.am (dist_automake_ac_DATA): Adjust. * t/ansi2knr-no-more.sh: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
9cb18f18 2013-01-11 21:53:19 Merge branch 'maint' * maint: compile: use 'compile' script when "-c -o" is used with losing compilers HACKING: suggest more checks before releasing tests: can fake a compiler not grasping "-c -o" -- globally in all tests sync: update files from upstream with "make fetch" typofix: in comments in GNUmakefile Rename 'maint/' -> 'maintainer/', for Git's sake HACKING: minor typofix HACKING: bug-tracker, the PLANS directory, and how to plan "big" changes HACKING: rewindable branches should live in the 'experimental/*' namespace HACKING: fixlets about git branch rewinding policy HACKING: commit messages are not to follow GCS ChangeLog rules too strongly HACKING: "detailed explanation" in commit messages is almost mandatory HACKING: we use "merge --log" even when merging master HACKING: typofix depend2.am: fix comments on verbosity of compilation rules depend2.am: improve comments a little plans: automake 1.14 is to assume "rm -f" with no args is OK plans: we want to active subdir-objects unconditionally in automake 1.14 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b670a66a 2013-01-11 18:26:03 tests: can fake a compiler not grasping "-c -o" -- globally in all tests The ability to easily do so will be quite important in upcoming changes about C compilation handling and semantics of the 'subdir-objects' option. Refer to the extensive discussion about automake bug#13378 for more details: <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=13378>. See also commit 'v1.13.1-34-g744cd57' of 2013-01-08, "coverage: compile rules used "-c -o" also with losing compilers". * t/ax/cc-no-c-o.in: New, a "C compiler" that chokes when the '-c' and '-o' options are passed together to it on the command line. * Makefile.am (t/ax/cc-no-c-o): Generate this script from it. (noinst_SCRIPTS, CLEANFILES): Add it. (EXTRA_DIST): Add 't/ax/cc-no-c-o.in'. (check-cc-no-c-o): New target, runs the whole testsuite with 'cc-no-c-o' as the C compiler (bot GNU and non-GNU). * .gitignore: Update. * t/ccnoco.sh: Use the new script instead of duplicating it. * t/ccnoco3.sh: Likewise. * t/ccnoco4.sh: Likewise. * t/self-check-cc-no-c-o.sh: New testsuite self-check. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
dbe3eea4 2013-01-10 23:40:26 Rename 'maint/' -> 'maintainer/', for Git's sake Otherwise, Git gets confused by the fact that a directory ('maint') is named like a branch, and forces me to tweak the command line to resolve the ambiguity for it. * maint/: Rename ... * maintainer/: ... like this. * Makefile.am, GNUmakefile: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
bfd7cc5a 2013-01-09 12:04:52 Merge branch 'maint' * maint: tests: adjust stale references to old test names tests: rename the last aclocal test with dumb name tests: fix an old botched change to an aclocal test tests: fix some botched inter-test references in heading comments coverage: compile rules used "-c -o" also with losing compilers texi: remove extra verbosity in creation of dirstamp directory coverage: user can avoid distributing '.info' pages plans: add some on-going plans (already registered on the bug tracker) docs: mention dist-hook help for EXTRA_DIST texi: remove workaround for older Texinfo (4.1) NEWS: improve wordings in entry deprecating suffix-less info files plans: add the "PLANS" directory
fa0fc1bf 2013-01-04 10:23:36 Merge branch 'plans' into maint * plans: plans: add the "PLANS" directory Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> Conflicts: Makefile.am
e4fc1dad 2013-01-03 14:42:55 Merge branch 'maint' * maint: build: don't enable 'color-tests' automake option explicitly build: enable all warnings as fatal in our own build system texi: Texinfo sources and CLEANFILES definition should co-exist peacefully tests: make two new test executable runtest: better command line API tests: move runtest.in away from the top-lever directory maint: move more maintainer files in the 'maint/' subdir tests: more significant names for some tests maint: add some of my maintainer-specific scripts texi: deprecate hack about info files in CLEANFILES variables texi: info files can be generated in the builddir
da0dfbe7 2013-01-03 12:54:07 tests: move runtest.in away from the top-lever directory Not only this leaves the top-lever directory less cluttered, but helps in keeping the testsuite-related files more "centralized". * runtest.in: Move ... * t/ax/runtest.in: ... here. While at it, add customary '@configure_input@' comment line. * Makefile.am (runtest, EXTRA_DIST): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
6d80cc2d 2013-01-03 12:23:51 maint: move more maintainer files in the 'maint/' subdir * maint.mk: Move ... * maint/maint.mk: ... here. * syntax-checks.mk: Move ... * maint/syntax-checks.mk: ... here. * Makefile.am: Adjust. * GNUmakefile: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
5fdf7587 2013-01-03 12:03:37 plans: add the "PLANS" directory Individual files or sub-directories about future and on-going development plans in Automake will be added in follow-up commits. This new set of documents is meant to help ensure a more controlled and smooth development and evolution for Automake, in several ways. - Having the plans clearly spelled out should will avoid messy roadmaps with no clear way forward or with muddy or ill-defined aims or purposes; a trap this is too easy to fall into. - Keeping planned changes cooking and re-hashed for a while should ensure rough edges are smoothed up, transitions are planned in a proper way (hopefully avoiding debacles like the AM_MKDIR_PROG_P deprecation and the AM_CONFIG_HEADER too-abrupt removal), and "power users" have more chances of getting informed in due time, thus having all the time to prepare for the changes or raise objections against them. - Having the plans clearly stated and registered in a "centralized" location should make it more difficult to them to slip through the cracks, getting forgotten or (worse) only half-implemented. - Even for discussions and plans registered on the Bug Tracker as well, a corresponding entry in the PLANS directory can help in keeping main ideas summarized, and consensus and/or objections registered and easily compared. Motivation: <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains> Not a flatting picture for us (and maybe a little too harsh), but basically true and even spot-on in some regards. * PLANS/README: New. * Makefile.am (EXTRA_DIST): Distribute the whole PLANS directory. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
c3186313 2013-01-02 21:08:27 maint: add some of my maintainer-specific scripts They are likely not general enough for widespread use, but they are useful nonetheless. In the best-case scenario, they will start to be used by other people, and thus accordingly improved and made more general and flexible. In the worst case scenario, well, I still get to keep them in a centralized, blessed place, simplifying the deployment and use of them; so still a win for me :-) * maint/am-ft: New script. * maint/am-xft: Likewise. * maint/rename-tests: Likewise. * Makefile.am (EXTRA_DIST): Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
97d770d6 2013-01-02 14:45:42 Merge branch 'maint' * maint: tests: reorganize tests on backslash issues style: add trailing ':' to some test cases tests: tweak tests on obsolete EXTRA_DATA variable tests: more significant names for some tests cosmetics: remove few occurrences of trailing whitespace docs: re-introduce mention of two-args AM_INIT_AUTOMAKE invocation texi: warn against '.txi' and '.texinfo' input suffixes cleanup: remove two lines of dead code in automake texi: warn against suffix-less info files build: respect silent rules in generation of "amhello" example tarball
0a52679a 2013-01-01 18:03:53 build: respect silent rules in generation of "amhello" example tarball * Makefile.am ($(srcdir)/doc/amhello-1.0.tar.gz): Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b98aab9f 2012-12-31 18:24:03 Merge branch 'maint' * maint: maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
7df8b28c 2012-12-31 18:18:37 maint: update copyright year for 2013 (in branch maint) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
bd7b811d 2012-12-30 11:38:16 Merge branch 'maint' * maint: NEWS: minor fixup obsolete: better error message if AM_PROG_CC_STDC is used obsolete: better error message if AM_CONFIG_HEADER is used sync: update files from upstream with "make fetch" tests: better names for temporary configure.ac files Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
8e921bf8 2012-12-30 10:33:23 obsolete: better error message if AM_CONFIG_HEADER is used In Automake 1.13, the long-deprecated macro AM_CONFIG_HEADER (deprecated since 2002) has been removed in favour of AC_CONFIG_HEADERS. However, the removal was done without a proper deprecation period, and that caused packages upgrading to Automake 1.13 to fail with very unclear error messages, e.g.: configure.ac:4: warning: macro 'AM_CONFIG_HEADER' not found in library from aclocal, and: configure.ac:4: error: possibly undefined macro: AM_CONFIG_HEADER If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. from autoconf. In an attempt to mitigate this issue, we re-add an AM_CONFIG_HEADER definition that simply raises a *clear* error message when the macro is used. Report by Paolo Bonzini: <http://lists.gnu.org/archive/html/automake/2012-12/msg00039.html> * t/am-config-header-no-more.sh: New test. * t/list-of-tests.mk: Add it. * m4/obsolete-err.m4: New file, contain the new AM_CONFIG_HEADER "error-raising" definition, as well as the definition of the similarly obsolete macros 'AM_C_PROTOTYPES' and 'fp_C_PROTOTYPES', moved in from ... * m4/protos.m4: ... this file, which has thus been removed. * Makefile.am (dist_automake_ac_DATA): Adjust. * t/ansi2knr-no-more.sh: Likewise. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
7626e632 2012-05-25 17:51:01 cleanup: get rid of 'Automake::Configure_ac' module Now that we unconditionally assume the Autoconf input is named "configure.ac", it's easier and clearer to inline the checks on the existence of such a file directly in the automake and aclocal scripts. This change is basically a backport of the 'v1.12-327-gee6d72a' commit from Automake-NG. * lib/Automake/Variable.pm (Automake::Configure_ac): Drop this import. ($configure_ac): Define to "configure.ac", unconditionally. * automake.in: Likewise. Also, in main code, check the existence of 'configure.ac' directly, instead of calling the now-removed 'require_configure_ac' function. * aclocal.in: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ff0c7f83 2012-05-30 09:25:59 general: assume dot-starting file names are supported Now that we've dropped support for DJGPP, Windows 95/98/ME and MS-DOS, that should always the case. This change is basically a backport of Automake-NG commit 'v1.12-342-ge6af355'. * lib/am/texibuild.am: Just assume we can have directories whose name starts with a dot, i.e., that '${am__leading_dot}' expands to '.'. * automake.in (require_build_directory): Likewise. * m4/depend.m4 (AM_SET_DEPDIR): Likewise. Now $(DEPDIR) will be set unconditionally to '.deps'. * m4/init.m4 (AM_INIT_AUTOMAKE): Don't AC_REQUIRE the m4 macro 'AM_SET_LEADING_DOT' anymore. * m4/lead-dot.m4: Delete. * Makefile.am (dist_automake_ac_DATA): Remove it. * t/subobj11a.sh: Just assume $(DEPDIR) expands to '.deps'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b373ad99 2012-12-28 19:04:02 Merge branch 'am-prog-mkdir-p-remove' Finally backporting the AM_PROG_MKDIR_P removal that has already taken place in Automake-NG. We can safely do this since the latest Gettext release (1.18.2) has removed all uses of AM_PROG_MKDIR_P, replacing them with uses of AC_PROG_MKDIR_P instead. References: <http://lists.gnu.org/archive/html/bug-gettext/2012-12/msg00064.html> <http://lists.gnu.org/archive/html/automake/2012-12/msg00024.html> Commit v0.18.1.1-147-g2cccb4c in the Gettext git repository. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3b503c42 2012-12-19 10:42:56 cosmetics: comments fixlets in our Makefile * Makefile.am: Prefer '#' comments over '##' ones where it makes sense. Other minor style tweaks to comments about "updated later" variables. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
6179686f 2012-12-19 10:40:13 cosmetics: consistency changes in some make recipes * Makefile.am (install-exec-hook, uninstall-hook): Don't use extra quoting in variable assignments. More consistent use of whitespace. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b8c7e3f7 2012-12-14 15:43:27 Merge branch 'maint' * maint: sync: update files from upstream with "make fetch" gitignore: align with recent changes fixup: add dummy rule for ChangeLog generation in Makefile.am maint: no longer use AM_MAKEFLAGS in maintainer rules maint: use more GNU make features in maintainer rules maint: move maintainer make rules in maint.mk
43340dfe 2012-12-14 14:56:21 fixup: add dummy rule for ChangeLog generation in Makefile.am So that automake won't complain about the missing ChangeLog. The real rule for ChangeLog generation is now in maint.mk (as it is maintainer-specific). * Makefile.am (ChangeLog): Dummy. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
97947ba4 2012-12-14 12:36:16 maint: move maintainer make rules in maint.mk This is done for two reasons: 1. It will enable us to take advantage of more GNU make features in our maintainer-specific recipes, if we want to (and we probably will). 2. The Makefile.am won't have to be modified each time a maintainer rule needs to be changed or tweaked; this will prevent useless remaking of (in particular) the 't/testsuite-part.am' file. * maint.mk: New, several recipes, rules and variables for maintainer-specific tasks, extracted (with some tweaks) from ... * Makefile.am: ... this file. (EXTRA_DIST): Add 'maint.mk'. * GNUmakefile: Include 'maint.mk' after 'Makefile'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
de736a22 2012-12-14 10:43:21 Merge branch 'maint' * maint: docs: fixlet about xz compression levels and command line options maint: more files excluded in 'update-copyright' maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format HACKING: update instructions to update the manuals at www.gnu.org maint: add an explicative comment in Makefile maint: factor out the name of the dir where web manuals are generated maint: rename rules to build/upload web manuals cosmetic: minor variable and rules reordering in Makefile.am docs: build the web manuals for CVS in the builddir, not in the srcdir release: automate uploading of web manuals in CVS docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc tests: avoid two spurious failures on FreeBSD tests: improve 'pkg-config' requirement
33263a0f 2012-12-14 09:50:27 Merge branch 'improve-release-process' into maint * improve-release-process: HACKING: update instructions to update the manuals at www.gnu.org maint: add an explicative comment in Makefile maint: factor out the name of the dir where web manuals are generated maint: rename rules to build/upload web manuals cosmetic: minor variable and rules reordering in Makefile.am docs: build the web manuals for CVS in the builddir, not in the srcdir release: automate uploading of web manuals in CVS docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc tests: avoid two spurious failures on FreeBSD
a3cf9a8b 2012-12-13 20:55:17 maint: more files excluded in 'update-copyright' This will avoid the following spurious warnings when "make update-copyright" is run: .autom4te.cfg: warning: copyright statement not found .git-log-fix: warning: copyright statement not found .gitattributes: warning: copyright statement not found .gitignore: warning: copyright statement not found AUTHORS: warning: copyright statement not found THANKS: warning: copyright statement not found contrib/README: warning: copyright statement not found contrib/multilib/README: warning: copyright statement not found doc/amhello/README: warning: copyright statement not found lib/install-sh: warning: copyright statement not found lib/mkinstalldirs: warning: copyright statement not found m4/acdir/README: warning: copyright statement not found t/README: warning: copyright statement not found * Makefile.am (files_without_copyright): New. (update-copyright): Use it when computing '$exclude_list'. Also, skip any README file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
6432f117 2012-12-13 20:46:09 maint: adapt 'update-copyright' recipe to the new $(FETCHFILES) format This is a fixup for commit v1.12.5-27-g71ce1b4 of 2012-12-09, "fetch: improve, and reduce code duplication". * Makefile.am (update-copyright): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
811d4f3d 2012-12-13 13:22:52 maint: add an explicative comment in Makefile * Makefile.am (web-manual-update): Here, about a slightly tricky feature of rsync(1) used in the recipe. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f22f41c1 2012-12-13 12:09:32 maint: factor out the name of the dir where web manuals are generated Just a minor refactoring to reduce duplication; no semantic change is intended. * Makefile.am (web_manual_dir): New. (web-manual, web-manual-update, clean-web-manual): Use it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
af431631 2012-12-13 12:02:33 maint: rename rules to build/upload web manuals The new names are the same used by the similar-purpose rules provided by the 'top/maint.mk' makefile in gnulib (as of commit v0.0-7741-g4a8c422). No need to have gratuitous incompatibilities. * Makefile.am (web-manuals): Rename ... (web-manual): ... like this. (upload-web-manuals): Rename ... (web-manual-update): ... like this. (clean-web-manuals): Rename ... (clean-web-manual): ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
28d342cd 2012-12-13 11:54:22 cosmetic: minor variable and rules reordering in Makefile.am Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
41769ed8 2012-12-13 11:39:30 docs: build the web manuals for CVS in the builddir, not in the srcdir We can do so using the '-I' option of the gendocs.sh script. Inspired by the 'web-manual' rule in the 'top/maint.mk' file provided by gnulib (as of commit v0.0-7741-g4a8c422) as customized by Bison in its 'cfg.mk' file (as of commit v2.6.5-1007-gf5fceda). * Makefile.am (web-manuals): Modify and simplify to take advantage of gendocs.sh's '-I' option. (upload-we-manuals): Accordingly adjust sanity checks and the rsync invocation in the recipe. (clean_texinfo_clutter_cmd): Delete this variable, it's no longer required. (clean-texinfo-clutter): Delete this phony target, it's no longer required. (clean-local): Don't depend on it. * configure.ac: Invoke AC_PROG_LN_S, since we want to use $(LN_S) in the new 'web-manuals' recipe. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ad35a6ba 2012-12-13 11:02:59 release: automate uploading of web manuals in CVS This is partly inspired to the 'gnu-web-doc-update' script from gnulib. Unfortunately, we can't use that script directly, because as of now it assumes a build system integrated with gnulib. * Makefile.am (upload-web-manuals): New .PHONY rule. (RSYNC, CVS, CVSU, CVS_USER, WEBCVS_ROOT): New variables, used by the new rule. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d7a59576 2012-12-09 21:55:32 Merge branch 'maint' * maint: docs: AM_CFLAGS: remove reference to non-existing "more detailed" desc maintcheck: prefer '$(am__cd)' over plain 'cd' fetch: improve, and reduce code duplication docs: add rule to generate manuals for www.gnu.org docs: copy the 'gendocs.sh' script from Texinfo CVS repository sync: update files from upstream with "make fetch" release: generate a stub for the release announcement release: distinguish major and minor releases tests: avoid two spurious failures on FreeBSD
71ce1b47 2012-12-08 21:15:47 fetch: improve, and reduce code duplication * Makefile.am (WGET_SV_CVS, WGET_SV_GIT_CF, WGET_SV_GIT_AC, WGET_SV_GIT_GL): Delete. (SV_CVS, SV_GIT_CF, SV_GIT_AC, SV_GIT_GL): New. (fetch): Simplify and enhance. (update-copyright): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d47000c6 2012-12-08 21:45:53 maintcheck: prefer '$(am__cd)' over plain 'cd' In a couple of rules in out own build system, as suggested by the maintainer check 'sc_cd_relative_dir'. * Makefile.am (web-manuals, clean_texinfo_clutter_cmd): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
49fb69d8 2012-12-08 20:11:39 docs: add rule to generate manuals for www.gnu.org Less clerical work to do by hand. * Makefile.am (web-manuals): New rule. (clean_texinfo_clutter): New macro. * clean-web-manuals, clean-texinfo-clutter: New cleaning rules. (clean-local): Depend on them. * .gitignore: Update. * HACKING: Adjust instructions for generation of manuals. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
6e8997d8 2012-12-08 19:49:33 docs: copy the 'gendocs.sh' script from Texinfo CVS repository As well as the 'gendocs_template' file. And enhance the "make fetch" target to keep them synced. It's better than having to fetch these files by hand each time a release is to be made. * Makefile.am (FETCHFILES): List 'gendocs.sh' and 'gendocs_template'. (fetch): Fetch them, into 'lib/'. (EXRA_DIST): Distribute them. * HACKING: Adjust instructions for generation of manuals. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
234a9cad 2012-12-08 18:45:42 release: generate a stub for the release announcement It's much better than having to write it my hand each time; after all, most of it is either boilerplate or a cope of NEWS entries. * Makefile.am (determine_release_type): Also set the shell variable '$announcement_type' appropriately. (print-release-type): Print the value of this new variable as well. (announcement): New phony target, generate a files with the same name. The recipe uses the shell variable '$announcement_type'. (CLEANFILES): Clean it. (PACKAGE_MAILINGLIST): New make macro, used when generating the 'announcement' file. * HACKING: Explain how to take advantage of the new convenience target. * .gitignore: Ignore the 'announcement' file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
24508503 2012-12-08 17:26:58 release: distinguish major and minor releases This is mostly a preparatory change, in view of future improvements in our release process. * Makefile.am (determine_release_type): Also distinguish between major and minor releases, with the help of ... (stable_major_version_rx, stable_minor_version_rx): ... these new macros. (stable_version_rx): Remove, it's obsolete now. (version_rx): Rename ... (base_version_rx): ... like this, and adjust. (print-release-type): New target; helps in debugging the code that determines the release type. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
92bd5d25 2012-11-15 16:15:27 fixup: Automake installation works again By renaming 'dist_automake_ac_DATA' to 'nobase_dist_automake_ac_DATA' in a recent patch, we have broken the Automake installation, since m4 files that were expected to be installed in '${prefix}/aclocal-${APIVERSION}' are now being installed in '${prefix}/aclocal-${APIVERSION}/m4' instead. Fix this mess. * Makefile.am (nobase_dist_automake_ac_DATA): Rename ... (dist_automake_ac_DATA): ... like this. And move 'm4/internal/ac-config-macro-dirs.m4' ... (dist_automake_internal_ac_DATA): ... here. (automake_internal_acdir): New, simply defined to '$(automake_acdir)/internal'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
f0dd2dee 2012-11-15 12:24:27 aclocal: AC_CONFIG_MACRO_DIRS: work around autom4te option parsing bugs The autom4te program coming with autoconf 2.68 and earlier had a bug which caused the "-" command line argument (with which we tell it to read some input from from standard input) to aways be pushed at the *end* of the command line, regardless of where the user specified it (that bug was fixed by autoconf commit 'v2.68-120-gf4be358', "getopt: new Autom4te::Getopt module"). This broken semantics conflict with our usage in aclocal, where we need to pass some input to the invoked autom4te program early, and have so far been using the stdin to do so. Now we start using an external file instead. * m4/internal/ac-config-macro-dirs.m4: New file, contain a fallback definition of the AC_CONFIG_MACRO_DIRS macro for older autoconf releases. * aclocal.in (trace_used_macros): When invoking autom4te, use that file instead of "abusing" standard input. * Makefile.am (dist_automake_ac_DATA): Rename ... (nobase_dist_automake_ac_DATA): ... like this. Add 'm4/internal/ac-config-macro-dirs.m4' to it. * t/aclocal-acdir.sh: Adjust to avoid spurious failures. Helped-by: Eric Blake <eblake@redhat.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
153f861b 2012-10-31 12:41:13 Merge branch 'maint' * maint: vala tests: source test-init.sh, not ./defs tests: fix a spurious typo-related failure tests: remove spurious leftover use of 'Exit' tests: can check our recipes avoid trailing backslashes vala: improve comments to AM_PROG_VALAC news: update w.r.t. recent vala changes vala: if no proper compiler found, set $(VALAC) to 'valac' vala: AM_PROG_VALAC should not produce an error for tool-old valac docs: document recent changes to AM_PROG_VALAC tests: enhance tests on AM_PROG_VALAC vala: style fixes in vala.m4 vala: add action arguments, for when no proper vala compiler is found Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
aecd1be6 2012-10-28 14:02:46 tests: can check our recipes avoid trailing backslashes This is related to commit v1.11-1704-g254227b of 2012-05-01, "parallel-tests: avoid trailing backslashes in make recipes", and automake bug#10436. Recipes with a trailing backslash character (possibly followed by blank characters only) can cause spurious syntax errors with at least older bash versions (e.g., bash 2.05b), and can be potentially be unportable to other weaker shells. So provide a target that runs the testsuite looking for this kind of breakage (without requiring a real bugged shell). * t/ax/shell-no-trail-bslash.in: New, a "shell" that chokes on '-c' commands having a trailing '\' (possibly followed by whitespace only). * Makefile (t/ax/shell-no-trail-bslash): Generate this script from it. (noinst_SCRIPTS, CLEANFILES): Add it. (EXTRA_DIST): Add 't/ax/shell-no-trail-bslash.in'. (check-no-trailing-backslash-in-recipes): New target, runs the testsuite with 'shell-no-trail-bslash' as the CONFIG_SHELL, to catch possible recipes having a trailing backslash character (possibly followed by * .gitignore: Update. * t/self-check-shell-no-trail-bslash.sh: New testsuite self-check. * t/parallel-tests-trailing-bslash.sh: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
b0f45569 2012-10-27 14:23:40 Merge branch 'maint' * maint: tests: prepare to move ./defs to t/ax/test-init.sh
5a289480 2012-10-26 14:00:35 AM_PROG_MKDIR_P: remove as obsolete, this time for good This commit basically reverts v1.12.4-158-gdf23daf, re-instating commit v1.12-20-g8a1c64f. Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro has been deprecated in the documentation and with runtime warnings since Automake 1.12.1. Still, when we released Automake 1.13, we had to delay that macro's removal, since at the time the last released version of GNU gettext still AC_REQUIRE's AM_PROG_MKDIR_P via its 'intl.m4' and 'po.m4' files, which are pulled into *many* projects. But it's now time to remove AM_PROG_MKDIR_P once and for all. Projects still needing to work with older gettext releases will be able to do so by adding a definition like AC_DEFUN([AM_PROG_MKDIR_P], [AC_PROG_MKDIR_P([$@])]) to their 'acinclude.m4' file or to another local '*.m4' file. * m4/mkdirp.m4: Delete. * Makefile.am (dist_automake_ac_DATA): Remove it. * automake.in (scan_autoconf_traces): Don't handle, nor warn about, AM_PROG_MKDIR_P. * doc/automake.texi (Obsolete Macros): Delete (it only spoke about AM_PROG_MKDIR_P). * t/gettext-macros.sh: Adjust. * t/mkdirp-deprecation.sh: Delete. * t/list-of-tests.mk: Don't list it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
0610fc8e 2012-10-27 12:59:41 tests: prepare to move ./defs to t/ax/test-init.sh We don't do this in a sweeping passage, because that would cause endless headaches in the synchronization between the maint, master and ng/master branches. Instead, we setup our framework to allow test scripts to work by sourcing either './defs' or 'test-init.sh', so that we'll be able to make the transition gradual and painless. * t/ax/test-init.sh: New, copied from the previous ./defs file. * defs: Simply work by sourcing the new file. * Makefile.am (dist_noinst_DATA): List the new file. * t/README: Adjust to mandate the sourcing of 'test-init.sh' rather than of './defs'. * t/c-demo.sh: Source 'test-init.sh' instead of ./defs. This is done to verify our new setup actually works. * t/ac-output-old.tap: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
df23dafc 2012-10-22 16:14:49 compat: reinstate AM_PROG_MKDIR_P, for gettext Do not remove AM_PROG_MKDIR_P just yet. gettext (latest from git) still AC_REQUIRE's AM_PROG_MKDIR_P via its intl.m4 and po.m4 files, which are pulled into *many* projects. When I try to build one of those projects (coreutils) using the latest from automake.git/master, I see this failure: $ aclocal -I m4 configure.ac:477: warning: AM_PROG_MKDIR_P is m4_require'd \ but not m4_defun'd m4/po.m4:23: AM_PO_SUBDIRS is expanded from... m4/gettext.m4:57: AM_GNU_GETTEXT is expanded from... configure.ac:477: the top level That is because AM_PROG_MKDIR_P was removed (via commit v1.12-20-g8a1c64f) in preparation for the next release of automake. * NEWS: Remove the paragraph that announced the removal of AM_PROG_MKDIR_P. * Makefile.am (dist_automake_ac_DATA): Add m4/mkdirp.m4. * m4/mkdirp.m4: Re-add file. * t/mkdirp-deprecation.sh: Likewise. * t/list-of-tests.mk: Add it. * automake.in: Restore removed code, and adjust comments, s/1.13/1.14/ to reflect new plan for removal. * doc/automake.texi (Obsolete Macros): Restore the section, but now with only one entry: the one for AM_PROG_MKDIR_P.
3e472de1 2012-08-05 11:06:16 Merge branch 'elisp-work' * elisp-work: news: document all the recent elisp-related changes and improvements coverage: byte-compiling elisp files in different subdirectories elisp: honour AM_ELCFLAFS and ELCFLAGS in byte-compilation elisp: --batch implies -q, remove -q elisp: support elisp files in subdirectories properly elisp: simplify suffix rules using emacs '-L' option elisp: no need to "absolutize" $(srcdir) and $(builddir) ... elisp: prefer $(builddir) files over $(srcdir) ones elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite) coverage: elisp path contains $(srcdir) and $(builddir) coverage: emacs lisp files in subdirectories
e4fbe2ab 2012-07-30 11:09:27 Merge branch 'maint' * maint: build: fix build in VPATH setup gen-tests: simplify sourcing of helper shell files
a38534b1 2012-07-30 11:01:09 build: fix build in VPATH setup * Makefile.am (t/ax/test-defs.sh): Ensure the 't/ax' directory exists, before trying to create 'test-defs.sh' in there. This is required in VPATH builds. Reported-by: Akim Demaille <akim@lrde.epita.fr> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
11927353 2012-07-26 18:27:15 typofix: in a comment in Makefile.am Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
106428fe 2012-07-26 18:16:47 Merge branch 'maint' * maint: (38 commits) maintcheck: fixup list of files in $(xdefs) tests: never source test-defs.sh directly, source test-lib.sh instead runtest: sanitize test environment tests: remove an obsolescent self test tests: "am_using_tap=yes" -> "am_test_protocol=tap" tests: protect test libs against multiple inclusion configure: testsuite shell can return early from "dot-sourced" files tests: move sanitization and "Bournification" in the generic test lib tests: source test defs in the generic test lib test defs: no need to re-add $srcdir/t/ax to $PATH tests: split test libs into "generic" and "automake-specific" test setup: move actual calling of testsuite setup in ./defs test setup: merge definitions of function for simple tests test init: refactor: new function 'am_test_setup' test init: refactor: move displaying of debugging info later test init: refactor: new function 'am_setup_testdir' test init: refactor: new function 'am_set_exit_traps' configure: testsuite shell set exit traps in shell functions test init: refactor: new function 'am_exit_trap' test init: refactor: new function 'process_requirements' ... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
db188c29 2012-07-26 11:04:31 runtest: sanitize test environment * runtest.in: Here, similarly to what is done by AM_TESTS_ENVIRONMENT in Makefile.am, unset variables that should be under the complete control of the test framework, and that could create havoc if inherited from the environment. This remove the need to check against possible environment "pollution" ... * t/ax/test-defs.in: ... in here. * Makefile.am (AM_TESTS_ENVIRONMENT): Add a comment about the need of synchronization with 'runtest.in'. * t/self-check-env-sanitize.tap: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
e82c9156 2012-07-26 10:35:09 tests: "am_using_tap=yes" -> "am_test_protocol=tap" And similarly, "am_using_tap=no" -> "am_test_protocol=none". The new '$am_test_protocol' name is clearer, and will allow the easy addition of further test protocols in the future. This is not truly relevant for automake, but we are trying to make some parts of our testsuite framework as general as possible, in view of a future move to a more generic project like Gnulib. * Makefile.am, t/ax/am-test-lib.sh, t/ax/test-defs.in, t/ax/test-lib.sh, t/self-check-env-sanitize.tap, t/self-check-tap.sh: Adjust. * syntax-checks.mk (sc_tests_obsolete_variables): Add 'am_using_tap' to the list of obsolete variables to check against. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
d8b3c5e4 2012-07-26 12:21:40 tests: protect test libs against multiple inclusion * t/ax/test-lib.sh, t/ax/am-test-lib.sh: Return early if already sourced. Use the witness variables '$test_lib_sourced' and '$am_test_lib_sourced', respectively, for this purpose. * runtest.in, Makefile.am (AM_TESTS_ENVIRONMENT): Unset 'test_lib_sourced' and 'am_test_lib_sourced', to avoid interferences from the environment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
55fb7140 2012-07-25 22:49:02 tests: split test libs into "generic" and "automake-specific" This is the first step in the quest to merge the generically useful parts of our test suite framework in a more generic project, like Gnulib. Time will tell if we'll succeed, and whether the success will be worth the extra hassle. * t/ax/test-init.sh: Split out ... * t/ax/am-test-lib.sh, t/ax/test-lib.sh: ... into these two tests. * defs, Makefile.am: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
3bb5a901 2012-07-25 21:04:30 test setup: merge definitions of function for simple tests * t/ax/plain-functions.sh: Delete, moving the definitions of ... ($stderr_fileno_): ... this variable ... (warn_, fail_, skip_, skip_all_, fatal_, framework_failure_): ... and these functions ... * t/ax/test-init.sh: ... in here. This allow us to use those functions earlier in this file (instead of having to duplicate their behaviour with inlined code). The TAP-based tests are still able to override these functions later to their TAP-enhanced equivalents when 'tap-functions.sh' is sourced. * Makefile.am (dist_noinst_DATA): Remove 't/ax/plain-functions.sh'. * t/ax/tap-functions.sh: Adjust a comment. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
ecbceb3e 2012-07-25 18:14:23 test defs: move in 't/ax/test-defs.sh' We can do so with minimal churn, now that the early setup of $PATH in both 'runtest' and AM_TESTS_ENVIRONMENT allow the '.' built-in to find to-be-sourced shell scripts in 't/ax' automatically, both in in-tree and VPATH builds. With this change, we take another step forward a more rational and "segregated" organization of our testsuite framework. * defs-static.in: Rename ... * t/ax/test-defs.in: ... like this, and adjust. * Makefile.am, syntax-checks.mk, t/README, gen-testsuite-part, t/tests-init.sh, t/ax/tap-setup.sh, t/tap-summary.sh, .gitignore, t/testsuite-summary-color.sh, t/testsuite-summary-count.sh, t/self-check-tap.sh, defs: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
69f0f0a1 2012-07-25 23:06:06 tests: update PATH early from AM_TESTS_ENVIRONMENT and runtest Because the POSIX standards mandate that sourcing a file with ". FILE" will cause FILE (assuming it is a relative containing no slashes) to be looked for in PATH, such a move will allow us to simplify our sourcing of shell testing libraries like (currently) 't/ax/test-init.sh' and 'defs', and to modularize and re-organize them better in the feature, with minimal churn. * runtest.in, Makefile.am (AM_TEST_ENVIRONMENT): Prepend $(abs_srcdir)/t/ax and $(abs_builddir)/t/ax (in that order) to PATH; do so avoiding repetition in the common case of non-VPATH builds. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
2dde586a 2012-07-25 16:31:17 build: auxiliary testsuite files/scripts built by "make all" This will allow the developers to run a tests case by hand out of a newly extracted tarball simply doing: $ ./configure && make $ ./runtest t/the-test-case.sh while before this change one has to resort to: $ ./configure && make && make check TESTS= $ ./runtest t/the-test-case.sh or, with some non-GNU makes, even: $ ./configure && make && make check TESTS= AM_MAKEFLAGS="TESTS=" $ ./runtest t/the-test-case.sh This come very handy sometimes, especially when doing one-shot debugging. Admittedly not a big deal, but one less friction in the build system is always nice. * Makefile.am (check_SCRIPTS, dist_check_DATA, nodist_check_DATA): Move their content to ... (noinst_SCRIPTS, dist_noinst_DATA, nodist_noinst_DATA): ... these variables. Adjust comments. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
42d9439d 2012-07-25 19:06:22 perf tests: reorganize * t/list-of-tests.mk (handwritten_TESTS): Don't list ($perf_TESTS) in here anymore. * Makefile.am (EXTRA_DIST): Add them explicitly. (perf): New target, run the performance tests and save the logs of the ones with unexpected results in the file 't/perf/test-suite.log', which is thus ... (PERF_TEST_SUITE_LOG): ... defined in this variable ... (CLEANFILES): ... and added to this. (test_subdirs): Remove 't/perf': the tests in there are no more listed in $(TESTS). * t/ax/test-init.sh: Don't explicitly skip "perf" test here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
226be35f 2012-07-14 21:52:43 elisp: use suffix rules, get rid of 'elisp-comp' script (mostly a rewrite) Motivated by automake bug#11806. Traditionally, automake byte-compiled emacs-lisp '.el' files by invoking 'elisp-comp' on all of them in a bulk; this involved complex timestamping and file-locking logic. It was also brittle in any slightly-unusual setup, because 'elisp-comp' operated by copying all of the elisp files to be compiled into a temporary sub-directory and compiling them in there, the copying the resulting byte-compile files back in the build directory. This patch removes all of that juggling and chicanery in favour of defining a much simpler '.el.elc' suffix rule. Not only this is simpler, but it also interacts better with "make -jN" calls, which are becoming more and more common and useful on today's increasingly multicore systems. * Makefile.am (dist_script_DATA): Remove 'elisp-comp'. * automake.in (@common_files): Likewise. (handle_emacs_lisp): Do not require 'elisp-comp'. * doc/automake.texi: Remove references to 'elisp-comp'. * lib/am/lisp.am: Define elisp compilation via a suffix rule; this basically amounts to a complete re-write of the lisp byte-compilation rules. * lib/elisp-comp: Remove. * t/add-missing.tap: Remove elisp-comp test. * t/dist-auxdir-many-subdirs.sh: Remove reference to elisp-comp. * t/primary-prefix-invalid-couples.tap: Likewise. * t/primary-prefix-valid-couples.sh: Likewise. * t/lisp4.sh: Remove reference to elc-stamp. * t/lisp5.sh: Likewise. * t/lisp6.sh: Likewise. * t/lisp3.sh: Likewise. Also remove the recompilation check that involves a (message) call. * t/lisp7.sh: Remove check for "Warnings can be ignored". Remove reference to elc-stamp. * t/lisp8.sh: Likewise. * t/lispdry.sh: Remove references to elc-stamp. Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>