Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| a22717df | 2012-06-15 11:13:00 | missing: do not touch timestamps; only warn for out-of-date files Before this change, the missing script had a twofold role: - it warned the user if some required maintainer tools was missing, or too old; - in such a case, it tried to "fix" the timestamp of the files that should have been rebuilt by that tool (without actually updating the file contents, of course), to allow the build to continue. The second capability used to be quite useful in the days when most projects committed files generated by maintainer-only tools in their VCS repository (today the trend is not to keep such generated files VCS-committed anymore). In such a setup, the "timestamp-fixing" capability of 'missing' was quite useful, in that it allowed users lacking some required maintainer tool to build from a VCS checkout in the face of skewed timestamps (as could have been caused by "cvs update" or "git checkout"). But then, when the automatic remake rules kicked in due to the generated files being *actually out-of-date* (e.g., because the user had modified 'configure.ac' but lacked a modern-enough autoconf to rebuild it), that behaviour of 'missing' caused the same problem that plagued AM_MAINTAINER_MODE; i.e., the user would get non-dependable builds and inconsistent statuses of the build tree -- changes to source files don't reflect on generated files, and this can be very confusing and cause hard-to-spot errors). So we now believe that the best approach to deal with timestamp-related issues is not to have 'missing' to "automagically" try to resolve them (with all the risk and brittleness entailed), but rather to suggest those projects still keeping generated files committed in their VCS to provide a proper (say) 'fix-timestamp.sh' script that touches the timestamp of the checked-out files, to ensure no spurious rebuild will be triggered. As a bonus, such a script can be more aware of the particularities, nooks and corner cases of a project, and thus more reliable than the old 'missing' script. An example of this approach is offered by GNU awk (release 4.0.1, Git tag 'gawk-4.0.1', commit b85b04e8). The GNU awk maintainers commit the Autotools-generated files (configure, Makefile.in, etc.) and other generated in the project's Git repository, but offer a useful script 'bootstrap.sh' that fixes the timestamps of those files, to ensure no useless remake is triggered in a freshly cloned repository: #! /bin/sh # bootstrap.sh --- touch relevant files to avoid out-of-date issues # in Git sandboxes touch aclocal.m4 find awklib -type f -print | xargs touch sleep 1 touch configure sleep 2 touch configh.in sleep 1 touch test/Maketests find . -name Makefile.in -print | xargs touch touch doc/*.info touch po/*.gmo touch po/stamp-po touch awkgram.c touch command.c touch version.c A similar, simplified script is also reported as an example in the manual. * NEWS: Update. * doc/automake.texi (Auxiliary Programs, maintainer-mod): Update. (CVS): Do not suggest that 'missing' can "automagically" fix botched timestamp due to a "cvs update"; this isn't true anymore. Give an example of a custom 'fix-timestamp.sh' script that can be used to obtain the same effect (in a slightly more laborious but also more explicit and less brittle way). Fix some minor typos and improper wordings while we are at it. * lib/missing: Basically rewritten to implement the new semantics. As a side effect (one of the several), the '--run' option is no more required nor recognized. * m4/missing.m4 (AM_MISSING_HAS_RUN): Enhance the test on '$MISSING' to ensure it actually provides the new semantics (by trying the new "witness" option '--is-lightweight'). * lib/am/distdir.am (distdir): No need anymore to check for "bad" distributed man pages that were actually dummy stubs generated by the 'missing' script. * t/missing4.sh: Rename ... * t/remake-aclocal-version-mismatch.sh: ... like this. * t/missing2.sh: Rename ... * t/missing-version-mismatch.sh: ... like this, and adjust to the new semantics. * t/missing3.sh: Adjust to the new semantics. * t/man4.sh: Remove as obsolete. * t/missing.sh: Likewise. * t/missing5.sh: Likewise. * t/txinfo30.sh: Likewise. * t/man6.sh: Adjust grepping checks. * t/remake6.sh: Likewise. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7b1697bd | 2012-06-15 10:27:27 | Merge branch 'maint' * maint: tests: minor reorganization of few tests fixup: adjust t/list-of-tests.mk for renamed/added tests subdirs: enhance coverage, tweak and rename few tests sync: update files from upstream with "make fetch" py-compile: consistently quote 'like this', not `like this'. docs: recursive make considered harmful docs: clean rules are not run in reverse order of build rules anymore silent: new $(AM_V_P) variable, tell if we're running in silent mode refactor: silent rules handling (a little) refactor: &define_verbose_var: accept a third optional argument + Extra non-trivial edits: These are due to the fact that support for silent rules is enabled unconditionally these days (since commit 'v1.12-34-g14141f2' of 2012-05-01, "silent rules: support for them is always active now"). * automake.in: In the new silent related code, do not ever check whether the 'silent-rules' option is active; just assume support for silent rules is enabled. * t/silent-obsolescent-warns.sh: Remove as obsolete. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 401a2a82 | 2012-06-15 10:09:04 | Merge branch 'silent-custom' into maint * silent-custom: silent: new $(AM_V_P) variable, tell if we're running in silent mode refactor: silent rules handling (a little) refactor: &define_verbose_var: accept a third optional argument Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2ef0a2d3 | 2012-06-11 21:39:46 | Merge branch 'maint' * maint: maintcheck: fix failures, both real and spurious subdir tests: avoid an use of "make -j4", for portability tests: avoid failure due to libtool quirks in C++ demo test tests: fix spurious failures due to missing '$sleep' subdirs: unify rules for "cleaning" and "normal" recursive targets tests: add a "demo" test on C support tests: look for '.lo' rather than '.o' object when using Libtool with C++ cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py" maint: grammar fixes: s/all these/all of these/ subdir-objects: improve "make mostlyclean" efficiency and flexibility Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 620362cd | 2012-06-11 17:35:35 | Merge branches 'subdirs-simplify' and 'subdir-objects-pr10697' into maint * subdirs-simplify: subdirs: unify rules for "cleaning" and "normal" recursive targets tests: add a "demo" test on C support * subdir-objects-pr10697: subdir-objects: improve "make mostlyclean" efficiency and flexibility tests: look for '.lo' rather than '.o' object when using Libtool with C++ cosmetics: few typofixes in older ChangeLogs, suggested by "codespell.py" Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ec6a1357 | 2012-06-10 23:08:07 | subdirs: unify rules for "cleaning" and "normal" recursive targets Before this change, the recursive invocation of cleaning targets in the $(SUBDIRS) where done in inverse order, i.e., starting from the last $(SUBDIRS) entry and proceeding towards the first. According to the code comments, this was done ... ... in an attempt to alleviate a problem that can happen when dependencies are enabled. In this case, the .P file in one directory can depend on some automatically generated header in an earlier directory. Since the dependencies are required before any target is examined, make bombs. But this comment does not apply anymore to the current implementation of automatic dependency tracking: the '.Po' and '.Plo' files does not depend on any C header or source file, ever! So it seems that the distinction between "normal" and "cleaning" recursive targets is a stale leftover of an older implementation of the automatic dependency tracking. In fact, the Automake History manual seems to confirm this suspect; the section "First Take on Dependency Tracking" reads: Because each .P file was a dependency of Makefile, this meant that dependency tracking was done eagerly by make. For instance, "make clean" would cause all the dependency files to be updated, and then immediately removed. This eagerness also caused problems with some configurations; if a certain source file could not be compiled on a given architecture for some reason, dependency tracking would fail, aborting the entire build. and the following section "Dependencies As Side Effects" reads: In this approach, the .P files were included using the -include command, which let us create these files lazily. This avoided the "make clean" problem. So the distinction between "normal" and "cleaning" recursive targets has likely been obsolete since by then already. We can thus remove such distinction, thus reducing some complications and duplication in our rules. Doing so, the whole testsuite still passes (both with GCC and Sun C 5.9), even the test 'c-demo.sh', which, among the other things, exercise the setup described in the obsolete code comment referenced above. Finally, note that we still keep '$(RECURSIVE_CLEAN_TARGETS)' and '$(RECURSIVE_TARGETS)' as two distinct variables, to ensure a better backward-compatibility for any user-defined rules that happen to use those variables. * NEWS: Update. * lib/am/subdirs.am ($(RECURSIVE_CLEAN_TARGETS), $(CLEAN_TARGETS)): Merge their recipes. * t/subdir-distclean.sh: New test, check that "./configure && make && make distclean" is actually a no-op, even when conditional SUBDIRS are involved. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 825722a1 | 2012-06-11 16:12:01 | silent: new $(AM_V_P) variable, tell if we're running in silent mode Addresses part of automake bug#8665. * automake.in (handle_silent): Define a new make variable '$(AM_V_P)', that expands to a shell conditional that can be used in make recipes to determine whether they are being run in silent mode or not. The choice of the name derives from the LISP convention of appending the letter 'P' to denote a predicate (see also "the '-P' convention" in the Jargon File); we do so for lack of a better convention. * t/automake.texi, NEWS: Document the new variable. * t/silent6.sh: Adjust and extend. Move out the checks that didn't actually deal with user extension of silent rules ... * t/silent-obsolescent-warns.sh: ... into this test (bound to be removed once 'maint' is merged into the 'master' branch). * t/list-of-tests.mk: Add the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| fa0cd34b | 2012-06-10 22:03:49 | maint: grammar fixes: s/all these/all of these/ Run this command: git grep -li '\<all.these\>' \ |xargs perl -pi -e 's/\b([Aa])ll these\b/${1}ll of these/' | ||
| 06dfdbe3 | 2012-06-10 13:38:58 | subdir-objects: improve "make mostlyclean" efficiency and flexibility Fixes automake bug#10697. Before this change, the generated Makefile issued one 'rm' invocation for each subdir object file. Not only was this very inefficient when there were several such files, but it also caused stale object files to be left behind when a source file was renamed or removed. * automake.in (handle_single_transform): When a subdir object is seen, update '%compile_clean_files' to clean all the compiled objects in its same subdirectory, and all the libtool compiled objects ('.lo') there as well is that subdir object is a libtool one. * t/subobj-clean-pr10697.sh: New test. * t/subobj-clean-lt-pr10697.sh: Likewise. * t/list-of-tests.mk: Add them. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e92bd2e7 | 2012-06-02 09:54:17 | Merge branch 'maint' * maint: news: document deprecation of configure.in news: put planned backward compatibilities early sync: update files from upstream with "make fetch" maint: deprecate 'configure.in' as autoconf input maint: post-release minor version bump release: stable release 1.12.1 copyright: update copyright years in a couple of files tests: avoid spurious failures with Solaris 9 cscope program maintcheck: fix a spurious failure perf: beginning of a performance testsuite aclocal: declare function prototypes, do not use '&' in function calls news: support for configure.in will be dropped in future automake versions tests: fix botched heading comments in 'lex-clean-cxx.sh' [ng] maintcheck: some tweaks and fixlets help: fix a typo in the list of warning categories maint: version bump after beta release release: beta release 1.12.0b (will become 1.12.1) release: remove overly picky check Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 64766637 | 2012-06-02 09:34:29 | news: document deprecation of configure.in * NEWS (Warnings and deprecations): We now warn if 'configure.in' is used instead of 'configure.ac' as autoconf input. (Future backward-incompatibilities): Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cdf93deb | 2012-06-02 09:24:29 | news: put planned backward compatibilities early * NEWS (Future backward-incompatibilities): Put them in the news entries for the future 1.12.2 release. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e6184b2c | 2012-05-29 09:36:26 | Merge branch 'fix-pr11543' into maint * fix-pr11543: aclocal: declare function prototypes, do not use '&' in function calls | ||
| 6bf58a59 | 2012-05-28 13:32:03 | aclocal: declare function prototypes, do not use '&' in function calls This change will also fix automake bug#11543 (from a report by Matt Burgess). * aclocal.in: Declare prototypes for almost all functions early, before any actual function definition (but omit the prototype for the dynamically generated '&search' function). Add prototypes to any function definition. Remove '&' from function invocations (i.e., simply use "func(ARGS..)" instead of "&func(ARGS...)"). * THANKS, NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| abc3d3d1 | 2012-05-28 13:52:34 | news: support for configure.in will be dropped in future automake versions The use of configure.in as Autoconf input has been deprecated for a very long time in the Autoconf documentation, and the next version of Autoconf (2.70) will start warning about it ar runtime as well (see commit 'v2.69-4-g560f16b' or 2012-05-23, "general: deprecate 'configure.in' as autoconf input", in the Autoconf's git repository). * NEWS (Future backward-incompatibilities): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 52062eb2 | 2012-05-25 14:50:05 | Merge branch 'am-init-automake' * am-init-automake: init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e186355f | 2012-05-19 11:47:26 | init: obsolete usages of AM_INIT_AUTOMAKE not supported anymore This is a follow-up on commit v1.12-66-g27136df of 2012-05-06, "init: warn against obsolete usage of AM_INIT_AUTOMAKE". With this change, we drop support for the two-arguments and three-arguments invocation forms of the AM_INIT_AUTOMAKE macro, as in either of: AM_INIT_AUTOMAKE($PACKAGE, $VERSION) AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE) * NEWS, doc/automake.texi: Update. * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments invocation form as a hard error. * t/aminit-moreargs-deprecation.sh: Renamed ... * t/aminit-moreargs-deprecation.sh: ... to this, and updated to check the new semantics. * t/ac-output-old.tap: Adjust by avoiding old-style uses of AC_INIT and AM_INIT_AUTOMAKE. * t/acsilent.sh: Likewise. * t/dirlist.sh: Likewise. * t/dirlist2.sh: Likewise. * t/req.sh: Likewise. * t/nodef.sh: Remove as obsolete. * t/version.sh: Likewise. * t/version2.sh: Likewise. * t/backcompat.sh: Likewise. * t/backcompat2.sh: Likewise. * t/backcompat3.sh: Likewise. * t/backcompat5.sh: Likewise. * t/backcompat4.sh: Renamed ... * t/backcompat-acout.sh: ... to this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cb702406 | 2012-05-19 14:13:39 | Merge branch 'parallel-tests-default' * parallel-tests-default: check: the parallel-tests driver is now the default | ||
| f67dfa6e | 2012-05-19 14:09:55 | Merge branch 'maint' * maint: ylwrap: preserve subdirectories in "#line" munging ylwrap: preparatory refactoring | ||
| 5e771b27 | 2012-05-18 18:00:51 | check: the parallel-tests driver is now the default The old serial testsuite driver is still supported, and can be activated by the 'serial-tests' option (introduced by commit 'v1.11-1989-gdeb7773' of 2012-02-20, "automake: new option 'serial-tests'"). * lib/Automake/Options.pm: Now, the 'parallel-tests' option is a no-op (but still explicitly recognized, for backward compatibility), while the 'serial-tests' option is recognized and registered. * automake.in: Adjust to ensure that the parallel test harness is used by default; mostly, this amounts at using "! option('serial-tests')" where "option('parallel-tests')" was used before. * NEWS, doc/automake.texi: Update. * configure.ac (AM_INIT_AUTOMAKE): Drop 'parallel-tests' option, is redundant now. * defs: In the generated AM_INIT_AUTOMAKE call, use the 'serial-tests' when the serial testsuite harness is to be used, and no option otherwise. * lib/am/check.am: Use (static) conditional '%SERIAL_TESTS%' instead of conditional '%PARALLEL_TESTS%'. * lib/test-driver: Adjust heading comments. * t/ax/extract-testsuite-summary.pl: Likewise. * t/check-exported-srcdir.sh: Likewise. * t/check-subst.sh: Likewise. * t/java-compile-run-nested.sh: Likewise. * t/parallel-tests-dry-run-1.sh: Likewise. * t/parallel-tests-dry-run-2.sh: Likewise. * t/parallel-tests-interrupt.sh: Likewise. * t/parallel-tests-many.sh: Likewise. * t/test-metadata-global-log.sh: Likewise. * t/tests-environment-backcompat.sh: Likewise. * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust a comment. * t/check8.sh: Likewise. * t/check-tests-in-builddir.sh: Likewise. * t/java-compile-run-flat.sh: Adjust a botched comment. * t/ax/tap-summary-aux.sh: Remove explicit use of the 'parallel-tests' option. * t/ax/testsuite-summary-checks.sh: Likewise. * t/aclocal-path-precedence.sh: Likewise. * t/dist-aux-many-subdirs.sh: Likewise. * t/parallel-tests-no-color-in-log.sh: Likewise. * t/parallel-tests-reset-term.sh: Likewise. * t/parallel-tests-subdir.sh: Likewise. * t/check-no-test-driver.sh: Fix setup to adjust to the changed semantics. Update heading comments. * t/parallel-tests-driver-install.sh: Adjust to the new semantic. * t/test-driver-is-distributed.sh: Simplified according to the new semantics. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b6359a5f | 2012-05-16 18:16:41 | ylwrap: preserve subdirectories in "#line" munging If Automake is used in non-recursive mode and one of the inputs is a yacc file, for example, "src/grammar.y", ylwrap will remove too many directories from the output file when it adjusts the paths in it. This results in #line directives referring to "grammar.y" instead of "src/grammar.y". This is a result of $input_rx simply taking all the directory components of the absolute input path and removing them. One solution is to store the path passed to ylwrap and replace $input_rx with it. This is what we do. Suggestion and initial patch (without tests) by Nikolai Weibull: <http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html> Final patch by Stefano Lattarini. * lib/ylwrap ($input_sub_rx): New. When munging the #line directives, substitute '$input_rx' with it, instead of stripping it altogether. Adjust comments. * t/yacc-line.sh, t/lex-line: Adjust and extend. * NEWS, THANKS: Update. Copyright-paperwork-exempt: yes Co-authored-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 12405c9f | 2012-05-08 12:49:36 | Merge branch 'maint' * maint: tests: fix a spurious failure with dash test defs: fix indentation (cosmetic change) tests: remove obsolete uses of $sh_errexit_works configure: search a sturdy POSIX shell to be used in the testsuite tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL fixup: distribute t/README init: warn against obsolete usage of AM_INIT_AUTOMAKE Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 33c59ec5 | 2012-05-07 22:11:28 | Merge branch 'testsuite-saner-shell' into maint * testsuite-saner-shell: tests: fix a spurious failure with dash test defs: fix indentation (cosmetic change) tests: remove obsolete uses of $sh_errexit_works configure: search a sturdy POSIX shell to be used in the testsuite tests: shell running test scripts is now named AM_TEST_RUNNER_SHELL | ||
| 2d68fd9b | 2011-12-28 13:23:31 | configure: search a sturdy POSIX shell to be used in the testsuite * configure.ac: Add code (partially inspired to checks in gnulib's 'tests/init.sh') to search for a good-enough, not-buggy POSIX/XSI shell to be used in our testsuite. Accordingly AC_SUBSTitute the variable 'AM_TEST_RUNNER_SHELL'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 27136dfe | 2012-03-31 16:39:32 | init: warn against obsolete usage of AM_INIT_AUTOMAKE Support for the two- and three-arguments invocation forms of the AM_INIT_AUTOMAKE macro, as in: AM_INIT_AUTOMAKE($PACKAGE, $VERSION) or: AM_INIT_AUTOMAKE($PACKAGE, $VERSION, NODEFINE) will be removed in the next major Automake release (1.13). Such usages have already been deprecated in the documentation starting from commit v1.11-2015-ge99690a of 23-02-2012 "docs, news: document planned removal of obsolete macros and features". We now start giving runtime warnings as well (in the 'obsolete' category). * NEWS: Update. * m4/init.m4 (AM_INIT_AUTOMAKE): Report the two- and three-arguments form invocation. * automake.in (scan_autoconf_traces): Likewise. * doc/automake.texi: Minor adjustments. Add an @anchor to the location where it's described how to modernize outdated invocation of AM_INIT_AUTOMAKE, so that it can be referenced from automake warning/error messages. * t/aminit-moreargs-deprecation.sh: New test. * tests/list-of-tests.mk: Add it. * tests/ac-output-old.tap: Adjust by calling automake with the warnings in the 'obsolete' category disabled. * t/backcompat.test: Likewise. * t/backcompat3.test: Likewise. * t/backcompat5.test: Likewise. * t/backcompat6.test: Likewise. * t/version.test: Likewise. * t/version2.test: Likewise. * t/pr2.test: Modernize style of AC_INIT and AM_INIT_AUTOMAKE invocations, and use proper m4 quoting. * t/pr87.test: Likewise. * t/confsub.test: Likewise. * t/install2.test: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 68075ce0 | 2012-05-05 21:48:49 | require: autoconf >= 2.65; related simplifications The new support for Objective C++ (to be added in Automake 1.12.1) can be simplified if we assume Autoconf version 2.65 or later (2.65 being the version that introduced support for Objective C++). Since such an Autoconf version is two and half years old now (and will likely be almost three years old when Automake 1.13 gets released), requiring it is acceptable. This will also simplify testing and maintenance of Automake, because we'll need to test with fewer Autoconf version, and possibly rely on new Autoconf features. * NEWS (Version requirements): Automake 1.13 will require Autoconf 2.65 or later. * configure.ac ($required_autoconf_version): Bump to 2.65. * m4/init.m4 (AM_INIT_AUTOMAKE): Require Autoconf >= 2.65. Assume AC_PROG_OBJCXX is unconditionally defined. * m4/depout.m4: Adjust a comment about a nugget of defensive programming. * t/ext.sh: Assume that AC_PROG_OBJCXX is unconditionally defined, and that we are using Autoconf >= 2.65. Related simplifications. * t/objc-megademo.sh: Likewise. * t/objcxx-basic.sh: Likewise. * t/objcxx-deps.sh: Likewise. * t/objcxx-flags.sh: Likewise. * t/objcxx-minidemo.sh: Likewise. * t/nodep2.sh: Likewise. * t/backcompat3.sh: Assume AC_INIT accepts an URL argument. * t/depend5.sh: Adjust a comment. * syntax-checks.mk (sc_test_names): Delete this check as now useless: autoconf >= 2.65 (>= 2.63, actually) can handle arguments to AC_INIT that contain or are m4 builtins or predefined macros. (m4_builtin): Delete this now-useless variable as well, was used only by the check above. (syntax_check_rules): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1e852648 | 2012-05-04 17:46:51 | Merge branch 'maint' * maint: tests: avoid spurious failure on missing Obj C/C++ compiler objc, objc++: test support for compilation flags objc, objc++: add stress test objc, objc++: test automatic dependency tracking objc: reorganize basic tests objc++, objc: add first semantic tests objc++: add first basic test news: announce initial support for Objective C++ objc++: test support for '.mm' suffix in _SOURCES entries objc++: add documentation objc++: initial support for Objective C++ | ||
| 75b91149 | 2012-05-04 13:24:23 | Merge branch 'objc++' into maint * objc++: objc, objc++: test support for compilation flags objc, objc++: add stress test objc, objc++: test automatic dependency tracking objc: reorganize basic tests objc++, objc: add first semantic tests objc++: add first basic test news: announce initial support for Objective C++ objc++: test support for '.mm' suffix in _SOURCES entries objc++: add documentation objc++: initial support for Objective C++ Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0fec8df4 | 2012-05-02 18:15:41 | Merge branch 'always-support-silent-rules' * always-support-silent-rules: silent rules: support for them is always active now Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cd4dab35 | 2012-05-02 18:14:55 | Merge branch 'maint' * maint: news: document improvement in parallel-tests performance tests: fix spurious failure due to autom4te caching news: fix typos aclocal: error out again on unrecognized arguments parallel-tests: save few forks when possible parallel-tests: optimize global log creation parallel-tests: optimize 'recheck' target for speed coverage: add performance tests on some parallel-tests aspects | ||
| 3b447abc | 2012-05-02 18:04:25 | news: document improvement in parallel-tests performance * NEWS: Document the improved performances of the parallel-tests targets 'check' and 'recheck'. See recent commits: - v1.12-20-gf5733aa of 2012-04-26, "parallel-tests: optimize 'recheck' target for speed" - v1.12-21-g5eeb366 of 2012-02-26, "parallel-tests: optimize global log creation" - v1.12-22-g4c2dd6e of 2012-04-30, "parallel-tests: save few forks when possible" Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 93814708 | 2012-05-02 09:48:11 | news: fix typos * NEWS (Bugs fixed in 1.12.1): Fix botched indentation of an entry, add a forgotten "and", remove a redundant "the". Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 18015811 | 2012-05-02 00:13:10 | aclocal: error out again on unrecognized arguments Starting from commit v1.11-662-g52246cc of 2102-02-18, "cmdline parsing: move into a dedicated perl module", aclocal has been silently ignoring non-option arguments instead of correctly reporting them. Fix this regression. * t/aclocal.sh: Update to catch the regression. * aclocal.in (parse_arguments): Explicitly reject non-option arguments. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1ad72bca | 2012-05-02 10:52:18 | Merge branch 'cygnus-remove' * cygnus-remove: cygnus: remove support for Cygnus-style trees Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b618b585 | 2012-05-02 10:26:12 | Merge branch 'maint' * maint: cosmetics: fix typo in aclocal m4 directory README cygnus: warn when it's used (flagged as 'obsolete' now) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e7745eaa | 2012-05-02 09:59:46 | Merge branch 'cygnus-deprecate' into maint * cygnus-deprecate: cygnus: warn when it's used (flagged as 'obsolete' now) Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 14141f25 | 2012-05-01 14:23:04 | silent rules: support for them is always active now Before this change, support for silent rules was optional and activated only if the 'silent-rules' option was specified. The rationale behind that behaviour was that the silent-rules machinery originally only worked with make implementations supporting nested variables expansions, which isn't (or wasn't) a POSIX-specified features; so that packages wanting to be "extra-portable" couldn't use the silent-rules machinery at all. But after Paul Eggert's commit 'v1.11-598-g8493499' of 25-12-2011, "silent-rules: fallback for makes without nested vars" (motivated by automake bugs #9928 and #10237), Makefiles generated when the 'silent-rules' option is enabled can work also with those make implementations that don't support nested variables expansion (albeit the configure-time selected verbosity cannot be overridden at make runtime in such case). In light of that, and since silent rules are disabled by default even when the 'silent-rules' option is given (unless the developer explicitly makes them enabled by default be calling "AM_SILENT_RULES([yes])" in configure.ac), we can now have the support for silent rules always enabled. The 'silent-rules' option will thus become a no-op, but will reaming a valid option for the time being, for better backward-compatibility. A collateral effect of this change is that the use of the 'silent-rules' option will not anymore automatically disable the warnings in the 'portability-recursive' category. The present change is basically a backport of the Automake-NG commit 'v1.11d-75-g61ca923' of 19-04-2012, "[ng] silent rules: support for them is always active now". Stemmed by this thread on the Automake-NG list: <http://lists.gnu.org/archive/html/automake-ng/2012-04/msg00027.html> * automake.in: Enable silent-rules machinery unconditionally. Reword some comments. Do not switch off warnings in the category 'portability-recursive' anymore if the 'silent-rules' option is given. * m4/init.m4: Call 'AC_REQUIRE' on 'AM_SILENT_RULES' unconditionally. * lib/Automake/Options.pm: Recognize 'silent-rules' as a dummy option. Do not bother anymore checking that it is set in 'configure.ac'. * t/silent.sh: Remove now-redundant calls to AM_SILENT_RULES. * t/silent2.sh: Likewise. * t/silent3.sh: Likewise. * t/silent4.sh: Likewise. * t/silent8.sh: Likewise. * t/silent9.sh: Likewise. * t/silent-lex.sh: Likewise. * t/silent-many-gcc.sh: Likewise. * t/silent-many-generic.sh: Likewise. * t/silent-yacc-headers.sh: Likewise. * t/silent-yacc.sh: Likewise. * t/silentcxx-gcc.sh: Likewise. * t/silentcxx.sh: Likewise. * t/silentf77.sh: Likewise. * t/silentf90.sh: Likewise. * t/help-silent.sh: Likewise. * t/silent-configsite.sh: Likewise, and other minor adjustments. * t/silent7.sh: Likewise. Also, extend to check that silent rules are disabled by default, and remove obsoleted checks about the 'silent-rules' option being rejected in 'AUTOMAKE_OPTIONS'. * t/silent6.sh: Remove now-redundant calls to 'AM_SILENT_RULES'. Call automake with '-Wno-portability-recursive'. Remove other obsoleted checks. * t/dollarvar.sh: Don't expect the use of 'AM_SILENT_RULES' in 'configure.ac' to disable warning in the 'portability-recursive' category anymore. * t/compile_f_c_cxx.sh: Adjust to avoid a spurious failure. * t/silent-amopts.sh: Remove as obsolete. * t/silent-nowarn.sh: Likewise. * t/list-of-tests.mk: Adjust. * NEWS: Update. * doc/automake.texi: Update and simplify accordingly. * configure.ac (AM_INIT_AUTOMAKE): Remove 'silent-rules' option. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 140ce85e | 2012-05-01 14:04:56 | Merge branch 'maint' * maint: news: fix confusing wording news: fixed weaknesses in build system and testsuite bootstrap: consistently use correct copyright year fixup: remove leftover "TERM=ansi" definition in 't/color.sh' | ||
| 3687a13b | 2012-05-01 13:42:52 | news: fix confusing wording Reported by Dave Hart. * NEWS (Future backward-incompatibilities): Fix possibly confusing wording about the upcoming requirement of Autoconf >= 2.65. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 96a78f13 | 2012-05-01 13:32:42 | news: fixed weaknesses in build system and testsuite * NEWS (Bugs fixed in 1.12.1): Report that several weaknesses in the Automake's own build system and test suite have been fixed. See for example recent commits: - commit v1.12-5-geb7e8f3, for bug#11345 - commit v1.12-5-g63e07a9, for bug#11346 - commit v1.12-5-gf31fe4f - commit v1.12-10-gab14841 - commit v1.12-19-g807f3cf, for bug#11369 - commit v1.12-20-gd330368, for bug#11369 - bug#11387, pre-emptively solved by commit v1.12-4-g444618b Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| de9e3447 | 2012-04-30 22:07:15 | Merge branch 'maint' * maint: news: Automake 1.13 will require Autoconf >= 2.65 news: put planned future backward-incompatibilities on top readme: update INSTALL to latest version from Autoconf sync: some auxiliary files synced from upstream hacking: copyright notices must be updated before releasing color-tests: coloring can be forced on non-ANSI terminals as well | ||
| 99dc7acd | 2012-04-30 21:43:21 | news: Automake 1.13 will require Autoconf >= 2.65 Autoconf 2.65 is almost three years old now, so requiring it is acceptable. Also, the soon-to-appear support for Objective C++ in Automake will be simplified if we can assume that Autoconf version (which is the one that introduced support for Objective C++). * NEWS (Planned future backward-incompatibilities): Automake 1.13 will require Autoconf 2.65 or later. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c5efa270 | 2012-04-30 21:29:34 | news: put planned future backward-incompatibilities on top * NEWS (New in 1.12): List of planned future backward-incompatibilities moved from here ... (New in 1.12.1): ... to here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b105d40d | 2012-04-30 20:44:50 | color-tests: coloring can be forced on non-ANSI terminals as well Before this change, colorization of testsuite output was suppressed whenever the terminal was recognized to be a "dumb" one, incapable of handling ANSI coloring (i.e., when the environment variable TERM had a value of "dumb"). This happened even when the AM_COLOR_TESTS variable was set to a value of "always". Such a behaviour was suboptimal and slightly confusing; in fact, if a user wants to force coloring of testsuite output that is being redirected to a regular file, he should be able to do so even if his terminal is not capable of handling ANSI colors -- in fact, such terminal wouldn't be involved with the testsuite output in any way, so why should it be allowed to influence it? Thus, we now enable coloring of test output whenever AM_COLOR_TESTS is set to "always", irrespective of the value of the TERM environment variable. * NEWS: Update. * lib/am/check.am [%?COLOR%] (am__tty_colors): Activate colorization of testsuite output whenever AM_COLOR_TESTS has the value of "always". * t/ax/tap-summary-aux.sh: Export the TERM environment variable to "dumb" when forcing colorization of the testsuite output; this should *not* prevent such colorization from taking place, and we want to check that this expectation really holds. * t/ax/testsuite-summary-checks.sh: Likewise. * t/color.sh: Likewise, and adjust some grepping checks. * t/tap-color.sh: Likewise. Also, remove redundant "make check" invocation since we are at it. * t/color2.sh: Likewise, and check that exporting TERM=dumb actually prevents testsuite output colorization when AM_COLOR_TESTS is unset. * t/parallel-tests-reset-term.sh: Relax, to prevent it from failing spuriously due to the new semantic. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5b0cc395 | 2012-04-06 11:18:38 | cygnus: remove support for Cygnus-style trees Support for "Cygnus-style" tree as enabled by the 'cygnus' option has been deprecated in the documentation and with runtime warning since Automake 1.12.1. It's now time to remove it. Closes automake bug#11034. * lib/Automake/Options.pm (_process_option_list): Issue a proper error when the 'cygnus' option is seen. * automake.in: Don't handle the 'cygnus' option anymore. * docs/automake.texi: Remove references to cygnus option and Cygnus-style trees. * lib/am/dejagnu.am, lib/am/texinfos.am: Drop special setups for cygnus mode. * NEWS: Update. * t/cygnus-no-more.sh: New test. * t/flavor.sh: Adjust. * t/cygnus-deprecation.sh: Remove. * t/cygnus-check-without-all.sh: Likewise. * t/cygnus-requires-maintainer-mode.sh: Likewise. * t/cygnus-dependency-tracking.sh: Likewise. * t/cygnus-imply-foreign.sh: Likewise. * t/cygnus-no-installinfo.sh: Likewise. * t/cygnus-no-dist.sh: Likewise. * t/clean2.sh: Likewise. * t/txinfo5.sh: Likewise. * t/txinfo5b.sh: Likewise. * t/list-of-tests.mk: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 71cc0e09 | 2012-03-31 14:53:24 | cygnus: warn when it's used (flagged as 'obsolete' now) Support for "Cygnus-style" tree as enabled by the 'cygnus' option is now reported as obsolete when the warnings in the 'obsolete' category are enabled. See automake bug#11034. * automake.in (check_cygnus): Report the use of 'cygnus' mode as obsolete. * NEWS: Update. * docs/automake.texi: Minor adjustments. * t/cygnus-deprecation.sh: New test. * t/list-of-tests.mk: Add it. * tests/cygnus-check-without-all.sh: Adjust by calling automake with the warnings in the 'obsolete' category disabled. * t/cygnus-requires-maintainer-mode.sh: Likewise. * t/cygnus-dependency-tracking.sh: Likewise. * t/cygnus-imply-foreign.sh: Likewise. * t/cygnus-no-installinfo.sh: Likewise. * t/cygnus-no-dist.sh: Likewise. * t/clean2.sh: Likewise. * t/flavor.sh: Likewise. * t/txinfo5.sh: Likewise. * t/txinfo5b.sh: Likewise. * t/library.sh: Remove use of 'cygnus' and 'dejagnu' options, and of AM_MAINTAINER_MODE macro. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6542254a | 2012-04-26 15:14:04 | news: announce initial support for Objective C++ Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 15646710 | 2012-04-29 22:45:00 | Merge branch 'mkdirp-remove' into master * mkdirp-remove: AM_PROG_MKDIR_P: remove as obsolete Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0842c523 | 2012-04-29 22:43:27 | Merge branch 'maint' * maint: AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8a1c64fe | 2012-04-06 11:24:11 | AM_PROG_MKDIR_P: remove as obsolete Support for the obsolescent 'AM_PROG_MKDIR_P' m4 macro (and its output variable '$(mkdir_p)') has in the documentation and with runtime warning since Automake 1.12.1. It's now time to remove it. * automake.in (scan_autoconf_traces): Remove special handling of 'AM_PROG_MKDIR_P'. * m4/mkdirp.m4: Delete. * Makefile.am (dist_automake_ac_DATA): Remove it. * t/mkdirp-deprecation.sh: Delete. * t/list-of-tests.mk: Remove it. * doc/automake.texi: Remove references to the 'AM_MKDIR_P' m4 macro and the '$(mkdir_p)' output variable. * t/gettext-macros.sh: Ensure the gettext-requiring tests will still see the now-removed 'AM_PROG_MKDIR_P' macro as an alias for the 'AC_PROG_MKDIR_P' macro, since even recent versions of gettext uses 'AM_PROG_MKDIR_P' in their '.m4' files. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7a1eb9ff | 2012-04-02 17:05:42 | AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13 Support for the obsolescent 'AM_PROG_MKDIR_P' macro (and its output variable '$(mkdir_p)') has already been deprecated in the documentation. It's now time to make its use actively emit warnings in the 'obsolete' category as well. * automake.in (scan_autoconf_traces): Warn about 'AM_PROG_MKDIR_P' obsolescent if that macro is seen. * m4/mkdirp.m4 (AM_PROG_MKDIR_P): Warn about its own obsolescence. * m4/init.m4: Require 'AC_PROG_MKDIR_P', not 'AM_PROG_MKDIR_P'. * t/mkdirp-deprecation.sh: New test. * t/list-of-tests.mk: Add it. * syntax-check.mk (sc_mkdir_p): Delete this check as obsolete. (syntax_check_rules): Remove it. * t/gettext-macros.sh: Ensure the gettext-requiring tests will call aclocal and automake with the 'obsolete' warnings disabled, since even recent versions of gettext used the now-deprecated 'AM_PROG_MKDIR_P' m4 macro. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 83249bd3 | 2012-04-28 10:53:20 | Merge branches 'remove-acdir-option' and 'remove-obsolete-m4' * remove-acdir-option: aclocal: remove the --acdir option * remove-obsolete-m4: m4: delete several obsolete macros Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| bc103832 | 2012-04-06 10:46:27 | aclocal: remove the --acdir option It not documented in the manual anymore, its use has already been causing a deprecation warning, and its oncoming removal has already been announced in the NEWS file. So let's finally remove it. * aclocal.in (parse_arguments): Don't recognize the '--acdir' option anymore. (handle_acdir_option): Remove subroutine. * configure.ac ($ACLOCAL): Adjust. ($AUTOMAKE): Cosmetic changes, for consistency. * tests/aclocal-acdir.test: Remove usages of the '--acdir' option. * tests/aclocal-print-acdir.test: Likewise. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d2ca1685 | 2012-04-06 10:10:12 | m4: delete several obsolete macros Support for several obsolescent macros has already been deprecated, and their removal already announced in the documentation and in the NEWS file. It's now time to finally remove them. * m4/dmalloc.m4 (fp_WITH_DMALLOC): Don't define anymore. * m4/maintainer.m4 (jm_MAINTAINER_MODE): Likewise. * m4/lispdir.m4 (ud_PATH_LISPDIR): Likewise. * m4/protos.m4 (fp_C_PROTOTYPES): Likewise. * m4/ccstdc.m4: Delete file. * m4/header.m4: Likewise. * m4/obsol-gt.m4: Likewise. * m4/obsol-lt.m4: Likewise. * m4/obsolete.m4: Likewise. * Makefile.am (dist_automake_ac_DATA): Don't list the deleted '.m4' files anymore. * t/confh.sh: Use 'AC_CONFIG_HEADERS' instead of the now-removed AM_CONFIG_HEADER. * t/confh.sh: Likewise. * t/confh4.sh: Likewise. * t/confh6.sh: Likewise. * t/confh7.sh: Likewise. * t/confh8.sh: Likewise. * t/confsub.sh: Likewise. * t/stamph2.sh: Likewise. * t/subdir6.sh: Likewise. * t/autohdr2.sh: Remove as obsolete. * t/obsolete.sh: Likewise. * t/list-of-tests.mk. Don't list the deleted test cases anymore. * NEWS: Update. * doc/automake.texi: Likewise. In particular ... (Obsolete Macros): Remove this node altogether. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a18d188c | 2012-04-25 17:49:43 | release: stable major release 1.12 * configure.ac (AC_INIT): Bump version number to 1.12. * NEWS: Likewise. * m4/amversion.m4 (AM_AUTOMAKE_VERSION): Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 001db089 | 2012-04-21 15:51:09 | vala: configure exit with status 77, not 1, if valac version is too old From a report by Bruno Haible in automake bug#1193. This change should also automatically avoid spurious testsuite failures with older vala versions. * m4/vala.m4 (AM_PROG_VALAC): Exit with status 77, rather than 1, if the Vala compiler found older than the minimal required version (if any). This is more consistent with what is done by other macros like AM_PROG_UPC or AC_PROG_CC. * NEWS: Update. * t/vala-headers.sh: Adjust, so that the test is only skipped of the vala compiler is too old or the required PKG_CHECK_MODULES third-party macro is not found by aclocal, and not if a generic error happens in the configure script. * t/vala-libs.sh: Likewise. * t/vala2.sh: Likewise. * t/vala3.sh: Likewise. * t/vala5.sh: Likewise. * t/vala-vpath.sh: Likewise (but don't check for the potential error with PKG_CHECK_MODULES, as that macro is not used in any way here). * t/vala4.sh: Adjust, to avoid the new semantic causing this test to skip instead of failing. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 39b6b702 | 2012-04-18 18:29:31 | maint: version bump after beta release * configure.ac (AC_INIT): Bump version number to 1.11e, as per HACKING suggestion. * NEWS: Likewise. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 4c3cf987 | 2012-04-18 18:19:05 | Beta release 1.11d (will become 1.12) * configure.ac (AC_INIT): Bump version number to 1.11d. * NEWS: Likewise. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f46359b4 | 2012-04-18 11:40:15 | parallel-tests: 'recheck' must depend on 'all' Fixes automake bug#11252. When a developer experience one or more failures in the testsuite, a good workflow is for him to modify its program's sources to fix the bug thus revealed, run "make recheck" to verify that the change has indeed solved the testsuite failures previously experienced, and then run "make check" to verify that the change has not introduced any new failure or regression. Unfortunately, this apparently natural workflow couldn't have worked until now, since the Automake-provided 'recheck' target (which didn't depend on 'all') wouldn't have causes the program to be recompiled, and the failed tests would have thus been run with the older, buggy version of the program, failing the same way as before. * lib/am/check.am (recheck): Depend on 'all'. * t/parallel-tests-recheck-depends-on-all.sh: New test. * t/list-of-tests.mk: Add it. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1153b2be | 2012-04-16 23:42:41 | vala: cleanup rules are better and more complete now * automake.in (lang_vala_finish_target): Ensure Vala-generated C sources and header files and our custom stamp files are correctly cleaned. * t/vala-headers.sh, t/vala-vpath.sh: Enhance. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 47962000 | 2012-04-12 18:13:58 | news: remove older entry for "future backward incompatibilities" * NEWS (New in 1.11.4): Remove subsection about "Future backward incompatibilities"; they are now either documented changes for the upcoming 1.12 release, or re-casted as planned future backward incompatibilities for the next 1.13 release. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5c6ca5d7 | 2012-04-12 18:09:13 | news: document fixes for bug#11222 and bug#11229 * NEWS (Bugs fixed in 1.11.5): New, documenting the fixes. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6e249ed6 | 2012-04-12 13:19:22 | news: fix typo * NEWS (Changes to Automake-generated testsuite harnesses): It's 'perl', not 'per'. Reported by Akim Demaille in a private mail. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 66cccef3 | 2012-04-11 19:06:18 | maint: version bump after beta release * configure.ac (AC_INIT): Bump version number to 1.11c, as per HACKING suggestion. * NEWS: Likewise. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 66ca4b0c | 2012-04-11 18:00:00 | Beta release 1.11b (will become 1.12) * configure.ac (AC_INIT): Bump version number to 1.11b. * NEWS: Likewise. * m4/amversion.m4: Likewise (autoupdated by ./bootstrap). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 32b8a433 | 2012-04-06 16:29:29 | NEWS: automake build systems avoids make recursion Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 97ae26ea | 2012-04-01 22:48:46 | texinfo: warn about future use of '--tidy' Starting from the next major release of Automake (likely 1.13) we want to start passing the '--tidy' option to texi2dvi and texi2pdf invocations, so that auxiliary TeX-generated files can be kept around (thus speeding up rebuilding of DVI and PDF output) without cluttering the build directory too much. Since the '--tidy' option was introduced in Texinfo 4.9 (as documented in the Texinfo distribution's NEWS file), this also means that Makefiles generated by future Automake versions will require at least that version of Texinfo (at the time of writing four years and nine months old). The users should be warned about the planned behavioral change and the new version requirement it will entail. See also automake bug#11146. * NEWS (Planned Backward Incompatibilities): Add entry about use of the '--tidy' option and requirement of Texinfo 4.9. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9fe2ba38 | 2012-04-01 21:55:09 | texinfo: don't clutter the builddir when using modern texi2dvi In modern versions of texi2dvi (at least since version 1.135, which comes with Texinfo 4.13) the '-o' option does not imply anymore the '--clean' option. As a consequence, lots of TeX-generated auxiliary files are now left in the build directory by the 'pdf', 'ps' and 'dvi' rules. This is especially annoying with non-recursive setups having the '.texi' files in a subdirectory, as in: info_TEXINFOS = doc/foo.texi In this case, the stray auxiliary files are left in the top build directory (since TeX is run from there). See for example: <http://lists.gnu.org/archive/html/bug-bison/2012-04/msg00002.html> See also automake bug#11146. * lib/am/texibuild.am: Call 'texi2dvi' and 'texi2pdf' with the '--clean' option. Update comments accordingly. * tests/txinfo-noclutter.test: New test. * tests/txinfo18.test: Remove as obsolete, the still relevant parts of it moved into the new test. * tests/list-of-tests.mk: Adjust. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2e343fc7 | 2012-03-28 15:36:30 | news: sync with branch-1.11, fix mis-merges Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3856a940 | 2012-03-28 14:31:36 | acinstall: remove, it has never been really used Accordingly to the git history (see for example the 'README-alpha' in commit 'Release-1-1e-39-g9beb4ec' of 06-10-1996), the 'acinstall' script should have been used to install m4 files for aclocal. The comments in this script report that "... A script is needed to do this because we want to do serial-number checking; newer versions of macro files should always be preferred". But the 'acinstall' script has never been really used: for example, the entry "actually use acinstall program" was removed (unfixed) from the TODO file in commit 'Release-1-1k-12-g1201405' of 08-12-1996, and the only citation of 'acinstall' in the manual was removed in commit 'Release-1-1l-37-g128c3d7' of 19-03-1997, and never added back. In addition, the last non-trivial edit to the script (that is, besides updates to the copyright notice) dates back to 1996. More importantly, now that aclocal supports the ACLOCAL_PATH environment variable, installing m4 files directly in the system-wide acdir is discouraged, and better left only to distros' package managers (which already have their own way to do so, with which third-party build systems should not directly meddle). So we just remove the 'acinstall' script. * lib/acinstall: Remove. * lib/Makefile.am (dist_script_DATA): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 5a4a72a6 | 2012-03-27 23:05:58 | news: we are going to drop 'cygnus' soonish * NEWS (Future backward incompatibilities): Support for "Cygnus-style" trees (so far enabled by the 'cygnus' option) will be deprecated in the next minor release and removed in in the next major release. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 7a56bed0 | 2012-03-27 22:40:20 | Merge branch 'maint' * maint: depcomp: support tcc (Tiny C Compiler) tests: workaround for automatic linker determination and conditionals info: allow user to inhibit pruning of '${infodir}/dir' vala tests: fix spurious failures with older valac (<= 0.7.2) tests: fix a timestamp issue, and other minor buglets tests: fix spurious failure with older autoconf build: remove duplicated entries in $(TESTS) + Extra non-trivia edits: * tests/link_cond.test: Use 'configure.ac', not 'configure.in'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b96263e1 | 2012-03-27 17:55:07 | depcomp: support tcc (Tiny C Compiler) This change fixes automake bug#11007. Since git commit 0c928da9 of 21-06-2010, "tcc: Draft suppoprt for -MD/-MF options" (sic, with typo in summary line), tcc has supported automatic dependency generation with a command-line interface similar to what old (pre-8.0) Intel compilers did. This caused Automake-generated code for automatic dependency tracking to recognize tcc dependency style as "icc". However, the format of the dependency files generated by tcc is apparently different enough from that of icc to cause spurious failures in the post-processing operated by our 'depcomp' script on such files. The failure was exposed with the development version of tcc 0.9.26 (as installed with debian package "tcc 0.9.26~git20120104.83d") by test case 'depcomp-auto.tap' (available only in the master branch). * lib/depcomp (icc): Cater to tcc as well. Update comments accordingly. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 619c1b26 | 2012-03-27 13:10:16 | info: allow user to inhibit pruning of '${infodir}/dir' This should have ideally been part of commit 'v1.11-519-g1ec1668' of 23-11-2011 "info: allow user to inhibit creation/update of '${infodir}/dir'". Well, better late than never. * lib/am/texinfos.am (uninstall-info-am): Don't look anymore at the output of "install-info --version" to decide whether to use it to update the '${infodir}/dir' or not; instead, honour the environment variable 'AM_UPDATE_INFO_DIR'. To avoid code duplication with ... (install-info-am): ... the recipe of this target, move common code out to ... (am__can_run_installinfo): ... this new internal variable. * tests/install-info-dir.test: Enhance. * doc/automake.texi (Texinfo): Update. * NEWS: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| db1138c5 | 2012-03-18 22:31:45 | Merge branch 'maint' * maint: install-mans: avoid spurious failure with NetBSD make install: don't create empty dirs when an empty 'foo_PRIMARY' is used aclocal: remove a couple of useless imports aclocal: create local directory where to install m4 files Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 368f1c4c | 2012-03-16 23:48:53 | install: don't create empty dirs when an empty 'foo_PRIMARY' is used Fixes automake bug#11030 and bug#10997. An empty declaration of "foo_PRIMARY" in a Makefile.am used to cause the generated install rules to create the directory $(foodir) anyway, even if nothing was to be installed there. While this could be seen as a convenient way to create a $(foodir) directory upon "make install" (respecting $(DESTDIR) settings and such), it also caused problems with conditionals; for example, an input of: if FALSE pgkdata_DATA = something endif caused the generated install rules to unconditionally create the $(pkgdatadir) directory (see automake bug#10997). Also, a user wanting to create an empty directory upon installation can easily do so with a custom install hook, as in: installdirs-local: $(MKDIR_P) $(DESTDIR)$(foodir) install-data-hook: installdirs-local On the other hand, the old behavior of "always create $(foodir), even if 'foo_PRIMARY' is empty" was harder and more tricky to override. Thus, from now on, an empty declaration of "foo_PRIMARY" will not cause the directory $(foodir) to be created upon "make install" anymore. * lib/am/data.am, lib/am/java.am, lib/am/libs.am, lib/am/lisp.am, lib/am/ltlib.am, lib/am/mans.am, lib/am/progs.am, lib/am/python.am, lib/am/scripts.am, lib/am/texinfos.am: Adjust install rules to avoid creating an installation directory if no files are actually to be installed there. * tests/instdir-empty.test: Remove, it was testing a semantic opposite to the one we now want and implement. * tests/instdir-no-empty.test: New test, check the new semantic. * tests/instdir-cond.test: Enhance. Move the still-failing part of the test ... * tests/instdir-cond2.test: ... here. * tests/list-of-tests.mk, tests/Makefile.am (XFAIL_TESTS): Update. * tests/java3.test: Adjust to avoid spurious failures. * HACKING, NEWS, THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a75a1a52 | 2012-03-15 16:50:40 | aclocal: create local directory where to install m4 files Fixes automake bug#8168 and bug#10816. A call like "aclocal -I m4 --install" used to fail if the 'm4' directory wasn't pre-existing. This could be particularly annoying when running in a checked-out version from a VCS like git, which doesn't allow empty directories to be tracked. * aclocal.in (File::Path): New import. (scan_m4_dirs): Don't die if the first directory of type FT_USER doesn't exist and the '--install' option was given; that directory will be created later ... (install_file): ... here. Change signature of this function: now it takes as second argument the destination directory rather than the destination file. Crate the destination directory if it doesn't already exist. In verbose mode, tell what is being copied where. (write_aclocal): Update to the changes in 'install_file'. * NEWS, THANKS: Update. * tests/aclocal-install-fail.test: New test. * tests/aclocal-install-mkdir.test: Likewise. * tests/aclocal-no-install-no-mkdir.test: Likewise. * tests/aclocal-verbose-install.test: Likewise. * tests/list-of-tests.mk: Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 819005ae | 2012-03-15 09:12:00 | python: avoid failures due to $(am__py_compile) being undefined Fixes automake bug#10995, introduced in commit v1.11-372-gb46debf. * lib/am/python.am: Move the definition of 'am__py_compile' to ensure it is always emitted in the output Makefile.in. Previously, this wouldn't have happened if the input Makefile.am contained a 'noinst_PYTHON' declaration before a 'python_PYTHON' one. * tests/Makefile.am (XFAIL_TESTS): Remove 'python-pr10995.test' and 'python.test'. * NEWS: Update. Copyright-paperwork-exempt: yes Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 24ab9845 | 2012-03-07 08:20:26 | Merge branch 'maint' into msvc * maint: news: describe recently-fixed bug in vala support depcomp: add support for IBM xlc/xlC compilers | ||
| 45fbc8b4 | 2012-03-06 22:03:22 | Merge branch 'maint' * maint: news: describe recently-fixed bug in vala support depcomp: add support for IBM xlc/xlC compilers | ||
| 94d56e80 | 2012-03-06 21:44:57 | news: describe recently-fixed bug in vala support * NEWS (Long-standing bugs): Document fix for bug#10894, fixed by commit 'v1.11-696-g51f61df' of 27-02-2012. | ||
| b0887067 | 2012-03-05 20:05:37 | depcomp: add support for IBM xlc/xlC compilers * lib/depcomp (xlc): New depmode. * NEWS, THANKS: Update. Copyright-paperwork-exempt: yes | ||
| 5f624a6a | 2012-03-06 09:31:43 | Merge branch 'msvc' * msvc: scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile | ||
| 8902f83d | 2012-03-06 09:14:50 | scripts: support -I <dir> -L <dir> and -l <lib> for cl in compile POSIX mandates that the compiler accepts a space between the -I, -l and -L options and their respective arguments. See http://pubs.opengroup.org/onlinepubs/000095399/utilities/c99.html * lib/compile (func_cl_dashl): New function with factored out code for implementing the -l option for the cl wrapper. (func_cl_dashL): New function with factored out code implementing the -L option for the cl wrapper. (func_cl_wrapper): Use func_cl_dashl to implement both -l <lib> and -l<lib>, and func_cl_dashL to implement both -L <dir> and -L<dir>. Also add support for -I <dir>. (scriptversion): Update. * tests/compile3.test: Test both with and without a space between -I, -l and -L and their respective arguments. * tests/compile5.test: Likewise. * tests/compile6.test: Likewise. * tests/compile3.test: Likewise. * NEWS: Update. | ||
| 6f7969a3 | 2012-03-02 23:06:02 | news: more about planned backward incompatibilities * NEWS (Future backward-incompatibilities): Starting from the next major Automake versions, the parallel testsuite driver will be used by default, instead of the serial testsuite driver as in the past. | ||
| 5aa495f5 | 2012-03-02 16:38:08 | Merge branch 'msvc' * msvc: news: add entry about recent 'ar-lib' changes | ||
| 54a402e5 | 2012-03-02 16:27:31 | news: add entry about recent 'ar-lib' changes * NEWS: Add information about recent 'ar-lib' changes. | ||
| aadd78e9 | 2012-03-02 11:04:05 | Merge branch 'maint' into msvc | ||
| e99690aa | 2012-02-23 23:56:38 | docs, news: document planned removal of obsolete macros and features * NEWS (Future backward-incompatibilities): Document planned removal of several superseded and/or obsoleted macros, of the $(mkdir_p) variable and @mkdir_p@ substitution, and of the support for the two- or three-arguments invocation forms of AM_INIT_AUTOMAKE. * doc/automake.texi: Likewise. | ||
| 8153d196 | 2012-02-23 22:00:49 | news: update w.r.t. change in quoting format * NEWS (New in 1.11.1a): State that we prefer to quote 'like this' or "like this" rather than `like this', as according to the new GCS recommendations. | ||
| 74880502 | 2012-02-21 13:33:27 | news: minor fixlets and reorganization * NEWS: Get rid of form-feed characters (^L) throughout the file. Use separator lines instead (composed by 76 '~' characters), or just an extra blank lines for older less verbose entries (those predating the 1.8 release). (New in 1.11.3): Move description of planned future backward incompatibilities that won't make it to 1.12 ... (New in 1.11a): ... in here. Quote 'like this', not `like this'. Other minor miscellaneous rewordings and fixlets. | ||
| c93cb22e | 2012-02-21 10:03:17 | cosmetics: few typofixes | ||
| deb77738 | 2012-02-20 18:33:50 | automake: new option 'serial-tests' Currently, automake offers a 'parallel-tests' option to enable the use of the parallel testsuite harness in the generated Makefiles, but no option to explicitly state the intention of using the older serial testsuite driver (which is currently the default). This makes the parallel test harness seems like a second-class citizen (while actually it should be the other way around); more importantly, it will prevent us from making the parallel harness be the default one in future automake versions, since the users of the serial harness would then have no way to instruct automake to continue using it. We solve all of this by introducing a new 'serial-tests' option. * lib/Automake/Options.pm (_process_option_list): Recognize the new option, and related minor refactoring. * tests/serial-tests.test: New test. * tests/list-of-tests.mk: Add it. * doc/automake.texi: Update. * NEWS: Likewise. | ||
| 101216ca | 2012-02-19 18:43:28 | automake: new option to print location of scripts and data files With this change, we add a new automake option '--print-libdir' that prints (on stdout) the path of the directory containing the Automake-provided scripts (e.g., 'missing' and 'install-sh') and data files (e.g., INSTALL or texinfo.tex). Suggestion by Nick Bowler. See also automake bug#10473. * automake.in (parse_arguments): Handle the new option. (usage): Mention it. * doc/automake.texi (automake Invocation): Document it. * NEWS: Update. * tests/print-dir.test: New test. * tests/list-of-tests.mk: Add it. | ||
| e1606b32 | 2012-02-18 13:59:26 | parallel-tests: fix another BSD parallel make issue When BSD make is run in parallel mode, it apparently strips any leading directory component from the automatic variable '$*' (of course, against what POSIX mandates). This was causing FreeBSD 9.0 make and NetBSD 5.1 make to spuriously fail with automake-generated test harnesses if subdir tests were present *and* make was being run in parallel mode. This issue affected also the Automake own testsuite. * lib/am/check2.am (am__set_b): New internal variable. (%OBJ%, %EXT%.log, %EXT%$(EXEEXT).log): Use it to work around the described BSD make issue. * tests/parallel-tests3.test: Enhanced to expose the bug. * tests/parallel-tests-subdir.test: Enhance a little, since we are at it. * NEWS: Update. | ||
| 641a5a4b | 2012-02-16 10:46:23 | maint: run "make update-copyright" | ||
| f4d2f3b7 | 2012-02-15 18:29:57 | Merge branch 'yl-work-for-master' * yl-work-for-master: (44 commits) tests: truly use Lex and Yacc selected by configure news: fix grammaros related to Yacc yacc/lex tests: avoid spurious skips with non-GNU make fixup: remove double news entry tests: workaround for shells with broken 'set -e' tests: avoid spurious failure with non-bison yacc tests: fix spurious failures due to missing 'yywrap()' function fixup: list of yacc/lex tests was botched tests: work around bug#7884 in many yacc/lex tests yacc/lex tests: remove an unneeded workaround for bug#8485 yacc/lex tests: avoid too much failures with FreeBSD make yacc-dist-nobuild.test: add reference to bug#7884 yacc tests: fix bug in 'yacc-cxx.test' lex tests: fix spurious link errors on Solaris lex: "make clean" removes .c files from non-distributed .l lex tests: make test on Lex dependency tracking more "semantic" lex tests: remove erroneous check about ylwrap distribution yacc tests: "make clean" removes C++ files from non-distributed .y tests: add a workaround for automake bug#8485 tests: add a couple of inter-tests reference ... | ||
| ee29b576 | 2012-02-13 21:13:12 | news: fix grammaros related to Yacc * NEWS: Fix some grammaros and typos. | ||
| 568a1a5e | 2012-02-13 16:43:34 | fixup: remove double news entry * NEWS: Remove double (stale) news entry introduced by a botched merge. | ||
| e6c40d4b | 2012-02-12 15:06:17 | Merge branch 'yacc-work' into yl-work-for-master * yacc-work: (37 commits) fixup: list of yacc/lex tests was botched tests: work around bug#7884 in many yacc/lex tests yacc/lex tests: remove an unneeded workaround for bug#8485 yacc/lex tests: avoid too much failures with FreeBSD make yacc-dist-nobuild.test: add reference to bug#7884 yacc tests: fix bug in 'yacc-cxx.test' lex tests: fix spurious link errors on Solaris lex: "make clean" removes .c files from non-distributed .l lex tests: make test on Lex dependency tracking more "semantic" lex tests: remove erroneous check about ylwrap distribution yacc tests: "make clean" removes C++ files from non-distributed .y tests: add a workaround for automake bug#8485 tests: add a couple of inter-tests reference lex tests: require just `lex' instead of `flex' fix typo in ChangeLog (2011-05-04) tests defs: use `skip_' for skipping yacc/lex related tests lex/yacc tests: remove redundant $distdir definition coverage: test lex-generated "#line" directives postprocessing tests: minor improvements to a couple of yacc tests tests: fix spurious failure in test 'yacc-d-cxx.test' ... + Extra non-trivial edits: * tests/defs.in: Delete; the differences from maint has been merged into 'tests/defs' and 'tests/defs-static.in'. * tests/defs (yacc, lex): Use 'skip_all_', not 'skip_', to skip the whole test case if yacc (resp. lex) is missing. (bison): New, set up the environment so that 'bison -y' will be used as the yacc program. (useless_vpath_rebuild, yl_distcheck): Moved in from 'tests/defs.in'. * tests/defs-static.in ($YACC, $LEX): Default to the values determined at configure time, and allow them to be overridden by the more namespace-safe variables '$AM_TESTSUITE_YACC' and '$AM_TESTSUITE_LEX' respectively. * tests/Makefile.am (do_subst): Also substitute '@YACC@' and '@LEX@'. * Several tests: Fix requirements declarations, by preferring 'lex' and 'yacc' over 'flex' and 'bison' whenever possible. |