[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [patch 1/2] 307-gary-fix-recursive-ltdl-dist-rules.diff
From: |
Ralf Wildenhues |
Subject: |
Re: [patch 1/2] 307-gary-fix-recursive-ltdl-dist-rules.diff |
Date: |
Thu, 10 Nov 2005 20:37:47 +0100 |
User-agent: |
Mutt/1.5.11 |
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 <address@hidden>
> * 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*