libtool-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[patch 1/2] 307-gary-fix-recursive-ltdl-dist-rules.diff


From: Gary V. Vaughan
Subject: [patch 1/2] 307-gary-fix-recursive-ltdl-dist-rules.diff
Date: Thu, 10 Nov 2005 10:35:49 +0000
User-agent: quilt/0.42-1

Okay to commit?

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.

 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
 
 $(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
+    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
     # Unless we share CONFIG_MACRO_DIR with our parent project,
     # copy macros here.
     if test "$ltdldir/m4" != "$m4dir"; then
Index: libtool--devo--1.0/tests/nonrecursive.at
===================================================================
--- libtool--devo--1.0.orig/tests/nonrecursive.at
+++ libtool--devo--1.0/tests/nonrecursive.at
@@ -132,5 +132,29 @@ AT_CHECK([test -f $prefix/include/ltdl.h
 
 AT_CLEANUP
 
+
+## --------------------------------- ##
+## Distributing libtoolized project. ##
+## --------------------------------- ##
+
+AT_SETUP([distributing libltdl])
+
+_LTDL_SETUP
+
+LT_AT_LIBTOOLIZE([--copy --ltdl --install --nonrecursive])
+AT_CHECK([if test -f libltdl/configure.ac; then false; fi])
+
+# Support vanilla autoconf-2.59 & automake-1.9.6
+for file in argz.c lt__dirent.c lt__strl.c; do
+  cp libltdl/$file $file
+done
+
+LT_AT_BOOTSTRAP([ignore], [-I libltdl/m4], [ignore], [--add-missing --copy],
+       [], [], [all distcheck])
+
+AT_CHECK([test -f subdirectory-demo-]AT_PACKAGE_VERSION[.tar.gz])
+
+AT_CLEANUP
+
 dnl Be careful not to let the definition leak into other tests
 m4_popdef([_LTDL_SETUP])
Index: libtool--devo--1.0/tests/recursive.at
===================================================================
--- libtool--devo--1.0.orig/tests/recursive.at
+++ libtool--devo--1.0/tests/recursive.at
@@ -106,5 +106,24 @@ AT_CHECK([test -f $prefix/include/ltdl.h
 
 AT_CLEANUP
 
+
+## --------------------------------- ##
+## Distributing libtoolized project. ##
+## --------------------------------- ##
+
+AT_SETUP([distributing libltdl])
+
+_LTDL_SETUP
+
+LT_AT_LIBTOOLIZE([--copy --ltdl --install --recursive])
+AT_CHECK([if test -f libltdl/configure.ac; then false; fi])
+
+LT_AT_BOOTSTRAP([ignore], [-I ltdl/m4], [ignore], [--add-missing --copy],
+       [], [], [all distcheck])
+
+AT_CHECK([test -f subdirectory-demo-]AT_PACKAGE_VERSION[.tar.gz])
+
+AT_CLEANUP
+
 dnl Be careful not to let the definition leak into other tests
 m4_popdef([_LTDL_SETUP])
Index: libtool--devo--1.0/tests/subproject.at
===================================================================
--- libtool--devo--1.0.orig/tests/subproject.at
+++ libtool--devo--1.0/tests/subproject.at
@@ -95,6 +95,21 @@ AT_CHECK([test -f $prefix/include/ltdl.h
 AT_CLEANUP
 
 
+## --------------------------------- ##
+## Distributing libtoolized project. ##
+## --------------------------------- ##
+
+AT_SETUP([distributing libltdl])
+
+_LTDL_SETUP
+
+LT_AT_BOOTSTRAP([--copy --ltdl --install], [-I sub/ltdl/m4], [ignore],
+       [--add-missing --copy], [], [], [all distcheck])
+
+AT_CHECK([test -f subproject-demo-]AT_PACKAGE_VERSION[.tar.gz])
+
+AT_CLEANUP
+
 ## ----------------------------------------------- ##
 ## libltdl is usable without Autoconf or Automake. ##
 ## ----------------------------------------------- ##
-- 
Gary V. Vaughan      ())_.  address@hidden,gnu.org}
Research Scientist   ( '/   http://tkd.kicks-ass.net
GNU Hacker           / )=   http://www.gnu.org/software/libtool
Technical Author   `(_~)_   http://sources.redhat.com/autobook




reply via email to

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