]> git.ipfire.org Git - thirdparty/libtool.git/commitdiff
Using `libtoolize --copy --ltdl' was not preserving timestamps, so
authorGary V. Vaughan <gary@gnu.org>
Thu, 24 Feb 2005 12:06:04 +0000 (12:06 +0000)
committerGary V. Vaughan <gary@gnu.org>
Thu, 24 Feb 2005 12:06:04 +0000 (12:06 +0000)
parts of the autoconf bootstrap would be rerun spuriously after
the files had been copied into the source tree:

* libtoolize.in: Use $tar to copy files to preserve timestamps.
(tar): New default tar command.
(cp): Use -p to try and preserve timestamps.
* libltdl/Makefile.am (ltdldatadir): Installation destination for
libltdl sources.
(install-data-local): New rule to install libltdl tree with tar to
preserve timestamps.
(local-install-files): Removed.
Reported by Jeff Squyres <jsquyres@lam-mpi.org>

ChangeLog
libltdl/Makefile.am
libtoolize.in

index 9a87ac980b8a8e13dcb7f28ff6dec89a53ab74ad..904ffcd7002cda4aca091df598774eb134558b7b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+2005-02-24  Gary V. Vaughan  <gary@gnu.org>
+
+       Using `libtoolize --copy --ltdl' was not preserving timestamps, so
+       parts of the autoconf bootstrap would be rerun spuriously after
+       the files had been copied into the source tree:
+
+       * libtoolize.in: Use $tar to copy files to preserve timestamps.
+       (tar): New default tar command.
+       (cp): Use -p to try and preserve timestamps.
+       * libltdl/Makefile.am (ltdldatadir): Installation destination for
+       libltdl sources.
+       (install-data-local): New rule to install libltdl tree with tar to
+       preserve timestamps.
+       (local-install-files): Removed.
+       Reported by Jeff Squyres <jsquyres@lam-mpi.org>
+
 2005-02-12  Alexandre Duret-Lutz  <adl@gnu.org>,
            Peter O'Gorman  <peter@pogma.com>
 
@@ -45,7 +61,7 @@
 
 2005-02-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
-       * ltmain.in (link mode): Allow five digits in version-info 
+       * ltmain.in (link mode): Allow five digits in version-info
 
        * NEWS: s/Linux/GNU &/.
 
        symmetry.
 
 2005-01-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
-       
+
        * libltdl.c (try_dlopen): Fix memleak.
        Savannah BTS patch #3670 by Lennart Poettering.
 
 2005-01-16  Peter O'Gorman  <peter@pogma.com>
 
        * ltmain.in: Don't pass through compiler-like thread flags when
-       using $LD to do the linking. Use compiler_flags instead. 
+       using $LD to do the linking. Use compiler_flags instead.
        Reported by Mark_Andrews@isc.org.
 
        * libtool.m4 (LT_CMD_MAX_LEN) [osf]: On Tru64 there could
        be a kernel panic when testing the maximum command line length
-       if exec_disable_arg_limit=1. Don't do the tests to figure it 
+       if exec_disable_arg_limit=1. Don't do the tests to figure it
        out on *-osf*.
-       Reported by Dr. Hans Ekkehard Plesser 
+       Reported by Dr. Hans Ekkehard Plesser
        <hans.ekkehard.plesser@umb.no>
 
 2005-01-14  Guido Draheim  <guidod-2003-@gmx.de>  (tiny change)
index 0a93317884076da5e3fa4d09aa0ad7d0f9b2f89c..3c4e604adb79e90451ed9b5fdfd2a8e04a976dc5 100644 (file)
@@ -31,21 +31,11 @@ $(libltdl_la_OBJECTS) $(libltdlc_la_OBJECTS): libtool
 libtool: $(LIBTOOL_DEPS)
        $(SHELL) ./config.status --recheck
 
