summaryrefslogtreecommitdiff
path: root/PLANS
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'minor'Stefano Lattarini2015-01-061-7/+3
|\ | | | | | | | | | | | | | | | | | | | | * minor: deps: fix corner-case "make distclean" bug compile: don't place built object files in $(srcdir), ever ... tests: fix some bugs in an XFAILing test deps: 'subdir-object' option now works when foo_SOURCES contains $(var) NEWS: fix a typo Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * deps: fix corner-case "make distclean" bugStefano Lattarini2015-01-061-7/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assume we have package satisfying the following conditions: (1) automatic dependency tracking is enabled; (2) the 'subdir-objects' Automake option is enabled; (3) the package uses a recursive make setup. Also assume that: (a) a subdir Makefile declares a foo_SOURCES variable containing a source file in the parent directory; (b) that parent Makefile declare a compiled program itself. Then BSD and Solaris make used to fail when running "make distclean", because the 'distclean' target of the subdir Makefile removed the whole '.deps' directory before the parent Makefile was done with the included '.Po' makefile fragments in that directory. This issue was revealed by failures in the 'subobj-vpath-pr13928.sh' test when those make implementations were used. We fix the issue by ensuring the 'distclean' target of any Makefile only removed the '.Po' makefile fragments included by it, rather than the whole '.deps' directory where such files resides. This change should be the last step in fixing automake bug#13928 for good. * bin/automake.in (handle_languages), lib/am/depend.am: Adjust to implement the new 'distclean' logic. * t/pr224.sh: Adjust to avoid a spurious failure. * PLANS/subdir-objects.txt: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'minor'Stefano Lattarini2014-04-211-0/+9
|\ \ | |/ | | | | | | * minor: plans: enabling subdir-object by default is blocked on bug#13928
| * plans: enabling subdir-object by default is blocked on bug#13928Stefano Lattarini2014-04-211-0/+9
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2013-05-161-11/+7
|\ \ | |/ | | | | | | | | | | | | * maint: tests: remove remaining exec bits ('maint' branch) tests: remove exec bit from all of them ('micro' branch) maint: tests no longer need to have executable bit set PLANS: subdir-objects: various updates
| * PLANS: subdir-objects: various updatesStefano Lattarini2013-05-161-11/+7
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2013-05-103-8/+8
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | * maint: news: document new 'subdir-objects' warning PLANS: one minor fixlet (mostly cosmetic) PLANS: we have already dropped support for split info files in master NEWS: fix a reference to Automake 1.14 where Automake 2.0 was intended PLANS: fix reference to non-existent 'next' branch PLANS: fix botched version reference maintcheck: fix two references to old location of aclocal and automake dist: deprecated shar and tar+compress formats
| * PLANS: one minor fixlet (mostly cosmetic)Stefano Lattarini2013-05-101-2/+2
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * PLANS: we have already dropped support for split info files in masterStefano Lattarini2013-05-101-3/+3
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * PLANS: fix reference to non-existent 'next' branchStefano Lattarini2013-05-101-1/+1
| | | | | | | | | | | | | | * PLANS/obsolete-removed/configure.in.txt: Here. We should refer to the 'master' branch instead. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * PLANS: fix botched version referenceStefano Lattarini2013-05-101-2/+2
| | | | | | | | | | | | | | | | * PLANS/rm-f-without-args.txt: Here. The probe checking that "rm -f" without arguments works will be introduced in Automake 1.14, not in Automake 1.13.2. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint' into masterStefano Lattarini2013-02-215-20/+20
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * maint: maint: more adjustments to the new versioning scheme aclocal: fix for more-than-once specified directories aclocal: just warn if the primary local m4 dir doesn't exist (don't error) coverage: expose automake bug#13760 tests: refactor/enhance tests about make dry-run mode maint: describe new versioning and branching scheme, and adjust to it cosmetics: fix some "docstring-like" comments in automake Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * maint: more adjustments to the new versioning schemeStefano Lattarini2013-02-215-23/+21
| | | | | | | | | | | | | | | | | | This is a follow-up to commit 'v1.13.1b-11-g97aaf12'. * automake.in: Adjust a comment. * PLANS: Adjust several files in here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2013-01-212-4/+67
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * maint: tests: more information about Lex and Yacc programs lint: fix spurious failure for 'sc_rm_minus_f' syntax check maint: bump version 1.13.1a -> 1.13.2a maint: update copyright in files generated by automake and aclocal tests: avoid a spurious failure when running inside Emacs tests: make two new test executable m4: rename an m4 file to a more appropriate name NEWS: update w.r.t. recent documentation fixes compat: reinstate AM_CONFIG_HEADER and AM_PROG_CC_STDC docs: parallel-tests is no longer experimental docs: serial-tests are not deprecated, just discouraged plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14 NEWS: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14 init.m4: add probe to check "rm -f" without args work Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * Merge branch 'rm-f-probe' into maintStefano Lattarini2013-01-181-4/+4
| |\ | | | | | | | | | | | | * rm-f-probe: init.m4: add probe to check "rm -f" without args work
| | * init.m4: add probe to check "rm -f" without args workStefano Lattarini2013-01-161-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See automake bug#10828. POSIX will say in a future version that running "rm -f" with no argument is OK: <http://austingroupbugs.net/view.php?id=542>). We want to be able to make that assumption in our Makefile recipes. So we introduce an aggressive probe to check that the usage we want is actually supported "in the wild" to an acceptable degree. * m4/init.m4 (AM_INIT_AUTOMAKE): Implement the probe. To make any issue more visible, cause the running configure to be aborted by default if the 'rm' program in use doesn't match our expectations; the user can still override this though, by setting the ACCEPT_INFERIOR_RM_PROGRAM environment variable to "yes". * t/spy-rm.tap: Update heading comments. * t/rm-f-probe.sh: New test. * t/list-of-tests.mk: Add it. * PLANS/rm-f-without-args.txt: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | plans: we are not going to remove AM_PROG_MKDIR_P in Automake 1.14Stefano Lattarini2013-01-181-44/+41
| |/ | | | | | | | | | | | | | | | | | | See commit v1.13.1-109-g030ecb4 of 2013-01-16, "compat: restore AM_PROG_MKDIR, again", for the rationale; that rationale is now also copied... * PLANS/obsolete-removed/am-prog-mkdir-p.txt: ... here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'maint'Stefano Lattarini2013-01-162-21/+20
|\ \ | |/ | | | | | | | | * maint: subdir-objects: complain if it isn't enabled plans: update w.r.t. latest changes
| * plans: update w.r.t. latest changesStefano Lattarini2013-01-122-21/+20
| | | | | | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | compat: restore AM_PROG_MKDIR, againStefano Lattarini2013-01-161-65/+7
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | OK, this is getting ridiculous, but we cannot remove this macro yet (and, yes, the fault for this mess lies entirely on me; let's not dwell on that, thank you very much). Gettext (so far the greatest "offender" in the use of AM_PROG_MKDIR), in its latest release 0.18.2, has removed all the uses of that macro still present in its code base. So I thought we could finally and safely remove it. Wrong. If a package's 'configure.ac' contains a call like: AM_GNU_GETTEXT_VERSION([0.18]) then the 'autopoint' script will bring the data files from the Gettext release *1.18* into the package's tree -- yes, even even if the developer has installed *and is using* Gettext 1.18.2! Now, these data files comprise m4 files (that will be seen by subsequent aclocal and autoconf calls), and of course, the pre-0.18.2 version of some of these files still contains occurrences of AM_PROG_MKDIR_P -- so Automake 1.13 errors out, and we lose. This has already happened in practice: <http://lists.gnu.org/archive/html/bug-grep/2013-01/msg00003.html> Moreover, while we might see it as not unreasonable to ask a developer using Automake 1.14 to also update Gettext to 1.18.2, that would not be enough; in order for gettext to use the correct data files, our developer would have to update his configure.ac to read: AM_GNU_GETTEXT_VERSION([0.18.2]) thus requiring *all* of his co-developers to install Gettext 1.18.2, even if they are still using, say, Automake 1.13. Bad. So we re-instate this macro as a simple alias for AC_PROG_MKDIR (plus a non-fatal runtime warning in the 'obsolete' category), and drop any plan to remove it (see how much good those plans have done us so far). Note that NEWS is not yet adjusted, since we'll have to adjust it in maint before (to minimize spurious merge conflicts). * doc/automake.texi: Update. * PLANS/obsolete-removed/am-prog-mkdir-p.txt: Likewise. * t/gettext-macros.sh: Adjust. * t/am-prog-mkdir-p.sh: New test. * t/mkdir_p.sh: Remove, folded into the new one. * t/am-prog-mkdir-p-no-more: Remove as superseded. * t/list-of-tests.mk: Adjust. * t/obsolete-err.m4: Re-instate AM_PROG_MKDIR_P as a working alias for AC_PROG_MKDIR_P (albeit giving runtime warnings, and calling AC_SUBST on 'mkdir_p' too). * m4/init.m4 (AM_INIT_AUTOMAKE): No longer call AC_SUBST for 'mkdir_p', as that is once again AM_PROG_MKDIR_P's business. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* plans: automake 1.14 is to assume "rm -f" with no args is OKStefano Lattarini2013-01-091-0/+40
| | | | | | | | See automake bug#10828. * PLANS/rm-f-without-args.txt: New. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* plans: we want to active subdir-objects unconditionally in automake 1.14Stefano Lattarini2013-01-091-0/+67
| | | | | | | | | See automake bug#13378. * PLANS/subdir-objects.txt: New. * t/ccnoco4.sh: Improve heading comments a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* plans: add some on-going plans (already registered on the bug tracker)Stefano Lattarini2013-01-044-0/+143
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* plans: add the "PLANS" directoryStefano Lattarini2013-01-031-0/+25
Individual files or sub-directories about future and on-going development plans in Automake will be added in follow-up commits. This new set of documents is meant to help ensure a more controlled and smooth development and evolution for Automake, in several ways. - Having the plans clearly spelled out should will avoid messy roadmaps with no clear way forward or with muddy or ill-defined aims or purposes; a trap this is too easy to fall into. - Keeping planned changes cooking and re-hashed for a while should ensure rough edges are smoothed up, transitions are planned in a proper way (hopefully avoiding debacles like the AM_MKDIR_PROG_P deprecation and the AM_CONFIG_HEADER too-abrupt removal), and "power users" have more chances of getting informed in due time, thus having all the time to prepare for the changes or raise objections against them. - Having the plans clearly stated and registered in a "centralized" location should make it more difficult to them to slip through the cracks, getting forgotten or (worse) only half-implemented. - Even for discussions and plans registered on the Bug Tracker as well, a corresponding entry in the PLANS directory can help in keeping main ideas summarized, and consensus and/or objections registered and easily compared. Motivation: <http://blog.flameeyes.eu/2013/01/autotools-mythbuster-automake-pains> Not a flatting picture for us (and maybe a little too harsh), but basically true and even spot-on in some regards. * PLANS/README: New. * Makefile.am (EXTRA_DIST): Distribute the whole PLANS directory. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>