summaryrefslogtreecommitdiff
path: root/t
Commit message (Collapse)AuthorAgeFilesLines
* automake: Don't rely on List::Util to provide 'none'Mathieu Lirzin2018-03-082-0/+28
| | | | | | | | | | | | | This change fixes automake bug#30631. This removes the use of List::Util which is not supported by Perl 5.6, by reimplementing the 'none' subroutine. * lib/Automake/General.pm (none): New subroutine. * bin/automake.in (handle_single_transform): Use it. * t/pm/General.pl: New test. * t/list-of-tests.mk (perl_TESTS): Add it. * NEWS: Update.
* tests: Remove tests intended only for the 'next' branchMathieu Lirzin2018-02-252-191/+0
| | | | | | | | | | The commit 199e7a445040270fa5ef67623c56cde40d765199 "Prefer https: URLS" which is a cherry-pick of b09d945b795ab9deed2bc457289cd5f41c506b50 from 'next' to 'master' has mistakenly copied some tests only present on the 'next' branch. * t/am-prog-mkdir-p.sh: Delete. * t/txinfo-no-split.sh: Likewise.
* tests: Don't check 'Getopt::Long' corner casesMathieu Lirzin2018-02-183-14/+3
| | | | | | | | | | | | | | Depending on the installed 'Getopt::Long' perl module, command-line handling may vary a bit. As a consequence we prefer not to check command-line corners cases. This change fixes automake bug#29638. * t/aclocal.sh (am_create_testdir): Don't expect "--versi" to be interpreted as "--version". * t/automake-cmdline.tap: Don't expect "--vers" to be interpreted as "--version" and things after "--" to be interpreted as file arguments. (do_check): Display the actual command output. * t/maken3.sh (check_targets): "--force" is not a documented option, so don't use it.
* tests: Improve comment in 'txinfo-many-output-formats.sh'Mathieu Lirzin2018-01-191-1/+2
| | | | | * t/txinfo-many-output-formats.sh: Explain why AM_MAKEINFOFLAGS is set with an invalid option.
* tests: Distribute DEJATOOL files manuallyMathieu Lirzin2018-01-191-0/+1
| | | | | | | | "t/check12.sh" was failing because files declared in DEJATOOL are not automatically distributed. The test running 'make distcheck' couldn't succeed since some scripts were not distributed. This fixes automake bug#26738. * t/check12.sh (Makefile.am): Distribute files from DEJATOOL.
* tests: Let 'ltorder.sh' run successfully with Guix dynamic loaderMathieu Lirzin2018-01-191-0/+6
| | | | | * t/ltorder.sh: Set GUIX_LD_WRAPPER_ALLOW_IMPURITIES environment variable to unlock the dynamic loader provided by GNU Guix.
* tests: Fix various 'flex' compilation issuesMathieu Lirzin2018-01-193-3/+9
| | | | | | | | | | * t/lex-clean-cxx.sh (parsefoo.lxx): Declare 'yylex': (mainfoo.cc): Make declaration compatible with C++. * t/lex-depend-cxx.sh (joe.ll): Declare 'yylex'. * t/silent-many-languages.sh (Makefile.am, sub/Makefile.am): Link -lfl only with 'fo2' and 'sub/ba2' which are the only program needing it. (foo5.l): Define 'isatty'. (foo6.y): Declare 'yylex'.
* tests: Check GCS conformance of 'aclocal' command-line interfaceMathieu Lirzin2018-01-181-1/+15
| | | | | * t/aclocal.sh: Check that 'aclocal' support the --version and --help command-line options.
* maint: Update copyright years to 2018Mathieu Lirzin2018-01-041287-1287/+1287
| | | | This update has been made with 'make update-copyright'.
* port elisp-compilation support to emacs-23.1 and newerJim Meyering2017-12-162-0/+47
| | | | | | | | | | | | | | | | | In May of 2017, emacs.master support for using the long-deprecated byte-compile-dest-file function was removed, and that removal broke automake's elisp-compiling rule for any .el file not in the current directory. In emacs-23.1 (July 2009) byte-compile-dest-file-function became the recommended way to adjust the byte-compiler's destination. The removed functionality has been restored for Emacs-26, albeit with dissuasive diagnostics warning about the imminent removal of this functionality. It will be removed in Emacs-27. * lib/am/lisp.am (.el.elc): Use byte-compile-dest-file-function, rather than byte-compile-dest-file. Also, use "-f batch-byte-compile '$<'" rather than open-coding it, as suggested by Glenn Morris. * t/lisp-readonly-srcdir.sh: New file, to test for the above. * t/list-of-tests.mk (handwritten_TESTS): Add it. * NEWS (Bugs fixed): Mention this problem.
* "make dist" did not depend on $(BUILT_SOURCES)Jim Meyering2017-11-282-0/+57
| | | | | | | | | | | | | | * lib/am/distdir.am (distdir-am): New intermediate target. Interpose this target between $(distdir) and its dependency on $(DISTFILES), so that we can ensure $(BUILT_SOURCES) are all created before we begin creating $(DISTFILES). * t/dist-vs-built-sources.sh: Test for this. * t/list-of-tests.mk (handwritten_TESTS): Add it. * NEWS (Bugs fixed): Mention it. Assaf Gordon reported that "make dist" (after ./configure from a pristine clone of GNU hello) would fail due to the absence of configmake.h while compiling lib/localcharset.c. https://lists.gnu.org/r/bug-hello/2014-03/msg00016.html
* maint: Make Emacs use 'makefile-automake-mode'Mathieu Lirzin2017-09-231-2/+1
| | | | | | | | | | | * bin/local.mk: Specify mode name in the first line. * contrib/t/local.mk: Likewise. * doc/local.mk: Likewise. * lib/Automake/local.mk: Likewise. * lib/am/local.mk: Likewise. * lib/local.mk: Likewise. * m4/local.mk: Likewise. * t/local.mk: Likewise.
* maint: Configure Emacs automatically with ".dir-locals.el"Mathieu Lirzin2017-09-226-102/+0
| | | | | * .dir-locals.el: New Emacs directory configuration file. All perl files adapted.
* Prefer https: URLsPaul Eggert2017-09-191283-1313/+1502
| | | | | | | | | | | | | | | | | | | | | 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.
* build: Rename "Makefile.inc" Makefile fragments to "local.mk"Mathieu Lirzin2017-08-311-1/+1
| | | | | | | | | | | | | | | | | | | | | | This is done to follow a convention used by a lot of GNU packages. * bin/Makefile.inc: Rename to ... * bin/local.mk: ... this. * doc/Makefile.inc: Rename to ... * doc/local.mk: ... this. * lib/Automake/Makefile.inc: Rename to ... * lib/Automake/local.mk: ... this. * lib/am/Makefile.inc: Rename to ... * lib/am/local.mk: ... this. * lib/Makefile.inc: Rename to ... * lib/local.mk: ... this. * m4/Makefile.inc: Rename to ... * m4/local.mk: ... this. * contrib/t/Makefile.inc: Rename to ... * contrib/t/local.mk: ... this. * t/Makefile.inc: Rename to ... * t/local.mk: ... this. Adapt. * Makefile.am: Adapt.
* aclocal: Support ACLOCAL_AUTOMAKE_DIR environment variableMathieu Lirzin2017-08-312-3/+3
| | | | | | | | | | | | | * bin/aclocal.in: Reset '@automake_includes' and '@system_includes' in for build environment. Allow setting '@automake_includes' with ACLOCAL_AUTOMAKE_DIR environment variable. (parse_arguments): Ignore 'dirlist' when '@system_includes' is empty. * doc/automake.texi (aclocal Options): Document ACLOCAL_AUTOMAKE_DIR. * bin/wrap-aclocal.in: Remove extra command line options. * pre-inst-env.in: Set ACLOCAL_AUTOMAKE_DIR and ACLOCAL_PATH environment variables. * t/ax/test-defs.in: Adapt. * t/ansi2knr-no-more.sh (warn_rx): Likewise.
* build: Use PERL5LIB from 'pre-inst-env' scriptMathieu Lirzin2017-08-291-3/+3
| | | | | | | | | | * bin/aclocal.in: Detect build environment with AUTOMAKE_UNINSTALLED. Let 'PERL5LIB' from 'pre-inst-env' define the perl module directories. * bin/automake.in: Likewise. * bin/wrap-aclocal.in: Don't set 'Automake::perl_libdirs' anymore. * bin/wrap-automake.in: Likewise. * t/Makefile.inc (LOG_COMPILER, PL_LOG_COMPILER): Use 'pre-inst-env'. (AM_PL_LOG_FLAGS): Don't set perl module path.
* build: Move wrapped scripts in "bin" directoryMathieu Lirzin2017-08-295-63/+3
| | | | | | | | | | | | | | | | | | Those scripts are used both in the build process and for the tests, so it seems clearer to not hide them in "t/wrap" directory. * t/wrap/aclocal.in: Rename to ... * bin/wrap-aclocal.in: ... this. * t/wrap/automake.in: Rename to ... * bin/wrap-automake.in: ... this. * configure.ac: Generate "bin/aclocal-${APIVERSION}" and "bin/automake-${APIVERSION}" at configure time. * t/Makefile.inc (nodist_noinst_SCRIPTS): Move wrapped scripts ... * bin/Makefile.inc (nodist_noinst_SCRIPTS): ... here. * Makefile.am (extend_PATH): Use "bin" directory. * t/ax/test-defs.in (am_bindir): Likewise. * t/get-sysconf.sh: Likewise. * .gitignore: Update.
* automake: Ensure that LIBOBJ_DIR builddir is createdMichael Haubenwallner2017-08-222-0/+58
| | | | | | * 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-062-0/+105
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-161282-1308/+1298
|\
| * tests: Never invoke gettextize.Bruno Haible2017-04-161-25/+16
| | | | | | | | | | | | This change fixes automake bug#26514. * t/gettext-macros.sh: Never invoke gettextize.
| * tests: Update "t/txinfo-no-clutter.sh".Mathieu Lirzin2017-04-131-1/+0
| | | | | | | | | | | | | | | | | | | | This is workaround to a regression introduced by 48107579abadbe857c8299c38d2ca0a3f8f354c8. With current "lib/texinfo.tex", 'texi2dvi' is not able to produce a valid output for a Texinfo document containing a @synindex command. As a consequence the test "t/txinfo-no-clutter.sh" was failing. * t/txinfo-no-clutter.sh: Remove use of @synindex command.
| * maint: Update copyright years to 2017.Mathieu Lirzin2017-03-021282-1282/+1282
| | | | | | | | This update has been made with 'make update-copyright'.
* | Merge branch 'micro' into minorPeter Rosin2015-11-243-0/+94
|\ \ | |/ | | | | | | | | | | * 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-243-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
| * tests: fix a typo-induced bugStefano Lattarini2015-01-061-2/+2
| | | | | | | | | | | | | | * t/subobj-vpath-pr13928.sh: Here; we were using $FGREP instead of $EGREP, oops. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | deps: fix corner-case "make distclean" bugStefano Lattarini2015-01-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | compile: don't place built object files in $(srcdir), ever ...Stefano Lattarini2015-01-063-12/+217
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... 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>
* | tests: fix some bugs in an XFAILing testStefano Lattarini2015-01-061-2/+2
| | | | | | | | | | | | | | * t/subobj-vpath-pr13928.sh: This one. The test would have failed (or hung!) even if the bug it was testing against were fixed. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | deps: 'subdir-object' option now works when foo_SOURCES contains $(var)Stefano Lattarini2015-01-0610-31/+61
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-051281-1281/+1281
| | | | Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* Merge branch 'micro' into minorStefano Lattarini2014-12-302-6/+21
|\ | | | | | | | | * micro: shell-no-trail-bslash: improve diagnostic in case of failure
| * shell-no-trail-bslash: improve diagnostic in case of failureStefano Lattarini2014-12-302-6/+21
| | | | | | | | | | | | | | | | | | * t/ax/shell-no-trail-bslash.in: Here, by fixing a typo in a variable name and a logic error. * t/self-check-shell-no-trail-bslash.sh: Enhance to catch the issue. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into minorStefano Lattarini2014-12-282-51/+81
|\ \ | |/ | | | | | | * micro: tests: make script 'shell-no-trail-bslash' simpler and more robust
| * tests: make script 'shell-no-trail-bslash' simpler and more robustStefano Lattarini2014-12-282-53/+83
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This solves spurious failure in the 'check-no-trailing-backslash-in-recipes' target for Automake-NG. This is basically a backport of Automake-NG commit v1.14.1-1010-g85aae58; the point is to minimize the amount of spurious diffs between the mainline Automake and the Automake-NG source trees. * t/ax/shell-no-trail-bslash.in: Simplify and fortify. * t/self-check-shell-no-trail-bslash.sh: Enhance. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into minorStefano Lattarini2014-12-276-21/+45
|\ \ | |/ | | | | | | | | * micro: tests: fix spurious failure in test on TEXINFO_TEX overriding tests: avoid some spurious failures on AIX 7.1
| * tests: fix spurious failure in test on TEXINFO_TEX overridingStefano Lattarini2014-12-271-3/+3
| | | | | | | | | | | | | | | | | | | | * t/txinfo-override-texinfo-tex.sh: Here. The issue was pre-existing, but has been only recently exposed by the fix for automake bug#18286 "distcheck fails to detect missing files" (see commit v1.14.1-4-g01a7a4a) and by the BSD make semantics. To convince yourself this change actually makes sense semantically, see https://sourceware.org/ml/binutils/2012-06/msg00004.html Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * tests: avoid some spurious failures on AIX 7.1Stefano Lattarini2014-12-275-23/+47
| | | | | | | | | | | | | | | | | | | | * t/lex-noyywrap.sh: Here. * t/instmany-mans.sh: And here. * t/instmany-python.sh: And here. * t/instmany.sh: And here. * t/parallel-tests-concurrency.sh: And here. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
* | Merge branch 'micro' into minorStefano Lattarini2014-12-237-16/+140
|\ \ | |/ | | | | | | | | | | | | * 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-236-20/+95
| |\ | | | | | | | | | | | | | | | * 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-236-21/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-232-0/+64
| | | | | | | | | | | | | | | | | | | | | * 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-232-0/+49
| |\ \ | | |/ | | | | | | | | | | | | | | | | | | * 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-232-0/+50
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-227-107/+75
|\ \ \ | |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | * micro: cleanup: refactor code to initialize DIST_COMMON dist: ordering of files in DIST_COMMON is deterministic now tests: refactor some tests on DIST_COMMON maint: make output of 'gen-testsuite-part' deterministic When computing lispdir, don't load emacs site wide init file. PATH: quote $(PATH_SEPARATOR) as well Improve detection of GNU make, avoiding "Arg list too long" errors.
| * | cleanup: refactor code to initialize DIST_COMMONStefano Lattarini2014-12-221-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is not need to make that an Automake variable early, only to later get and munge its contents, and use the new content to redefine the variable. * bin/automake.in (@dist_common): New global variable. (push_dist_common, handle_dist): Use it. (handle_dist): Define am__DIST_COMMON instead of DIST_COMMON directly. (initialize_per_input): Reset it to empty. ($configure_dist_common): Turn this scalar variable ... (@configure_dist_common): ... into this array variable. (handle_dist): Adjust. (required_file_check_or_copy): Update and wrap some comments. * lib/am/distdir.am (DIST_COMMON): Append $(am__DIST_COMMON). * t/distcom2.sh: Tighten a little. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>
| * | tests: refactor some tests on DIST_COMMONStefano Lattarini2014-12-226-111/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | So that they prefer checking the semantics of the generated Makefiles, rather than grepping their content. This will be useful in an upcoming refactoring. * t/distcom-subdir.sh: Adjust this test. * t/distcom2.sh: And this. * t/distcom3.sh: And this. * t/distcom4.sh: And this. * t/distcom5.sh: And this. Signed-off-by: Stefano Lattarini <stefano.lattarini@gmail.com>