Hi Gary, * Gary V. Vaughan wrote on Thu, Nov 10, 2005 at 11:35:49AM CET: > Okay to commit?
No. The test suite modifies the source. After a testsuite run, libltdl/Makefile.am will contain, for example, 6 lines of the form: | EXTRA_DIST += ltdl.c and quite a bit of other garbage. > Your wish is my command -- now \(non\)?recursive modes don't blow up the > make dist rule of parent projects. This turned out to be more straight > forward that I had expected, so I went ahead and did it myself. It also > exposes a bug in the testsuite which I'll address in my next patch. Well, for me, | Recursive Automake Libltdl. | 34: distributing libltdl fails because it wants to distribute configure.ac in one run, and Makefile.inc in another, and | Subproject Libltdl. | 25: distributing libltdl FAILED (subproject.at:109) searches for Makefile.inc as well. I assume all followup failures. Since you do `make distcheck' inside our testsuite now, this patch _has_ to go in after undoing the `make -e'. So it needs to come after my patch, or will fail mysteriously in some environments. :) Further nits below. Also, I wonder why you can't just add a LT_AT_MAKE([distcheck]) at the end of the existing tests. That would save a bunch of time, without really less test coverage? Cheers, Ralf > Makefile.am | 10 +++++++++- > libltdl/Makefile.inc | 41 +++++++++++++++++++++++++++++++---------- > libtoolize.m4sh | 13 +++++++++++++ > tests/nonrecursive.at | 24 ++++++++++++++++++++++++ > tests/recursive.at | 19 +++++++++++++++++++ > tests/subproject.at | 15 +++++++++++++++ > 6 files changed, 111 insertions(+), 11 deletions(-) > > Index: libtool--devo--1.0/ChangeLog > from Gary V. Vaughan <[EMAIL PROTECTED]> > * libltdl/Makefile.inc (EXTRA_DIST): Move files that are not > installed unconditionally to a client from here... > * Makefile.am (EXTRA_DIST): ...to here. > * libtoolize.m4sh: Append the paths to installed files to > EXTRA_DIST in newly copied Makefile.am. > * tests/nonrecursive.at, tests/recursive.at, tests/subproject.at: > Add new dist tests to prevent a regression. > > Index: libtool--devo--1.0/Makefile.am > =================================================================== > --- libtool--devo--1.0.orig/Makefile.am > +++ libtool--devo--1.0/Makefile.am > @@ -214,7 +214,6 @@ $(srcdir)/libltdl/Makefile.am: $(srcdir) > $(SED) -n '/^.. DO NOT REMOVE THIS LINE -- /,$$ \ > { s,libltdl_,,; s,libltdl/,,; s,: libltdl/,: ,; \ > s,\$$(libltdl_,$$(,; p; }' $$in >> $$out; > - chmod a-w $(srcdir)/libltdl/Makefile.am Why do you need this? > > $(srcdir)/libltdl/Makefile.in: $(srcdir)/libltdl/Makefile.am > cd $(srcdir)/libltdl && $(AUTOMAKE) Makefile > @@ -229,6 +228,15 @@ all-local: $(srcdir)/libltdl/Makefile.in > > include libltdl/Makefile.inc > > +EXTRA_DIST += libltdl/Makefile.am \ > + libltdl/Makefile.in \ > + libltdl/Makefile.inc \ > + libltdl/config-h.in \ > + libltdl/configure \ > + libltdl/configure.ac \ > + libltdl/aclocal.m4 \ > + libltdl/m4/lt~obsolete.m4 > + > if ! LTDL_SUBDIR_LIBOBJS > ## workaround for Autoconf 2.59, Automake 1.9.6: > ## we include these files twice, because of missing LIBOBJDIR support. > Index: libtool--devo--1.0/libltdl/Makefile.inc > =================================================================== > --- libtool--devo--1.0.orig/libltdl/Makefile.inc > +++ libtool--devo--1.0/libltdl/Makefile.inc > @@ -1,4 +1,4 @@ > -## Makefile.am -- Process this file with automake to produce Makefile.in > +## Makefile.inc -- Process this file with automake to produce Makefile.in > ## > ## Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc. > ## > @@ -117,15 +117,7 @@ CLEANFILES += libltdl/libltdl.la > CLEANFILES += $(LIBOBJS) $(LTLIBOBJS) > > EXTRA_DIST += libltdl/COPYING.LIB \ > - libltdl/Makefile.am \ > - libltdl/Makefile.in \ > - libltdl/Makefile.inc \ > - libltdl/README \ > - libltdl/config-h.in \ > - libltdl/configure \ > - libltdl/configure.ac \ > - libltdl/aclocal.m4 \ > - libltdl/m4/lt~obsolete.m4 > + libltdl/README > > ## --------------------------- ## > ## Gnulib Makefile.am snippets ## > Index: libtool--devo--1.0/libtoolize.m4sh > =================================================================== > --- libtool--devo--1.0.orig/libtoolize.m4sh > +++ libtool--devo--1.0/libtoolize.m4sh > @@ -1066,6 +1066,19 @@ func_nonemptydir_p () > > func_copy_some_files "$pkgltdl_files" "$pkgltdldir/libltdl" "$ltdldir" > > + # Fixup the EXTRA_DIST contents in Makefile.inc if necessary > + my_makefile="$ltdldir/Makefile.am" > + test -f "$ltdldir/Makefile.inc" && my_makefile="$ltdldir/Makefile.inc" > +set -x Remove your debugging traces! ;) (They make tests fail, too) > + my_save_IFS="$IFS" > + IFS=: > + for file in $pkgltdl_files; do > + IFS="$my_save_IFS" > + test nonrecursive = "$ltdl_mode" && file="$ltdldir/$file" > + echo "EXTRA_DIST += $file" >> $my_makefile > + done > + IFS="$my_save_IFS" > +set +x Ditto. > # Unless we share CONFIG_MACRO_DIR with our parent project, > # copy macros here. > if test "$ltdldir/m4" != "$m4dir"; then *snip*