From: Stefano Lattarini Date: Thu, 6 Oct 2011 11:20:57 +0000 (+0200) Subject: dist: truly always distribute files in AC_REQUIRE_AUX_FILE X-Git-Tag: ng-0.5a~89^2~27^2^2~6 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=dccae6a9e49b6554b5026883ce0fc38136e59d53;p=thirdparty%2Fautomake.git dist: truly always distribute files in AC_REQUIRE_AUX_FILE This change fixes automake bug#9651. * automake.in (handle_dist): Files whose distribution is required by configure.ac are now correctly distributed even if the build-aux directory coincides with the top-level directory. * tests/Makefile.am (XFAIL_TESTS): Remove `dist-auxfile.test'. * NEWS: Update. --- diff --git a/ChangeLog b/ChangeLog index 563f91fa3..524423779 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-10-08 Stefano Lattarini + + dist: truly always distribute files in AC_REQUIRE_AUX_FILE + This change fixes automake bug#9651. + * automake.in (handle_dist): Files whose distribution is required + by configure.ac are now correctly distributed even if the build-aux + directory coincides with the top-level directory. + * tests/Makefile.am (XFAIL_TESTS): Remove `dist-auxfile.test'. + * NEWS: Update. + 2011-10-08 Stefano Lattarini dist: simplify automake code accordingly to the previous changes diff --git a/NEWS b/NEWS index 765876d26..392170599 100644 --- a/NEWS +++ b/NEWS @@ -182,6 +182,10 @@ Bugs fixed in 1.11a: * Long standing bugs: + - Files listed with the AC_REQUIRE_AUX_FILE macro in configure.ac are + now automatically distributed also if the directory of the auxiliary + files coincides with the top-level directory. + - "make distcheck" now correctly complains also when "make uninstall" leaves one and only one file installed in $(prefix). diff --git a/automake.in b/automake.in index e3d2b9133..9159fc6c2 100644 --- a/automake.in +++ b/automake.in @@ -3830,12 +3830,19 @@ sub handle_dist () # directory, we would have discovered it already, so we don't # check that. But if the file is in a subdir without a Makefile, # we want to distribute it here if we are doing `.'. Ugly! + # Also, in some corner cases, it's possible that the following code + # will cause the same file to appear in the $(DIST_COMMON) variables + # of two distinct Makefiles; but this is not a problem, since the + # `distdir' target in `lib/am/distdir.am' can deal with the same + # file being distributed multiple times. + # See also automake bug#9651. if ($relative_dir eq '.') { foreach my $file (split (' ' , $configure_dist_common)) { + my $dir = dirname ($file); push_dist_common ($file) - unless is_make_dir (dirname ($file)); + if ($dir eq '.' || ! is_make_dir ($dir)); } } diff --git a/tests/Makefile.am b/tests/Makefile.am index 6918aed76..dd07247ff 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -27,7 +27,6 @@ XFAIL_TESTS = \ all.test \ auxdir2.test \ cond17.test \ -dist-auxfile.test \ gcj6.test \ override-conditional-2.test \ parallel-am.test \ diff --git a/tests/Makefile.in b/tests/Makefile.in index 3436d4e41..ecd4bcc7e 100644 --- a/tests/Makefile.in +++ b/tests/Makefile.in @@ -294,11 +294,10 @@ EXTRA_DIST = ChangeLog-old gen-parallel-tests instspc-tests.sh \ trivial-test-driver testsuite-summary-checks.sh \ extract-testsuite-summary tap-setup.sh tap-summary-aux.sh \ distcheck-hook-m4.am -XFAIL_TESTS = all.test auxdir2.test cond17.test dist-auxfile.test \ - gcj6.test override-conditional-2.test parallel-am.test \ - java-nobase.test pr8365-remake-timing.test \ - yacc-dist-nobuild-subdir.test vala-vpath.test txinfo5.test \ - $(instspc_xfail_tests) +XFAIL_TESTS = all.test auxdir2.test cond17.test gcj6.test \ + override-conditional-2.test parallel-am.test java-nobase.test \ + pr8365-remake-timing.test yacc-dist-nobuild-subdir.test \ + vala-vpath.test txinfo5.test $(instspc_xfail_tests) parallel_tests = check-concurrency-bug9245-p.test \ check-exported-srcdir-p.test check-fd-redirect-p.test \ check-tests-in-builddir-p.test check-p.test check11-p.test \