libtool-patches
[Top][All Lists]
Advanced

[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*




reply via email to

[Prev in Thread] Current Thread [Next in Thread]