Branch :
| Author | Commit | Date | CI | Message |
|---|---|---|---|---|
| 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> | ||
| c271b9c1 | 2012-12-08 19:33:23 | sync: update files from upstream with "make fetch" * lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8d1a5422 | 2012-11-21 10:28:41 | Merge branch 'python-pep-3147' into maint * python-pep-3147: tests: fix a spurious failure when $PYTHON is in the environment python tests: support PEP-3147 installation layout python: uninstall cater to PEP-3147 tests: improve a comment tests: honour $PYTHON override tests: typofix in message news: document fix for bug#8847 (PEP-3147, __pycache__) python: improve support for modern python (CPython 3.2 and PyPy) | ||
| 3fea7647 | 2012-11-19 20:16:47 | python: uninstall cater to PEP-3147 After recent commit commit v1.12.4-43-ge0e99ed, "python: improve support for modern python (CPython 3.2 and PyPy)", the python install rules have been made smart enough to install "*.pyc" byte-compiled files according to PEP-3147 with modern (post-3.2) pythons. However, the uninstall rules hadn't been updated accordingly, causing leftover files to remain around after "make uninstall", as well as failures in "make distcheck". * lib/am/python.am (am__pep3147_tweak): New internal macro, used in ... (uninstall-%DIR%PYTHON): ... the recipe of this target, which has been adjusted to cater to PEP-3147 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| eff0e073 | 2012-11-16 13:03:14 | sync: update files from upstream with "make fetch" * lib/texinfo.tex, lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| e0e99eda | 2012-11-05 11:45:15 | python: improve support for modern python (CPython 3.2 and PyPy) This fixes automake bug#8847. * m4/python.m4 (AM_PATH_PYTHON): Add python3.3 to _AM_PYTHON_INTERPRETER_LIST. * lib/py-compile: Fix compiled filenames for PEP-3147, currently implemented in CPython 3.2 and newer. Do not create '.pyo' files for PyPy. Copyright-paperwork-exempt: yes Signed-off-by: Yaakov Selkowitz <yselkowitz@users.sourceforge.net> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d8f47b19 | 2012-10-27 11:19:22 | depcomp: avoid potential interferences from the environment * lib/depcomp (gccflag, dashmflag): By explicitly initializing these variables to the empty string by default. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 078ff407 | 2012-10-27 11:12:59 | depcomp: improve comments about the 'gcc' depmode It is not only needed by obsolescent gcc compilers (pre-3.x), but also by modern compiler like IBM C/C++. State that ... * lib/depcomp: ... here... * gen-testsuite-part: ... and here, where we generate the 'depcomp*.tap' tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 24bf687e | 2012-10-26 15:05:53 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 3c5c9394 | 2012-10-04 00:08:26 | compile: support libfoo.a naming when wrapping Microsoft tools There is a future plan to provide some means to have Automake create static libraries that are named differently depending on the system [1]. The background is that everyone has always named static libraries libfoo.a, except the Redmond crowd who names them foo.lib, and you have to jump through hoops to have Automake create libraries named foo.lib in the land of non-GNU Windows while still creating libfoo.a everywhere else. However, there is probably no sane way to accomplish that system dependent naming discussed in [1] without user intervention, which makes it necessary to support the classic libfoo.a naming when using Microsoft tools in the best possible way, for the benefit of all projects today and for future projects not opting in to whatever scheme is selected for the problem at hand. [1] http://lists.gnu.org/archive/html/automake/2012-09/msg00028.html * lib/compile (func_cl_dashl): As a last resort, match -lfoo with libfoo.a, if that file exist on the library search path. * t/compile4.sh: Remove obsolescent workaround for the above. * t/compile6.sh: Extend to check that libbaz.a is indeed found when baz.lib and baz.dll.lib does not exist and that bar.lib and bar.dll.lib are preferred over libbar.a. Signed-off-by: Peter Rosin <peda@lysator.liu.se> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6a0460c4 | 2012-10-14 11:43:26 | cosmetics: fix typo in 'lib/depcomp' comments Fixes automake bug#12578. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| b8651afd | 2012-10-02 16:45:37 | config headers: remove stale comment in makefile fragment * lib/am/remake-hdr.am: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 25ffe7d5 | 2012-09-28 21:27:41 | config headers: don't emit rules for headers not generated by autoheader This change fixed automake bug#12495. Even if an AC_CONFIG_HEADERS invocation is passed a list of several files as the first argument, only the first one of those file is considered by autoheader for automatic generation of the corresponding '.in' template. This is done on purpose, and is clearly documented in the Autoconf manual, which (as of the 2.69 version) reads something like this: The autoheader program searches for the first invocation of AC_CONFIG_HEADERS in configure sources to determine the name of the template. If the first call of AC_CONFIG_HEADERS specifies more than one input file name, autoheader uses the first one. That is, an invocation like: AC_CONFIG_HEADERS([config.h config2.h]) should cause autoheader to generate only a 'config.h.in' template, and not also a 'config2.h.in' one. Accordingly, automake, when tracing AC_CONFIG_HEADERS, should generate remake rules only for the template associated to the first input file name passed to that macro. In some situations, however, automake failed to properly limit itself in this way; for example, with an input like: AC_CONFIG_HEADERS([config.h sub/foo.h]) in configure.ac, and with the 'sub' directory listed in the SUBDIRS variable of the top-level Makefile, automake would erroneously generate in 'sub/Makefile.in' a rule to remake the 'foo.h.in' template by invoking autoheader. This issue was likely introduced in commit 'Release-1-8-23-g262bb92' of 2004-01-05. * NEWS: Update. * doc/automake.texi (Optional): Improve wording in the description of hat rules automake generates in response to an 'AC_CONFIG_HEADERS' invocation. * lib/am/remake-hdr.am: Only emit autoheader-invoking remake rules for the %CONFIG_HIN% template if that corresponds to the first argument of AC_CONFIG_HEADERS, as explaned above. Do so using the automake-time conditional %?FIRST-HDR%, that is properly passed ... * automake.in (handle_configure): ... from a 'file_contents' invocation in here. * t/autohdr-subdir-pr12495.sh: New test. * t/list-of-tests.mk: Add it. * THANKS: Update. Helped-by: Hib Eris <hib@hiberis.nl> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9f2442d7 | 2012-09-18 13:57:51 | sync: update files from upstream with "make fetch" * lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| db543731 | 2012-09-05 14:33:31 | sync: update files from upstream with "make fetch" * lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cf41f5af | 2012-09-04 14:50:49 | warns: enable category 'obsolete' by default No surprise that our users were bitten by backward-incompatible changes especially hard: the warnings in the 'obsolete' category, that might have informed them of the upcoming incompatibilities, and help them to prepare for the transition, where not enabled by default! * NEWS, doc/automake.texi: Update. * lib/Automake/ChannelDefs.pm: Enable warnings in the category 'obsolete' by default. * t/warnings-obsolete-default.sh: New test. * t/list-of-tests.mk: Add it. * t/backcompat.sh: Use 'configure.ac' rather than 'configure.in' as autoconf input file, to avoid spurious aclocal errors. * t/backcompat2.sh: Likewise. * t/backcompat3.sh: Likewise. * t/backcompat5.sh: Add '-Wno-obsolete' when invoking aclocal. Adjust heading comments. * t/backcompat6.sh: Likewise. * t/cygnus-imply-foreign.sh: Add '-Wno-obsolete' when invoking automake. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d343f7af | 2012-08-28 09:59:22 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0166876d | 2012-08-14 13:17:57 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cbc0fc85 | 2012-08-13 12:10:46 | cosmetics: fix typos and references in comments * lib/am/check.am: Here. * doc/automake.texi: And here. * t/*.sh: And in several of these tests. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c1dd6cce | 2012-08-10 16:11:04 | distcheck: more resilient against possible failures * lib/am/distdir.am (distcheck): Ensure that a failure in the commands making the just-extracted source tree read-only cause the recipe to fail. While at it, save a fork by creating the '_build' and '_inst' subdir with a single mkdir invocation. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6d6c831d | 2012-08-02 11:41:28 | Merge branch 'depcomp-pgcc' into maint * depcomp-pgcc: depcomp: style changes to Portland Group Compilers support depcomp: initial support for Portland Group Compilers | ||
| aad12dcc | 2012-07-14 11:07:34 | ylwrap: use proper quoting inside a `...` substitution * lib/ylwrap ($target): Here, when redefining this to a temporary file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ae387d32 | 2012-07-14 11:04:42 | ylwrap: don't uselessly reset the exit status in case of failure * lib/ylwrap: Here. In case of a failure in the wrapped yacc/lex invocation, '$ret' (holding the final exit status of ylwrap) was being uselessly reset to '1' in the later if/else. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| fa104579 | 2012-07-14 16:57:02 | ylwrap: fix C++ support for Bison Fixes automake bug#7648. The current logic of ylwrap is to call yacc in a sub directory, and pull out of it all the files that were requested on its command line. Reverse this approach: export *all* the files created in the subdirectory, but rename them according to what the command says. This way, extra files, such as position.hh, location.hh and stack.hh for C++ parsers, but also parser.xml or parser.dot if XML or Dot output is enabled, will be preserved. * lib/ylwrap (pairlist): Remove. (main loop): Don't loop over pairlist, but over the files in the temporary directory. * t/list-of-tests.mk (XFAIL_TESTS): Fixes t/yacc-bison-skeleton-cxx.sh. * THANKS (James Bostock): Add, he reported bug#7648. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 4ce3d131 | 2012-07-14 10:09:15 | ylwrap: refactor: move loop invariant * lib/ylwrap (input_rx): Move its definition next to its sibling's, outside of the main loop. | ||
| cfda11fb | 2012-07-14 10:08:52 | ylwrap: refactoring: don't rely on the file order Forthcoming changes will make us iterate over the files in a different order. lib/ylwrap (first): Remove, replaced by... (parser): this. | ||
| 7e31ff5c | 2012-07-13 13:14:44 | ylwrap: comment changes * lib/ylwrap: Improve some comments. | ||
| 0a25f35b | 2012-07-13 14:33:38 | ylwrap: modernize idioms * lib/ylwrap: Prefer printf to echo when special characters may occur. Replace the historical ',' sed separator with '|'. | ||
| be2bb639 | 2012-07-13 14:32:22 | ylwrap: rename header inclusion in generated parsers Some types of Bison parsers, such as the GLR ones, generate a header file that they include. ylwrap, which renames the generated files, does not rename the included file. Fix this shortcoming, reported for instance here: <http://lists.gnu.org/archive/html/bug-bison/2012-06/msg00033.html>. Fixes t/yacc-bison-skeleton.sh, see Automake bug#7648 and PR automake/491. * lib/ylwrap (quote_for_sed): Accept arguments. Catch more special characters. (rename_sed): New. Improve the previous renaming sed commands using quote_for_sed. Suggested by Stefano Lattarini here: <http://lists.gnu.org/archive/html/automake-patches/2012-07/msg00095.html>. (main loop): Use rename_sed to rename the dependencies to other files. * t/yacc-d-basic.sh: Exercise this case, even if bison/yacc was not issuing such an include. * t/list-of-tests.mk (XFAIL_TESTS): Adjust. | ||
| 1a871ca0 | 2012-07-12 15:13:29 | ylwrap: simplify the list of renamings * lib/ylwrap (pairwise): Instead of being a straightforward copy from the command line arguments, and having to deal with y.tab vs. y_tab later, let pairwise store the real file names to process, y_tab conversion included when needed. (main loop): Use $to instead of $2, for symmetry with $from. | ||
| 4294cbb0 | 2012-07-12 14:52:44 | ylwrap: refactor: less duplication * lib/ylwrap (guard): New function. Move functions before actual code. | ||
| 4e922a42 | 2012-07-12 22:04:07 | depcomp: style changes to Portland Group Compilers support * lib/depcomp (pgcc): Quote 'like this', not `like this'. Other minor quoting improvements. Remove a commented-out command. In comments, use proper capitalization and punctuation. Make a more consistent use of whitespace. Make fatal error messages more nicely formatted, and send them to standard error rather than to standard output. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 32eed29a | 2012-07-12 21:25:46 | depcomp: initial support for Portland Group Compilers * lib/depcomp: Here. See automake bug#8880. Co-authored-by: Jeff A. Daily <jeff.daily@pnnl.gov> Acked-by: Stefano Lattarini <stefano.lattarini@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 1c8bf11b | 2012-07-09 18:26:56 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| bab7065f | 2012-07-06 22:43:04 | distcheck: never make part of $(distdir) world-writable This fixes a locally-exploitable security vulnerability (CVE-2012-3386). In the 'distcheck' rule, we used to make the just-extracted (from the distribution tarball) $(distdir) directory and all its files and subdirectories read-only; then, in order to create the '_inst' and '_build' subdirectories in there (used by the rest of the recipe) we made the top-level $(distdir) *world-writable* for an instant (the time to create those two directories) before making it read-only again. Making that directory world-writable (albeit only briefly) introduced a locally exploitable race condition for those who run "make distcheck" with a non-restrictive umask (e.g., 022) in a directory that is accessible by others. A successful exploit would result in arbitrary code execution with the privileges of the user running "make distcheck" -- game over. Jim Meyering wrote a proof-of-concept script showing that such exploit is easily implemented. This issue is similar to the CVE-2009-4029 vulnerability: <http://lists.gnu.org/archive/html/automake/2009-12/msg00012.html> * lib/am/distdir.am (distcheck): Don't make $(distdir) world-writable, not even for an instant; make it user-writable instead, which is enough. Helped-By: Jim Meyering <jim@meyering.net> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 25510217 | 2012-07-09 10:33:49 | compat: automake should substitute @mkdir_p@, for backward compatibility That has been unwittingly broken by commit v1.12-19-g7a1eb9f of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". We thought it wasn't a big deal, but Jim Meyering reported that @mkdir_p@ is used in gettext's Makefile.in.in template: <http://lists.gnu.org/archive/html/automake/2012-07/msg00014.html> * lib/am/header-vars.am (mkdir_p): Don't define. * m4/init.m4 (AM_INIT_AUTOMAKE): AC_SUBST 'mkdir_p' with $(MKDIR_P). * t/mkdir_p.sh, t/mkdirp-deprecation.sh: Enhance. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| cca42634 | 2012-07-06 10:12:30 | compat: automake should define $(mkdir_p), for backward compatibility That has been unwittingly broken by commit 'v1.12-19-g7a1eb9f' of 2012-04-28, "AM_PROG_MKDIR_P: deprecate, to be removed in Automake 1.13". Report from Benoit Sigoure and Diego Elio Pattenò: <http://lists.gnu.org/archive/html/automake/2012-07/msg00001.html> * lib/am/header-vars.am (mkdir_p): Define as an alias for $(MKDIR_P). * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/mkdir_p.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0451b0bc | 2012-07-05 18:50:37 | lisp: better support of VPATH builds Fixes automake bug#11806. * lib/am/lisp.am: Pass the value of '$(abs_srcdir)' to the elisp-compile script in the environment. * lib/elisp-comp: Add the vale of '$abs_srcdir' to the emacs load-path. * t/lisp-pr11806.sh: New test. * t/list-of-tests.mk: Add it. Copyright-paperwork-exempt: yes Co-authored-by: Stefano Lattarini <stefano.lattarini@gnu.org> Reported-by: Makoto Fujiwara <makoto@ki.nu> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| d5443e4c | 2012-07-01 12:56:22 | parallel-tests: reimplement fix for bug#11791 * lib/am/check.am: Here. The new implementation is shorter, slightly more efficient (requiring less forks), less brittle in the face of signals or unexpected interruptions in the make process, and should also be easier to merge in the 'ng/master' branch (as of now, due to the difficulties in merging our previous version of the fix in the 'ng/master' codebase, Automake-NG still lacks a fix for bug#11791). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 167f68f4 | 2012-06-30 23:37:57 | parallel-tests: silence an overly verbose recipe * lib/am/check.am (check-TESTS): Here, the part of the recipe removing the stale '.log' and '.trs' files. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6c9b282b | 2012-06-30 20:53:39 | parallel-tests: recipes for "check" and "recheck" are separated again * lib/am/check.am: Here. They have distinctly diverged recently, and the reduction in code duplication obtained keeping their recipes united is not anymore worth the extra complications. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 2a3e45d6 | 2012-06-27 12:47:17 | parallel-tests: "recheck" behaves better in case of compilation failures With this change, the "recheck" target behaves better in the face of build failures related to previously failed tests. For example, if a test is a compiled program that must be rerun by "make recheck", and its compilation fails, that test will still be rerun by further "make recheck" invocations. Previously, its '.log' and '.trs' would have both been lost, so that the test would have not been re-run. This change fixes automake bug#11791. * NEWS: Update. * lib/am/check.am (recheck, check-TESTS): Adjust to cater to scenario described above. * t/parallel-tests-recheck-pr11791.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f7132aee | 2012-06-27 11:13:54 | scripts: quote 'like this', not `like this' * lib/test-driver.sh: Here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 9c6ee0cd | 2012-06-21 11:43:54 | typofix: s/test derivers/test drivers/ in check.am comments Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 6f01c1e0 | 2012-06-14 16:32:47 | sync: update files from upstream with "make fetch" * lib/config.guess, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| c5f70e79 | 2012-06-14 16:30:16 | py-compile: consistently quote 'like this', not `like this'. * lib/py-compile (usage_error): Here. 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> | ||
| 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/' | ||
| 94dc4ba0 | 2012-06-01 20:24:20 | sync: update files from upstream with "make fetch" * lib/config.sub, lib/gitlog-to-changelog, lib/texinfo.tex: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 96497293 | 2012-06-01 19:15:29 | maint: deprecate 'configure.in' as autoconf input It has been years since that has been deprecated in the documentation, in favour of 'configure.ac': Previous versions of Autoconf promoted the name configure.in, which is somewhat ambiguous (the tool needed to process this file is not described by its extension), and introduces a slight confusion with config.h.in and so on (for which '.in' means "to be processed by configure"). Using configure.ac is now preferred. It's now time to start giving runtime warning about the use of 'configure.in', so that support for it can be removed in future versions of autoconf/automake. See also, in the Autoconf repository, commit 'v2.69-4-g560f16b' of 2012-05-23, "general: deprecate 'configure.in' as autoconf input". * lib/Automake/Configure_ac.pm: Issue a warning in the 'obsolete' category if 'configure.in' is detected. Since this module is synced from Automake, this change is to be backported there (and will be soon). * t/help.sh: Adjust. * t/configure.sh: Adjust and enhance. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 0d1e28a8 | 2012-05-21 15:44:14 | help: fix a typo in the list of warning categories * lib/Automake/ChannelDefs.pm (usage): s/none'/none/. 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> | ||
| 0ce63a38 | 2012-05-16 17:35:05 | ylwrap: preparatory refactoring This commit should cause no semantic change in the ylwrap behaviour. It will only be needed in light of a future change. See: <http://lists.gnu.org/archive/html/automake/2012-05/msg00013.html> * lib/ylwrap (get_dirname, quote_for_sed): New functions, factoring out some non-trivial code. Use them where appropriate. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a16b838b | 2012-05-05 16:39:10 | Merge branch 'parallel-tests-performance' into maint * parallel-tests-performance: parallel-tests: separate different logs with an empty line | ||
| 952d91c0 | 2012-05-05 16:33:36 | parallel-tests: separate different logs with an empty line After commit v1.12-21-g5eeb366 "parallel-tests: optimize global log creation", the log files copied in the global log are not anymore separated by a blank line, causing unclear output like this: FAIL: test1 =========== output from test 1 FAIL: test2 =========== output from test 2 where we would want something like this: FAIL: test1 =========== output from test 1 FAIL: test2 =========== output from test 2 Fix this regression. * lib/am/check.am (am__create_global_log): Print an extra empty line after having displayed the content of a '.log' file. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 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> | ||
| f9dbb0a6 | 2012-05-02 12:51:09 | Merge branch 'parallel-tests-performance' into maint * parallel-tests-performance: 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 | ||
| 4c2dd6e0 | 2012-04-30 22:18:24 | parallel-tests: save few forks when possible * lib/am/check.am (am__check_pre): Save some forks, by analyzing more carefully the value of '$@' to decide how to extract its dirname part, and whether that should be created as a directory. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 06ed2f31 | 2012-04-30 21:18:36 | sync: some auxiliary files synced from upstream * lib/config.sub: Synced from upstream, by "make fetch". 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> | ||
| 5eeb3660 | 2012-02-26 00:30:18 | parallel-tests: optimize global log creation With this change, the time required to execute the test case 'testsuite-summary-speed.sh' has dropped as follows: + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, GNU make 3.81: - 1 run: 4 minutes => 30/40 seconds + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, Solaris CCS make: - 2 runs: 6 minutes => 30 seconds + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, GNU make 3.82: - 5 runs: 7 minutes => 1 minute and 10 seconds * lib/am/check.am ($(TEST_SUITE_LOG)): Optimize for speed, by avoiding lots of forks with the help of ... (am__create_global_log): ... this new internal variable, basically defining a smart awk program, and ... (am__global_test_result_rx, am__copy_in_global_log_rx): ... these new internal variables, used by the one above. (am__rst_section): Remove as obsolete * t/rst-formatting.trs: Remove. * t/list-of-tests.mk: Update. * t/testsuite-summary-count-many.sh: Improve its stress testing by using 1 million tests rather than just 5 thousands: we can afford this with our new optimization, and still have the test completed in a reasonable time. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f5733aab | 2012-04-26 22:25:35 | parallel-tests: optimize 'recheck' target for speed With this change, the time required to execute the test case 'testsuite-recheck-speed.sh' has dropped as follows: + Slow Debian i686 system, 1 core x 1.5 GHz, 768 MB of RAM, GNU make 3.81: - 1 run: 6 minutes => 40 seconds + Fast Solaris 10 i686 system, 4 cores x 3 GHz, 20 GB of RAM, Solaris CCS make: - 4 runs: 3 minutes => 1 minute + Very fast Fedora ppc64 system, 64 cores x 3.5 GHz, 64 GB of RAM, GNU make 3.82: - 5 runs: 4 minutes => 1 minute 30 seconds * lib/am/check.am (recheck): Optimize for speed, by avoiding lots of forks with the help of ... (am__list_recheck_tests): ... this new internal variable, basically defining a proper awk program, and ... (am__recheck_rx): ... this other new internal variable, used by the one above. * t/test-trs-recover2.sh: Relax by not checking for a very corner case ('.log' and '.trs' files both unreadable) that we don't handle anymore. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| df306b52 | 2012-04-26 15:01:23 | objc++: initial support for Objective C++ Original thread (dating back to almost three years ago): <http://lists.gnu.org/archive/html/automake-patches/2009-07/msg00016.html> * automake.in: Register new language 'objcxx'. (lang_objcxx_rewrite): New subroutine. (resolve_linker): Add OBJCXXLINK. (%_am_macro_for_cond): Add am__fastdepOBJCXX and AC_PROG_OBJCXX. (%_ac_macro_for_var): Add OBJCXX and OBJCXXFLAGS. * m4/depend.m4 (_AM_DEPENDENCIES): Add OBJCXX. * m4/init.m4 (AM_INIT_AUTOMAKE): Add AC_PROG_OBJCXX hook. Signed-off-by: Peter Breitenlohner <peb@mppmu.mpg.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 8ea72c74 | 2012-04-27 16:27:08 | build: ensure release year in copyright notice is up-to-date From a suggestion by Eric Blake. See automake bug#11356. This is a follow-up to previous patch 'v1.12-12-gb99b5be'. * configure.ac (RELEASE_YEAR): New AC_SUBST'd variable, should hold the value of the current year. * Makefile.am (update-copyright): Be sure to also update the definition of 'RELEASE_YEAR' in configure.ac. * lib/Automake/Config.in ($RELEASE_YEAR): New exported variable, initialized from the value substituted for '@RELEASE_YEAR@'. (@EXPORT): Add it. * automake.in, aclocal.in: Use '$RELEASE_YEAR' (which will be substituted at make time) instead of hard-coding the release year. This should ensure the copyright range in the version message and in the generated files (Makefile.in and aclocal.m4) are automatically kept up-to-date. * bootstrap (dosubst): Update, also substitute '@RELEASE_YEAR@'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 64b18e07 | 2012-04-20 10:05:51 | refactor: processing of input makefile rules This is a pure refactoring, with no intended functional or semantic changes. It breaks up an overly-long function in three smaller sub-functions. This change will very especially useful for the work on Automake-NG. * lib/Automake/Rule.pm (define): Move quite a lot of code out, into ... (_rule_defn_with_exeext_awareness, _maybe_warn_about_duplicated_target, _conditionals_for_rule): ... these new subroutines. 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> | ||
| 944ec778 | 2012-04-14 09:55:41 | parallel-tests: print error messages on stderr, not stdout * lib/am/check.am ($(TEST_SUITE_LOG)): Be sure to print error messages on stderr, not on stdout. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| f4b8c585 | 2012-04-13 14:36:31 | Merge branch 'maint' * maint: install: shell parameter expansions can be used in directory names | ||
| e9c2b9e9 | 2012-04-13 14:16:29 | Merge branch 'fix-pr11232' into maint * fix-pr11232: install: shell parameter expansions can be used in directory names | ||
| 0bb60761 | 2012-04-12 16:24:23 | install: shell parameter expansions can be used in directory names Fixes automake bug#11232. GNU automake used to support shell parameter expansion and command substitutions in installation directories, but that was inadvertently broken by commit v1.11-759-g368f1c4 "install: don't create empty dirs when an empty 'foo_PRIMARY' is used" of 18-03-2012, where shell quoting of generated MKDIR_P command was changed from double to single quotes in 3 places, while some 21 other places still use double quotes for generated MKDIR_P commands. * lib/am/data.am: Use double quotes for generated "mkdir -p" commands. * lib/am/libs.am: Likewise. * lib/am/ltlib.am: Likewise. Signed-off-by: Dmitry V. Levin <ldv@altlinux.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| faffcc87 | 2012-04-11 17:51:59 | sync: some auxiliary files synced from upstream * lib/texinfo.tex: Synced from upstream, by "make fetch". * lib/INSTALL: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| a4b0f4b5 | 2012-04-01 11:48:47 | maint: remove most recursion in automake's own build system Recursive make-based build systems tend to be slower, more fragile and less faithful than "flat" ones. See Peter Miller's article "Recursive Make Considered Harmful" for more a more in-depth discussion: <http://miller.emu.id.au/pmiller/books/rmch/> While in the case of automake this isn't a big problem (given the small size of its build systems), it still creates occasional glitches and annoyances. With this change, the use of recursion in Automake's own build system is eliminated *but for the testsuite*. Converting that is a little more tricky, and better left for a later change (or series of changes). See also commit v1.11-769-gfeeb7f6 of 28-03-2012. * contrib/Makefile.am, lib/Makefile.am, m4/Makefile.am, doc/Makefile.am: Removed, their content merged ... * Makefile.am: ... here, with required adjustments and few other "opportunistic" changes. (SUBDIRS): Update. * configure.ac (AC_CONFIG_FILES): Likewise. * .gitignore: Likewise. 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> | ||
| 2d671e11 | 2012-03-29 00:31:47 | perl refactor: use modern semantics of 'open' * lib/Automake/XFile.pm: Update comments and POD documentation to suggest a more idiomatic/modern usage. (open): Be more robust in detecting whether the created file handle is being opened for writing. * lib/Automake/FileUtils.pm (update_file, contents): Call the 'Automake::XFile' and 'File::IO' constructors with two arguments rather than one; this change obsoletes ... (open_quote): ... this subroutine, which has thus been removed. (@EXPORT): Drop '&open_quote'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 84bf694b | 2012-03-28 22:50:27 | Merge branch 'maint' * maint: cosmetics: don't make the generated Config.pm executable maint: reduce use of recursion in automake build system + Extra non-trivial extra edits follows. * lib/Makefile.am (amdir): Deleted this definition, it is already provided by a proper AC_SUBST in configure.ac. (dist_am_DATA): Remove 'am/ansi2knr.am', 'am/check-html.am' and 'am/multilib.am'. (dist_perllib_DATA): Remove 'Automake/Struct.pm'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| 26a63b3b | 2012-03-28 17:12:36 | cosmetics: don't make the generated Config.pm executable * lib/Makefile.am (Automake/Config.pm): Don't make this executable, there's not need for it to be (it's a perl module, not a script). Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| feeb7f6a | 2012-03-28 17:03:25 | maint: reduce use of recursion in automake build system Recursive make-based build systems tend to be slower, more fragile and less faithful than "flat" ones. See Peter Miller's article "Recursive Make Considered Harmful" for more a more in-depth discussion: <http://miller.emu.id.au/pmiller/books/rmch/> While in the case of automake this isn't a big problem (given the small size of its build systems), it still creates occasional glitches and annoyances. So, with this change, we start making less use of make recursion in the Automake's own build system (future changes will reduce it even more). * lib/am/Makefile.am, lib/Automake/Makefile.am: Removed, their content merged ... * lib/Makefile.am: ... here, with required adjustments. * configure.ac (AC_CONFIG_FILES): Update. 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> | ||
| 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> | ||
| 45ffbe9f | 2012-03-18 22:19:45 | install-mans: avoid spurious failure with NetBSD make * lib/am/mans.am: After the changes introduced by previous commit v1.11-759-g368f1c4, some manpage installation recipes started to fail spuriously on NetBSD 5.1 make. Apparently, the system make there eats backslashes used to escape whitespace characters in the relevant recipes. Revert to slightly slower but safer idioms that avoid the need of such escaping. 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> | ||
| 295c5f26 | 2012-03-15 09:16:46 | Merge branch 'maint' * maint: python: avoid failures due to $(am__py_compile) being undefined python: expose automake bug#10995 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> | ||
| 6a6bc51e | 2012-03-14 22:29:59 | Merge branch 'maint' * maint: tests: avoid spurious failures in get-sysconf.test scripts: bump the depcomp scriptversion sync: some auxiliary files synced from upstream coverage: an empty foo_PRIMARY should create directory $(foodir) coverage: make sure am__py_compile is defined when needed coverage: expose automake bug#10997 coverage: expose automake bug#10975 getopt: relax version requirement for perl + Extra non-trivial edits: * tests/dist-pr109765.test: Use 'configure.ac', not 'configure.in'. * tests/instdir-cond.test: Likewise. * tests/instdir-empty.test: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| fdde53d3 | 2012-03-12 16:58:55 | scripts: bump the depcomp scriptversion * lib/depcomp (scriptversion): Bump, to account for recent changes. | ||
| 327358d8 | 2012-03-12 15:10:39 | sync: some auxiliary files synced from upstream * lib/texinfo.tex: Synced from upstream, by "make fetch". * lib/config.guess: Likewise. * lib/config.sub: Likewise. * lib/gnupload: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com> | ||
| ddac0505 | 2012-03-07 23:26:24 | getopt: relax version requirement for perl * lib/Automake/Getopt.pm: Require perl 5.6.0, not 5.6.2: the former is enough. See also commit 'v1.11-2054-g7df05a0' on master (dated 04-03-2012). | ||
| 3a814608 | 2012-03-07 21:08:06 | Merge branch 'msvc' into maint This merge remedies the confusing situation that some changes destined for both the master branch and the release branch (a.k.a. branch-1.11) currently needs to be made on the non-obvious msvc branch and not on the more natural maint branch. This has caused a seemingly endless string of less than optimal commits. The reason for the confusion stems from the fact that the changes made on the msvc branch became too radical and was considered only suitable for the master branch, and was thus written in a form suitable for master and then merged there. Later, the msvc branch was merged directly into branch-1.11, in order to rush the new features to the market and to keep the released scripts (lib/ar-lib, lib/compile and lib/depcomp) consistent with those on the master branch. However, some changes had to be made to the features added by the msvc branch in order for them to fit the requirements of branch-1.11, notably that the warnings issued in the extra-portability class cannot be enabled by -Wall in the 1.11.x maintenance releases. In retrospect, it would have been better to not merge msvc directly into branch-1.11, but instead do it via the maint branch (followed up with a dummy merge from maint into master) the moment it was decided that the msvc changes should make it into branch-1.11. All in all, this merge is going to affect neither the master branch nor branch-1.11, since it is followed up with dummy merges masking all changes. The merge is made to maintain the sanity of the poor developers, who wishes to once again have a working maint branch. Discussion about merging the msvc branch into branch-1.11: http://lists.gnu.org/archive/html/automake/2011-10/msg00030.html Discussion about why this merge hasn't happened before: http://lists.gnu.org/archive/html/automake/2011-12/msg00051.html Extra edits below. * lib/Automake/ChannelDefs.pm: Use the version from branch-1.11. * tests/ar-lib3.test: Likewise. * tests/ar-lib4.test: Likewise. * tests/extra-portability.test: Likewise. * tests/extra-portability2.test: Likewise. * tests/extradep.test: Likewise. * tests/extradep2.test: Likewise. * tests/list-of-tests.mk: Likewise. * HACKING: Backport the version from branch-1.11 while at it (as the change on branch-1.11 is also present on master via an unrelated commit), even though this change has nothing to do with the changes on the msvc branch. | ||
| 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 | ||
| 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. | ||
| 74a7f492 | 2012-03-04 16:00:58 | maint: drop 'Automake::Struct' module Now that we require Perl 5.6, we can drop the 'Automake::Struct' module, which was basically just a backport of Perl 5.6's 'Class::Struct' to Perl 5.5. * automake.in: Use 'Class::Struct', not 'Automake::Struct'. * lib/Automake/Struct.pm: Delete. * lib/Automake/Makefile.am (dist_perllib_DATA): Remove it. | ||
| 7df05a0b | 2012-03-04 15:44:46 | maint: require perl 5.6 throughout That version of perl is quite old already, so it should be OK to require it. More importantly, it is the older perl versions the developers can currently use for testing, thus it's safer and more honest to just require it throughout. And anyway, we were already requiring it in Automake::Getopt, which implied that both automake and aclocal wouldn't have worked in practice with an older perl version. See also the discussion related to automake bug#10925. * lib/Automake/ChannelDefs.pm: Adjusted to require perl 5.6. * lib/Automake/Channels.pm: Likewise. * lib/Automake/Condition.pm: Likewise. * lib/Automake/Configure_ac.pm: Likewise. * lib/Automake/DisjConditions.pm: Likewise. * lib/Automake/FileUtils.pm: Likewise. * lib/Automake/General.pm: Likewise. * lib/Automake/Item.pm: Likewise. * lib/Automake/ItemDef.pm: Likewise. * lib/Automake/Location.pm: Likewise. * lib/Automake/Options.pm: Likewise. * lib/Automake/Rule.pm: Likewise. * lib/Automake/RuleDef.pm: Likewise. * lib/Automake/Struct.pm: Likewise. * lib/Automake/VarDef.pm: Likewise. * lib/Automake/Variable.pm: Likewise. * lib/Automake/Version.pm: Likewise. * lib/Automake/Wrap.pm: Likewise. * lib/Automake/XFile.pm: Likewise. | ||
| 8be5d254 | 2012-03-01 09:30:45 | scripts: recognize the "q", "s" and "S" actions/modifiers in ar-lib * lib/ar-lib: Implement the "q" (quick) action as a synonym for "r" (replace). Ignore "s" (symbol index) and "S" (no symbol index) when used as modifiers and "s" when used as a command, there is simply no way for Microsoft lib to not update the symbol table index in the archive. (scriptversion): Update. * tests/ar-lib.test: Check the added behavior. Also add checks for the recently added "u" (update) and "v" (verbose) modifiers. | ||
| aadd78e9 | 2012-03-02 11:04:05 | Merge branch 'maint' into msvc |