summaryrefslogtreecommitdiff
path: root/t/list-of-tests.mk
Commit message (Collapse)AuthorAgeFilesLines
* Prefer https: URLsPaul Eggert2017-09-191-1/+1
| | | | | | | | | | | | | | | | | | | | | In Gnulib, Emacs, etc. we are changing ftp: and http: URLs to use https:, to discourage man-in-the-middle attacks when downloading software. The attached patch propagates these changes upstream to Automake. This patch does not affect files that Automake is downstream of, which I'll patch separately. Althouth the resources are not secret, plain HTTP is vulnerable to malicious routers that tamper with responses from GNU servers, and this sort of thing is all too common when people in some other countries browse US-based websites. See, for example: Aceto G, Botta A, Pescapé A, Awan MF, Ahmad T, Qaisar S. Analyzing internet censorship in Pakistan. RTSI 2016. https://dx.doi.org/10.1109/RTSI.2016.7740626 HTTPS is not a complete solution here, but it can be a significant help. The GNU project regularly serves up code to users, so we should take some care here.
* automake: Depend on LIBOBJDIR for LIBOBJS and ALLOCAMichael Haubenwallner2017-09-151-1/+0
| | | | | | | | | | This change fixes automake bug#27781. * bin/automake.in: Add Makefile dependency on LIBOBJDIR/dirstamp for each LIBOBJS/ALLOCA source file found. * t/list-of-tests.mk (XFAIL_TESTS): Drop t/libobj-no-dependency-tracking.sh. * NEWS: Announce bug fix.
* automake: Ensure that LIBOBJ_DIR builddir is createdMichael Haubenwallner2017-08-221-0/+2
| | | | | | * t/libobj-no-dependency-tracking.sh: New test reproducing the issue described in automake bug#27781. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it.
* automake: Shorter object file names under subdir-objectsThomas Martitz2017-07-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Combining the 'subdir-objects' option with target-specific flags had the consequence of producing long object file names. This was done to preventively ensure the uniqueness of object file names. We are now using shorter names by default, and handle long names when an actual conflict is detected. This will hopefully reduce the necessity of using the 'prog_SHORTNAME' facility. Example: previously: AUTOMAKE_OPTIONS = subdir-objects bin_PROGRAMS += path/to/foo path_to_foo_CFLAGS = $(AM_CFLAGS) -g resulted in objects: sub/path_to_foo-foo.o now object file name is: sub/foo-foo.o * bin/automake.in (proglist, liblist, ltliblist) (dup_shortnames): New globals. (initialize_per_input): Initialize them. (handle_targets): New subroutine. (handle_single_transform): Truncate object file names when possible. * t/subobj-objname-clash.sh: New test. * t/list-of-tests.mk (handwritten_TESTS): Add it. * NEWS: Update. Signed-off-by: Mathieu Lirzin <mthl@gnu.org>
* Merge branch 'micro' into minorMathieu Lirzin2017-06-161-1/+1
|\
| * maint: Update copyright years to 2017.Mathieu Lirzin2017-03-021-1/+1
| | | | | | | | This update has been made with 'make update-copyright'.
* | Merge branch 'micro' into minorPeter Rosin2015-11-241-0/+1
|\ \ | |/ | | | | | | | | | | * micro: compile: add icl to compile wrapper script Signed-off-by: Peter Rosin <peda@lysator.liu.se>
| * compile: add icl to compile wrapper scriptJonathan L Peyton2015-11-241-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * lib/compile: Have icl be treated similarly to cl (scriptversion): Update. * t/ax/am-test-lib.sh (require_tool): Handle icl. * t/compile7.sh: Add new test file for icl... * t/list-of-tests.mk (handwritten_TESTS): ...and use it. * NEWS: Update. * THANKS: Update. Copyright-paperwork-exempt: yes Signed-off-by: Peter Rosin <peda@lysator.liu.se>
* | compile: don't place built object files in $(srcdir), ever ...Stefano Lattarini2015-01-061-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... even when a source file is specified as '$(srdir)/foo.c' or '$(top_srcdir)/bar.c'. And ditto for dependency-tracking makefile fragments (those under '.deps' directories). Such issues used to occur when the 'subdir-objects' option was given. This change should fix the second and last part of automake bug#13928. See also bug#16375 and bug#15293. * NEWS: Update. * bin/automake.in (handle_single_transform): Make sure object files and dependency-tracking makefile fragments coming from source like '$(srcdir)/foo.c' and '$(top_srcdir)/bar.c' are placed respectively under $(builddir) and $(top_builddir). * t/subobj-vpath-pr13928.sh: Enhance to expose even more aspects of the bug we've just fixed. * t/subobj-pr13928-more-langs.sh: New test, similar to the one above, but with non-C languages as well. * t/list-of-tests.mk (XFAIL_TESTS): Remove 'subobj-vpath-pr13928.sh', it's now supposed to pass. (handwritten_TESTS): Add 'subobj-pr13928-more-langs.sh'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | deps: 'subdir-object' option now works when foo_SOURCES contains $(var)Stefano Lattarini2015-01-061-2/+1
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Following a suggestions of Johan Kristensen, we have config.status use 'make' invocations rather than Makefile-parsing 'sed' hacks to bootstrap the dependency-tracking '.Po' and '.Plo' makefile fragments. To handle the inclusion of such files that are still missing when make is first we basically generate a temporary Makefile without these includes, and call 'make' on that Makefile. This fixes the serious bug bug#13928, which was an hard blocker to make the behavior mandated by the 'subdir-object' active by default (which we want to do in Automake 2.0). The issue has also been reported in bug#15919. * NEWS, THANKS: Update. * bin/automake.in (handle_languages): Add a trailing "marking" comment ("# am--include-marker") to the generated Makefile lines issuing 'include' directives for the dependency-tracking '.Po' and '.Plo' makefile fragments. Also rename the generated Makefile variable 'am__depfiles_maybe' to the clearer 'am__maybe_remake_depfiles'. Minor unrelated refactoring. * lib/am/configure.am: Adjust to account for the 'am__depfiles_maybe' -> 'am__maybe_remake_depfiles' renaming. * lib/am/depend.am: Add rules to generate a dummy version of all the dependency-tracking '.Po' and '.Plo' makefile fragments. * m4/depout.m4: Use make invocations rather than Makefile-parsing sed hacks to bootstrap the dependency-tracking '.Po' and '.Plo' makefile fragments. We still use some sed trickery in order to remove the inclusion of the still non existing .Po and .Plo files from the Makefile we invoke make upon; this is done stripping lines that contain the magic string "# am--include-marker". * m4/make.m4 (AM_MAKE_INCLUDE): Given that now automake generates Makefiles containing include statements with trailing comment, adjust the checks done here to make sure $MAKE support that; e.g., "include foo.mk # comment" rather than just "include foo.mk". Also refactor and adjust to leave better debugging info in config.log. * t/postproc.sh: Rename ... * t/depend-postproc.sh: ... to this, and adjust and enhance. * t/list-of-tests.mk (handwritten_TESTS): Adjust. (XFAIL_TESTS): Remove 't/subobj-indir-pr13928.sh', which is now succeeding. * t/subobj-indir-pr13928.sh: Simplify slightly, now that we expect it to pass. * t/depcomp8a.sh: Adjust grepping check to account for the changes in the generated Makefile, and tp be somewhat more robust in light of possible future modifications. * t/depcomp8b.sh: Likewise. * t/subobj11b.sh: Likewise. * t/subobj11c.sh: Likewise. * t/extra-sources.sh: Likewise. * t/lex-depend-grep.sh: Likewise. * t/lex-depend-cxx.sh: Add a command to help debugging in case of test failure. Helped-by: Johan Kristensen <johankristensen@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* maint: update copyright years to 2015 (branch 'micro')Stefano Lattarini2015-01-051-1/+1
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into minorStefano Lattarini2014-12-231-0/+2
|\ | | | | | | | | | | | | | | * micro: dist: fix bug#18286 "distcheck fails to detect missing files" tests: expose automake bug#18286 "distcheck fails to detect missing files" include: fix bug in handling of user-defined makefile fragments generation tests: expose bug in handling of user-defined makefile fragments generation
| * Merge branch 'distcheck-pr18286' into microStefano Lattarini2014-12-231-0/+1
| |\ | | | | | | | | | | | | | | | * distcheck-pr18286: dist: fix bug#18286 "distcheck fails to detect missing files" tests: expose automake bug#18286 "distcheck fails to detect missing files"
| | * dist: fix bug#18286 "distcheck fails to detect missing files"Stefano Lattarini2014-12-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | BTW, this issue had been already reported in the past: http://lists.gnu.org/archive/html/automake/2006-09/msg00008.html http://lists.gnu.org/archive/html/automake/2013-01/msg00049.html "make distcheck" could sometimes fail to detect missing files in the distribution tarball, especially in those cases where both the generated files and their dependencies are explicitly in $(srcdir). An important example of this are *generated* makefile fragments included at Automake time in Makefile.am. A basic example: # -*- Makefile.am -*- $(srcdir)/fragment.am: $(srcdir)/data.txt $(srcdir)/preproc.sh cd $(srcdir) && $(SHELL) preproc.sh <data.txt >fragment.am include $(srcdir)/fragment.am ... If the use forgot to add data.txt and/or preproc.sh in the distribution tarball, "make distcheck" would have erroneously succeeded! The reason is that, while $(srcdir)/data.txt does not exist, make also looks in $(srcdir)/$(srcdir)/data.txt, and in the distcheck-issued VPATH build where $(srcdir) is '..', that file exists, as it is part of the original development directory. * t/distdir.am (distcheck): Adjust to have the build directory be '$(distdir)/_build/sub' rather than just '$(distdir)/_build'. Thanks Nicola Fontana for the suggestion. * t/distcheck-pr18286.sh: Enhance and tighten a little. * t/list-of-tests.mk (XFAIL_TESTS): Remove 't/distcheck-pr18286.sh', as it's now passing. * t/subdir-am-cond.sh: Adjust to avoid a fully spurious failure due to the new distcheck semantics. * t/subdir-ac-subst.sh: Likewise. * t/dejagnu-relative-srcdir.sh: Likewise. * t/txinfo-builddir.sh: Likewise. * NEWS: Update. Helped-by: Nicola Fontana <ntd@entidi.it> Helped-by: Peter Johansson <trojkan@gmail.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * tests: expose automake bug#18286 "distcheck fails to detect missing files"Stefano Lattarini2014-12-231-0/+2
| | | | | | | | | | | | | | | | | | | | | * t/distcheck-pr18286.sh: New test, still XFAILing. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | Merge branch 'am-deps' into microStefano Lattarini2014-12-231-0/+1
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | * am-deps: include: fix bug in handling of user-defined makefile fragments generation tests: expose bug in handling of user-defined makefile fragments generation Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * include: fix bug in handling of user-defined makefile fragments generationStefano Lattarini2014-12-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a user defined one single Makefile fragment to be included (via Automake includes) in his main Makefile.am, and gave a rule to generate that file from other data, Automake used to spuriously complain about with something like "overrides Automake target '$(srcdir)/foo.am". This change remove that spurious error (via a simple hack rather than a systematic change, but oh well). * lib/am/configure.am (%MAKEFILE-IN-DEPS%) [?HAVE-MAKEFILE-IN-DEPS?]: Add a trailing "$(am__empty)" to the list of targets, which is enough to trick Automake into not complaining about "duplicated targets" in case the '%MAKEFILE-IN-DEPS%' list expands to a single target that is also declared in some user-defined rule. * t/list-of-tests.mk (XFAIL_TESTS): Remove now-passing test 't/am-include-only-one-generated-fragment.sh'. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * tests: expose bug in handling of user-defined makefile fragments generationStefano Lattarini2014-12-231-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If a user defines one single Makefile fragment to be included (via Automake includes) in his main Makefile.am, and givse a rule to generate that file from other data, Automake will spuriously complain about with something like "overrides Automake target '$(srcdir)/foo.am". * t/am-include-only-one-generated-fragment.sh: Expose the bug (this test is still XFAILing). * t/list-of-tests.mk: Add the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | | Merge branch 'micro' into minorStefano Lattarini2014-12-191-0/+1
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | * micro: sync: update third-part files from upstream Make sure AM_INIT_AUTOMAKE has a trailing newline dist: adjust warning messages about shar and tarZ deprecation docs: improve description of ${PACKAGE}, ${VERSION}, and similar variables Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | Make sure AM_INIT_AUTOMAKE has a trailing newlineStefano Lattarini2014-12-191-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | This used to be the case until Automke 1.13, but we broke it in Automake 1.14 (see commit v1.13.1-71-gf78b0f0). This caused issues like http://debbugs.gnu.org/16841 * m4/init.m4 (AM_INIT_AUTOMAKE): Adjust. * t/aminit-trailing-dnl-comment-pr16841.sh: New test. * t/list-of-tests.mk: Add it. * NEWS, THANKS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Expose automake bug#19311Stefano Lattarini2014-12-171-0/+2
| | | | | | | | | | | | | | | | | | | | AC_PROG_CC called before AC_CONFIG_AUX_DIR can silently force wrong $ac_aux_dir definition. * t/auxdir-pr19311.sh: New. * t/list-of-tests.mk: Add it as an XFAIL test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | init: ensure $ac_aux_dir is defined before being usedStefano Lattarini2014-04-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since we use '$ac_aux_dir' to define '$am_aux_dir', we need to ensure the former has been initialized before we try to define the latter, otherwise the definition: am_aux_dir=`cd $ac_aux_dir && pwd` will set '$am_aux_dir' to '$HOME', likely causing weird and unexpected behaviours. This change fixes automake bug#15981. * m4/auxdir.m4 (AM_AUX_DIR_EXPAND): AC_REQUIRE expansion of 'AC_CONFIG_AUX_DIR_DEFAULT'. Fix redundant comment and AC_PREREQ, add extra quoting around '$ac_aux_dir'. * t/auxdir-pr15981.sh: New test. * t/auxdir-cc-pr15981.sh: Likewise. * t/list-of-tests.mk (handwritten_TESTS): Add them. * THANKS, NEWS: Update. * bin/automake.in: Fix a harmless typo in comments, that I happened to notice while writing this patch. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | maint: update copyright yearsStefano Lattarini2014-04-211-1/+1
| | | | | | | | | | | | We've been in 2014 already for few months now... Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Allow user to extend .PRECIOUS targetStefano Lattarini2013-12-261-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | References: <http://lists.freedesktop.org/archives/systemd-devel/2013-July/012155.html> <http://lists.gnu.org/archive/html/automake/2013-07/msg00011.html> * bin/automake.in: Adjust to ensure we handle '.PRECIOUS' the same way we do for '.PHONY' and '.MAKE'. * lib/Automake/Rule.pm: Likewise. * t/precious.sh: New test. * t/list-of-tests.mk: Add it. * t/phony.sh: Enhance a little while at it. * NEWS: Update. * THANKS: Likewise. Reported-by: Holger Hans Peter Freyther <holger@freyther.de> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | tests: more significant names for some testsStefano Lattarini2013-12-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * t/insh2.sh: Rename... * t/dist-install-sh.sh: ... like this. * t/instsh.sh: Rename... * t/add-missing-install-sh.sh: ... like this. * t/instsh2.sh: Rename... * t/install-sh-unittests.sh: ... like this. * t/instsh3.sh: Rename... * t/install-sh-option-C.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | tests: more significant names for a testStefano Lattarini2013-12-251-1/+1
| | | | | | | | | | | | | | | | * t/install2.sh: Rename... * t/dist-with-unreadable-makefile-fails.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | testsuite harness: report test exit status in log fileStefano Lattarini2013-12-241-0/+1
|/ | | | | | | | | | | | | | | | | | The exit status of a test should be reported in the test logs, so that one can see at a glance whether the test has succeeded or failed, without having to look also into the corresponding .trs file. This fixes automake bug#11814. * lib/test-driver: Also report the test script exit status in the test log (as the last line). * t/check-exit-status-reported.sh: Test this new behaviour. * t/list-of-tests.mk: Add the new test. * t/ax/test-lib.sh( am_exit_trap): No longer log the test exit status; this has been made redundant by the change to 'test-driver'. While at it, fix an imperfect quoting. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: remove too-brittle test tap-realtime.shStefano Lattarini2013-12-231-1/+0
| | | | | | | | | * t/tap-realtime.sh: Delete. It has always been brittle, but now it's also causing spurious failures when mawk is used as the awk implementation in tap-driver.sh (see bug#14601). * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* distcheck: don't allow overriding of --prefix and --srcdir by the userStefano Lattarini2013-10-301-1/+0
| | | | | | | | | | | | | | | | | | | | Not through AM_DISTCHECK_FLAGS, nor through DISTCHECK_FLAGS. Apparently, some packages got in the habit of relaying all the options passed to the original ./configure invocation through to the configure invocations in "make distcheck". This was causing problems, because it also passed through the original --srcdir and --prefix options. Fixes: expose bug#14991 (relates to 'distcheck') * lib/am/distdir.am (distcheck): Pass the hard-coded --srcdir and --prefix options *after* both the developer-defined options in $(AM_DISTCHECK_FLAGS) and the user-defined options in $(DISTCHECK_FLAGS). * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test 'distcheck-no-destdist-or-srcdir-override.sh'. * doc/automake.texi (Checking the Distribution): Update. * NEWS: Likewise. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: expose bug#14991 (relates to 'distcheck')Stefano Lattarini2013-10-301-0/+2
| | | | | | | * t/distcheck-no-prefix-or-srcdir-override.sh: New, expose the bug. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* coverage: new test on Texinfo @include supportStefano Lattarini2013-06-191-0/+1
| | | | | | | | | Backported from the Automake-NG testsuite. * t/txinfo-include.sh: New test. * t/list-of-tests.mk: Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: more significant names for some testsStefano Lattarini2013-06-191-3/+3
| | | | | | | | | | | * t/extra2.sh: Rename... * t/extra-sources-no-spurious.sh: ... like this. * t/yflags2.sh: Rename... * t/yflags-cxx.sh: ... like this. * t/lflags2.sh: Rename... * t/lflags-cxx.sh: ... like this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: rename t/exsource.sh -> t/extra-sources.shStefano Lattarini2013-06-191-1/+1
| | | | | | | | * t/exsource.sh: Rename ... * t/extra-sources.sh: ... like this. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* tests: some improvements to Gettext testsStefano Lattarini2013-06-161-3/+5
| | | | | | | | | | | | | | | | | | | | | Mostly to bring them more in sync with the ones in Automake-NG. See also commit v1.12.2-824-g5468d52 of 2012-08-10([ng] tests: reorganize gettext tests a bit) in Automake-NG. * t/gettext.sh: Rename ... * t/gettext-basics.sh: ... like this, enhance a little, and move checks on requirement of 'config.rpath' out into ... * t/gettext-config-rpath.sh: ... into this new test, and move checks about PR/381... * t/gettext-pr381.sh: ... into this new test. * t/gettext2.sh: Rename ... * t/gettext-external-pr338.sh: ... like this, and enhance a little. * t/gettext3.sh: Rename ... * t/gettext-intl-subdir.sh: ... like this, and add trailing ':' command. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into maintStefano Lattarini2013-06-121-0/+2
|\ | | | | | | | | | | | | | | | | * micro: THANKS: update e-mall address for Ralf Corsepius lang, suffix rules: don't require C stuff needlessly tests: expose automake bug#14560 Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * lang, suffix rules: don't require C stuff needlesslyStefano Lattarini2013-06-121-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes automake bug#14560: when two or more user-defined suffix rules were present in a single Makefile.am, automake would needlessly include definition of some make variables related to C compilation in the generated Makefile.in. * automake.in (handle_languages): Fix logic to decide whether or not to include definitions of C compilation related variables in the generated Makefile.in: instead of doing so when two or more user-defined suffix rules are seen (which is a completely bogus criterion), do so when two or more compiled languages are used. * lib/Automake/Rule.pm (suffix_rules_count): Remove as no longer used. (@EXPORT): Adjust. * t/list-of-tests.mk (XFAIL_TESTS): No longer list the test script 'suffix-extra-c-stuff-pr14560.sh', which now passes. * NEWS: Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: expose automake bug#14560Stefano Lattarini2013-06-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Automake needlessly generates definition of make variables related to C compilation when two or more user-defined suffix rules are present in a single Makefile.am. * t/suffix-extra-c-stuff-pr14560.sh: New test, exposing the bug. This test is still xfailing. * t/no-extra-c-stuff.sh: New test, check for a potential related regression. This regression is not actually present here (so this test passes), but it still took place in our first attempt at fixing bug#14560 -- so this test has proven to be actually useful. * t/no-extra-makefile-code.sh: Improve comments, and tighten the grepping checks a little. * t/list-of-tests.mk (handwritten_TESTS): Add the new tests. (XFAIL_TESTS): Add the new xfailing test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-06-091-0/+6
|\ \ | |/ | | | | | | | | | | | | | | * micro: maint: add a missing copyright notice sync: update config.guess from upstream tests: expose automake bug#13928 comments: fix some out-of-sync refs to test scripts tests: expose automake bug#13940
| * tests: expose automake bug#13928Stefano Lattarini2013-06-081-0/+4
| | | | | | | | | | | | | | | | * t/subobj-indir-pr13928.sh: New test, still xfailing. * t/subobj-vpath-pr13928.sh: Likewise. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Update. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: expose automake bug#13940Stefano Lattarini2013-06-081-0/+2
| | | | | | | | | | | | | | * t/override-conditional-pr13940.sh: New test, still xfailing. * t/list-of-tests.mk (XFAIL_TESTS, handwritten_TESTS): Add it. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into maintStefano Lattarini2013-05-291-0/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | * micro: NEWS: fix typos and grammaros NEWS: document fix for bug#14441 Automake::Rule: consistently prepend underscore to private variables Automake::Rule: rename: suffix_rule() -> next_in_suffix_chain() Automake::Rule: adjust comments and POD according to previous changes Automake::Rule: make private variables lexically scoped suffix rules: better distinction between builtin and user-derived Automake::Rule: expose suffix rules as a function, not a scalar tests: expose automake bug#14441
| * suffix rules: better distinction between builtin and user-derivedStefano Lattarini2013-05-281-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes automake bug#14441. * lib/Automake/Rule.pm ($_suffix_rules_default): Remove, superseded by ... (%suffix_rules_builtin): ... this lexical variable. ($suffix_rules): Remove, superseded by ... (%suffix_rules): ... this lexical variable. (suffix_rules, suffix_rules_count): Adjust. (register_suffix_rule): Update '%suffix_rules_builtin' rather than '%suffix_rules' if the location (as passed by the '$where' argument) is an "internal" one (doesn't come from user-provided Makefile.am). (reset): Simplify resetting of '%suffix_rules' to the default ones accordingly. * t/list-of-tests.mk (XFAIL_TESTS): Drop test 'suffix-custom-pr14441.sh'. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: expose automake bug#14441Stefano Lattarini2013-05-271-0/+2
| | | | | | | | | | | | | | | | * t/suffix-custom-pr14441.sh: New test, still failing. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. Helped-by: Felix Salfelder <felix@salfelder.org> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | compile: rewrite AC_PROG_CC with AM_PROG_CC_C_O contentsStefano Lattarini2013-05-241-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a much simpler rewrite than the one we attempted in the past, and that was later removed by commit 'v1.13.1d-137-g32eb770' of 2013-05-11 (compile: avoid AC_PROG_CC messy rewrite). Not only this change simplifies the code a little, but has the welcome collateral effect of making automatic dependency tracking work better with compilers that doesn't grasp the '-c' and '-o' options together. Issues in that setup have been caught by several failures in the target 'check-no-cc-c-o'. Unfortunately, this change has less welcome collateral effects: 1. AM_PROG_AR must now be called *after* AC_PROG_CC; 2. Autoconf emits extra warnings when used with Automake-generated aclocal.m4. These are unacceptable regressions for a release, but since we are going to fix them soon enough in a follow-up patch (surely to be applied before Automake 1.14 is released) we don't worry too much. * m4/init.m4: Redefine AC_PROG_CC early, to automatically invoke AM_PROG_CC_C_O as well. Accordingly, drop now-unneeded "automagical" AM_PROG_CC_C_O expansion at later time (which took place thanks to a AC_CONFIG_COMMANDS_PRE call). * m4/minuso.m4 (AM_PROG_CC_C_O): Ensure the expansion of the body of this macro takes place with C as "current Autoconf language" (use AC_LANG_PUSH/AC_LANG_POP). * m4/ar-lib.m4 (AM_PROG_AR): Likewise. Also, require this macro to be expanded *after* AC_PROG_CC (so that any rewrite of $CC, if required, has already taken place). * t/add-missing.tap: Adjust to avoid spurious failures. * t/aclocal-deps.sh: Likewise, by having AM_PROG_AR called *after* AC_PROG_CC. * t/subobj-clean-lt-pr10697.sh: Likewise. * t/alloca.sh: Likewise. * t/condlib.sh: Likewise. * t/discover.sh: Likewise. * t/objc-megademo.sh: Likewise. * t/ccnoco.sh: Extend a little. * t/ccnoco-deps.sh: New test. * t/ccnoco-lib.sh: Likewise. * t/ccnoco-lt.sh: Likewise. * t/list-of-tests.mk: Add them. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | dist: deprecated shar and tar+compress formatsStefano Lattarini2013-05-101-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | See also discussion about automake wishlist bug#13324. * lib/Automake/Options.pm: Give proper warnings in the 'obsolete' category if the 'dist-shar' or 'dist-tarZ' options are used. * lib/distdir.am: When the 'dist-tarZ' or 'dist-shar' targets are invoked, make them give a non-fatal warning. * doc/automake.texi: Report the new deprecations. * t/dist-shar.sh: New test. * t/dist-tarZ.sh: Likewise. * t/lzma.sh: While at it, rename ... * t/dist-lzma.sh: ... like this, and tweak it to keep more in sync with the new tests. * t/dist-formats.tap: Remove references to deprecated formats. * t/list-of-tests.mk: Adjust. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'branch-1.13.2' into maintStefano Lattarini2013-05-041-0/+2
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * branch-1.13.2: maint: targets and recipes to simplify testing on real-world packages build: preparatory refactoring build: tiny reduction in code duplication make flags analysis: handle more options with args make flags analysis: use simpler variable names make flags analysis: whitespace changes make flags analysis: embed in a subshell make flags analysis: be more robust make flags analysis: cater to GNU make 3.83 (still unreleased as of now) tests: expose weaknesses in make flags analysis tests: improve debugging output in checks on make flags analysis make flags analysis: refactor, to reduce code duplication tests: avoid one tricky use of "make -e" tests: avoid a spurious error with Solaris make subdirs: don't return false positives for the '-k' option's presence header-vars: recognize more make flags ('-k' in particular) header-vars: simplify how make flags are determined tests: remove dead code from t/make-dryrun.tap header-vars: new variable $(am__running_with_option) tests: expose bug#12554 (false positives for presence of '-k' make option)
| * Merge branch 'fix-pr12554' into branch-1.13.2Stefano Lattarini2013-04-301-0/+2
| |\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fix-pr12554: tests: avoid a spurious error with Solaris make subdirs: don't return false positives for the '-k' option's presence header-vars: recognize more make flags ('-k' in particular) header-vars: simplify how make flags are determined tests: remove dead code from t/make-dryrun.tap header-vars: new variable $(am__running_with_option) tests: expose bug#12554 (false positives for presence of '-k' make option)
| | * subdirs: don't return false positives for the '-k' option's presenceStefano Lattarini2013-04-291-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change fixes automake bug#12554. The old implementation of the code descending into $(SUBDIRS) entries used the following snippet to decide whether make is running with the '-k' a.k.a. '--keep-going' option, and thus whether a failure in a subdirectory should prevent the descent in the following ones: fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done It's clear that the second pattern in the 'case' construct could possibly match false positives, for examples in these two cases: make check TESTS="x.test k.test" make -I /usr/local/kool-fragments which are somewhat unusual, but not invalid. So we need a more resilient implementation, as we did for the detection of the '-n' flag. This implementation is now provided by the new private macro '$(am__make_keepgoing)' (introduced in recent commits); so we can just us that to fix the bug. * lib/am/subdirs.am ($(am__recursive_targets)): Use '$(am__make_keepgoing)' instead of ad-hoc and more brittle checks. * t/list-of-tests.mk (XFAIL_TESTS): Remove the now-passing test case 't/subdir-keep-going-pr12554.sh'. Reported-by: Michael Daniels <mdaniels@rim.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * header-vars: recognize more make flags ('-k' in particular)Stefano Lattarini2013-04-291-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * lib/am/header-vars.am (am__running_with_option): Here. Few improvements to comments, while at it. (am__make_keepgoing): New, tell whther make is being runt with the '-k' option. * t/make-keepgoing.tap: New test. * t/list-of-tests.mk: Add it. * t/make-dryrun.tap: Minor edits to keep it more in sync with the new test. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| | * tests: expose bug#12554 (false positives for presence of '-k' make option)Stefano Lattarini2013-04-291-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current implementation of the code descending into $(SUBDIRS) entries uses the following snippet to decide whether make is running with the '-k' a.k.a. '--keep-going' option, and thus whether a failure in a subdirectory should prevent the descent in the following ones: fail= failcom='exit 1'; \ for f in x $$MAKEFLAGS; do \ case $$f in \ *=* | --[!k]*);; \ *k*) failcom='fail=yes';; \ esac; \ done It's clear that the second pattern in the 'case' construct can possibly match false positives, for examples in these two cases: make check TESTS="x.test k.test" make -I /usr/local/kool-fragments which are somewhat unusual, but not invalid. So we need a more resilient implementation, as we did for the detection of the '-n' flag. But alas, such an implementation seems quite tricky to obtain in portable make. So for the moment we content ourselves with exposing the bug, with the hope of being able to fix soon enough. * t/subdir-keep-going-pr12554.sh: New test. * t/list-of-tests.mk (handwritten_TESTS, XFAIL_TESTS): Add it. * THANKS: Update Reported-by: Michael Daniels <mdaniels@rim.com> Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>