-## This allows us to install libltdl without using ln and without creating
-## a world writeable directory.
-## FIXME:  Remove this rule once automake can do this properly by itself.
-local-install-files: $(DISTFILES)
-       -rm -rf $(DESTDIR)$(datadir)/libtool/libltdl
-       $(mkinstalldirs) $(DESTDIR)$(datadir)/libtool/libltdl
-       @for file in $(DISTFILES); do \
-         case $$file in \
-           $(srcdir)/*) file=`echo "$$file" | sed "s|^$(srcdir)/||"`;; \
-         esac; \
-         d=$(srcdir); \
-         if test -d $$d/$$file; then \
-           cp -r $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file; \
-         else \
-           test -f $(DESTDIR)$(datadir)/libtool/libltdl/$$file \
-           || cp $$d/$$file $(DESTDIR)$(datadir)/libtool/libltdl/$$file || :; \
-         fi; \
-       done
+## To avoid spurious reconfiguration when the user installs these files
+## with libtoolize, we have to preserve their timestamps carefully:
+ltdldatadir = $(datadir)/libtool/libltdl
+install-data-local:
+       -rm -rf $(DESTDIR)$(ltdldatadir)
+       $(mkinstalldirs) $(DESTDIR)$(ltdldatadir)
+       $(AMTAR) cf - $(DISTFILES) \
+         | ( cd $(DESTDIR)$(ltdldatadir) && $(AMTAR) xf -; )
index 8eaae01fab90b9948397b779e701e741d764729d..5efcc8f60b616c2acbf73fe3b32d0251942467e7 100644 (file)
@@ -1,7 +1,7 @@
 #! /bin/sh
 # libtoolize - Prepare a package to use libtool.
 # @configure_input@
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2005
 # Free Software Foundation, Inc.
 # Originally by Gordon Matzigkeit <gord@gnu.ai.mit.edu>, 1996
 #
@@ -46,8 +46,9 @@ dry_run=no
 help="Try \`$progname --help' for more information."
 rm="rm -f"
 ln_s="@LN_S@"
-cp="cp -f"
+cp="cp -f -p"
 mkdir="mkdir"
+tar="tar"
 
 # Global variables.
 automake=
@@ -114,6 +115,7 @@ EOF
       test -n "$ln_s" && ln_s="echo $ln_s"
       cp="echo $cp"
       mkdir="echo mkdir"
+      tar="echo $tar"
     fi
     ;;
 
@@ -291,6 +293,8 @@ for file in $ltdlfiles; do
 
   $rm $file
   if test -n "$ln_s" && $ln_s $pkgdatadir/$file $file; then :
+  elif { ( cd $pkgdatadir && $tar cf - $file 2> /dev/null; ) \
+      | $tar xf - > /dev/null 2>&1; } ; then :
   elif $cp $pkgdatadir/$file $file; then :
   else
     echo "$progname: cannot copy \`$pkgdatadir/$file' to \`$file'" 1>&2
@@ -308,7 +312,9 @@ if test "x$ltdl_tar" = x"yes"; then
     $mkdir libltdl
     ltdlfiles=`cd $pkgdatadir && ls libltdl/*`
     for file in $ltdlfiles; do
-      if $cp $pkgdatadir/$file $file; then :
+      if { ( cd $pkgdatadir && $tar cf - $file 2> /dev/null; ) \
+          | $tar xf - > /dev/null 2>&1; } ; then :
+      elif $cp $pkgdatadir/$file $file; then :
       else
        echo "$progname: cannot copy \`$pkgdatadir/$file' to \`$file'" 1>&2
        status=1
@@ -316,7 +322,9 @@ if test "x$ltdl_tar" = x"yes"; then
       fi
     done
     for file in $files; do
-      if $cp $pkgdatadir/$file libltdl/$file; then :
+      if { ( cd $pkgdatadir && $tar cf - $file 2> /dev/null; ) \
+          | ( cd libltdl && $tar xf - > /dev/null 2>&1; ) } ; then :
+      elif $cp $pkgdatadir/$file libltdl/$file; then :
       else
        echo "$progname: cannot copy \`$pkgdatadir/$file' to \`libltdl/$file'" 1>&2
        status=1
@@ -343,6 +351,8 @@ for file in $files; do
 
   $rm $file
   if test -n "$ln_s" && $ln_s $pkgdatadir/$file $file; then :
+  elif { ( cd $pkgdatadir && $tar cf - $file 2> /dev/null; ) \
+      | $tar xf - > /dev/null 2>&1; } ; then :
   elif $cp $pkgdatadir/$file $file; then :
   else
     echo "$progname: cannot copy \`$pkgdatadir/$file' to \`$file'" 1>&2