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. --- ChangeLog | 10 ++++++++++ NEWS | 4 ++++ automake.in | 9 ++++++++- tests/Makefile.am | 1 - tests/Makefile.in | 9 ++++----- 5 files changed, 26 insertions(+), 7 deletions(-)
diff --git a/ChangeLog b/ChangeLog index 563f91f..5244237 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,15 @@ 2011-10-08 Stefano Lattarini <[email protected]> + 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 <[email protected]> + dist: simplify automake code accordingly to the previous changes After the previous change `v1.11-1219-g326ecba', every Makefile.am requiring a file in the "config auxdir" will cause it to be listed diff --git a/NEWS b/NEWS index 765876d..3921705 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 e3d2b91..9159fc6 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 6918aed..dd07247 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 3436d4e..ecd4bcc 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 \ -- 1.7.2.3
