mirror of
git://git.savannah.gnu.org/libtool.git
synced 2024-11-27 06:09:57 +08:00
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.m4sh (TAR): New default tar command. (func_copy_cb): Move the core copying internals to here, using $TAR to transfer files if possible when --copy was specified. (func_copy): Adjust to call func_copy_cb. * TODO: Remember to refactor this fix in due course. Reported by Jeff Squyres <jsquyres@lam-mpi.org>
This commit is contained in:
parent
6408a706d7
commit
99c29a17c4
27
ChangeLog
27
ChangeLog
@ -1,3 +1,16 @@
|
|||||||
|
2005-02-21 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.m4sh (TAR): New default tar command.
|
||||||
|
(func_copy_cb): Move the core copying internals to here, using
|
||||||
|
$TAR to transfer files if possible when --copy was specified.
|
||||||
|
(func_copy): Adjust to call func_copy_cb.
|
||||||
|
* TODO: Remember to refactor this fix in due course.
|
||||||
|
Reported by Jeff Squyres <jsquyres@lam-mpi.org>
|
||||||
|
|
||||||
2005-02-21 Peter O'Gorman <peter@pogma.com>
|
2005-02-21 Peter O'Gorman <peter@pogma.com>
|
||||||
|
|
||||||
* config/ltmain.m4sh (func_extract_archives) [darwin]: This didn't
|
* config/ltmain.m4sh (func_extract_archives) [darwin]: This didn't
|
||||||
@ -14,7 +27,7 @@
|
|||||||
2005-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
2005-02-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||||
|
|
||||||
* config/ltmain.m4sh (func_mode_link): Allow five digits in
|
* config/ltmain.m4sh (func_mode_link): Allow five digits in
|
||||||
version-info.
|
version-info.
|
||||||
|
|
||||||
* NEWS: s/Linux/GNU &/.
|
* NEWS: s/Linux/GNU &/.
|
||||||
|
|
||||||
@ -40,7 +53,7 @@
|
|||||||
|
|
||||||
2005-02-03 Peter O'Gorman <peter@pogma.com>
|
2005-02-03 Peter O'Gorman <peter@pogma.com>
|
||||||
|
|
||||||
* config/ltmain.m4sh [darwin]: Don't add installed libs to
|
* config/ltmain.m4sh [darwin]: Don't add installed libs to
|
||||||
temp_rpath when building executables on darwin, or other systems
|
temp_rpath when building executables on darwin, or other systems
|
||||||
which use hardcode_automatic. It may break our wrapper scripts.
|
which use hardcode_automatic. It may break our wrapper scripts.
|
||||||
|
|
||||||
@ -153,16 +166,16 @@
|
|||||||
|
|
||||||
2005-01-16 Peter O'Gorman <peter@pogma.com>
|
2005-01-16 Peter O'Gorman <peter@pogma.com>
|
||||||
|
|
||||||
* config/ltmain.m4sh (func_mode_link): Don't pass through
|
* config/ltmain.m4sh (func_mode_link): Don't pass through
|
||||||
compiler-like thread flags when using $LD to do the linking.
|
compiler-like thread flags when using $LD to do the linking.
|
||||||
Use compiler_flags instead.
|
Use compiler_flags instead.
|
||||||
Reported by Mark_Andrews@isc.org.
|
Reported by Mark_Andrews@isc.org.
|
||||||
|
|
||||||
* m4/libtool.m4 (LT_CMD_MAX_LEN) [osf]: On Tru64 there could
|
* m4/libtool.m4 (LT_CMD_MAX_LEN) [osf]: On Tru64 there could
|
||||||
be a kernel panic when testing the maximum command line length
|
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*.
|
out on *-osf*.
|
||||||
Reported by Dr. Hans Ekkehard Plesser
|
Reported by Dr. Hans Ekkehard Plesser
|
||||||
<hans.ekkehard.plesser@umb.no>
|
<hans.ekkehard.plesser@umb.no>
|
||||||
|
|
||||||
2005-01-14 Guido Draheim <guidod-2003-@gmx.de> (tiny change)
|
2005-01-14 Guido Draheim <guidod-2003-@gmx.de> (tiny change)
|
||||||
@ -195,8 +208,8 @@
|
|||||||
* config/ltmain.m4sh (func_mode_link): Fix
|
* config/ltmain.m4sh (func_mode_link): Fix
|
||||||
inherited_linker_flags so it puts it on the link line when
|
inherited_linker_flags so it puts it on the link line when
|
||||||
linking shared libraries as well as when linking executables.
|
linking shared libraries as well as when linking executables.
|
||||||
* tests/inherited_flags.at: test inherited_linker_flags.
|
* tests/inherited_flags.at: test inherited_linker_flags.
|
||||||
* tests/Makefile.am: Add test.
|
* tests/Makefile.am: Add test.
|
||||||
* tests/testsuite.at: Add test.
|
* tests/testsuite.at: Add test.
|
||||||
Reported by: Albert Chin-A-Young <china@thewrittenword.com>
|
Reported by: Albert Chin-A-Young <china@thewrittenword.com>
|
||||||
|
|
||||||
|
9
TODO
9
TODO
@ -71,6 +71,13 @@ GNU Libtool
|
|||||||
Also report dlerror() for dlclose and dlsym if available
|
Also report dlerror() for dlclose and dlsym if available
|
||||||
- Make sure that the dependency_libs of a dlpreopened module won't be loaded.
|
- Make sure that the dependency_libs of a dlpreopened module won't be loaded.
|
||||||
|
|
||||||
|
1.3. libtoolize
|
||||||
|
---------------
|
||||||
|
|
||||||
|
* Rewrite the func_copy_* functions so that instead of forking 2 tar
|
||||||
|
processes per copied file, a list of files to copy is built and all
|
||||||
|
files copied with a single pair of tar processes.
|
||||||
|
|
||||||
|
|
||||||
2. In the future
|
2. In the future
|
||||||
================
|
================
|
||||||
@ -237,7 +244,7 @@ GNU Libtool
|
|||||||
it easier to add new platforms.
|
it easier to add new platforms.
|
||||||
|
|
||||||
--
|
--
|
||||||
Copyright (C) 2004 Free Software Foundation, Inc.
|
Copyright (C) 2004, 2005 Free Software Foundation, Inc.
|
||||||
|
|
||||||
The canonical source of this file is maintained with the
|
The canonical source of this file is maintained with the
|
||||||
GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
GNU Libtool package. Report bugs to bug-libtool@gnu.org.
|
||||||
|
@ -5,7 +5,7 @@ m4_divert_push([SCRIPT])#! /bin/sh
|
|||||||
# libtoolize (GNU @PACKAGE@@TIMESTAMP@) @VERSION@
|
# libtoolize (GNU @PACKAGE@@TIMESTAMP@) @VERSION@
|
||||||
# Written by Gary V. Vaughan <gary@gnu.org>, 2003
|
# Written by Gary V. Vaughan <gary@gnu.org>, 2003
|
||||||
|
|
||||||
# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
|
# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
|
||||||
# This is free software; see the source for copying conditions. There is NO
|
# This is free software; see the source for copying conditions. There is NO
|
||||||
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
# warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
||||||
|
|
||||||
@ -66,6 +66,8 @@ $as_unset CDPATH
|
|||||||
|
|
||||||
m4_include([getopt.m4sh])
|
m4_include([getopt.m4sh])
|
||||||
|
|
||||||
|
TAR=tar
|
||||||
|
|
||||||
# Command line options:
|
# Command line options:
|
||||||
opt_force=false
|
opt_force=false
|
||||||
opt_install=false
|
opt_install=false
|
||||||
@ -117,6 +119,7 @@ configure_ac=configure.in
|
|||||||
test -n "$LN_S" && LN_S="$ECHO $LN_S"
|
test -n "$LN_S" && LN_S="$ECHO $LN_S"
|
||||||
CP="$ECHO $CP"
|
CP="$ECHO $CP"
|
||||||
MKDIR="$ECHO $MKDIR"
|
MKDIR="$ECHO $MKDIR"
|
||||||
|
TAR="$ECHO $TAR"
|
||||||
fi
|
fi
|
||||||
libtoolize_flags="${libtoolize_flags} --dry-run"
|
libtoolize_flags="${libtoolize_flags} --dry-run"
|
||||||
;;
|
;;
|
||||||
@ -185,40 +188,70 @@ configure_ac=configure.in
|
|||||||
|
|
||||||
|
|
||||||
# func_copy srcfile destfile
|
# func_copy srcfile destfile
|
||||||
# If option `--copy' was specified, or soft-linking SRCFILE to DESTFILE fails,
|
# A wrapper for func_copy_cb that accepts arguments in the same order
|
||||||
# then try to copy SRCFILE to DESTFILE.
|
# as the cp(1) shell command.
|
||||||
func_copy ()
|
func_copy ()
|
||||||
{
|
{
|
||||||
$opt_debug
|
$opt_debug
|
||||||
my_srcfile="$1"
|
|
||||||
my_destfile="$2"
|
|
||||||
my_return_status=1
|
|
||||||
|
|
||||||
func_mkdir_p `$ECHO "X$my_destfile" | $Xsed -e "$dirname"`
|
test -f "$1" || \
|
||||||
|
{ func_error "\`$1' not copied: not a regular file"; return 1; }
|
||||||
|
|
||||||
|
my_f1=`$ECHO "X$1" | $Xsed -e "$basename"`
|
||||||
|
|
||||||
|
if test -d "$2"; then
|
||||||
|
|
||||||
|
func_copy_cb "$my_f1" `$ECHO "X$1" | $Xsed -e "$dirname"` "$2"
|
||||||
|
|
||||||
$RM "$my_destfile"
|
|
||||||
if $opt_link && $LN_S "$my_srcfile" "$my_destfile"; then
|
|
||||||
$opt_quiet || func_echo "copying file \`$my_destfile'"
|
|
||||||
my_return_status=0
|
|
||||||
elif $CP "$my_srcfile" "$my_destfile"; then
|
|
||||||
$opt_quiet || func_echo "copying file \`$my_destfile'"
|
|
||||||
my_return_status=0
|
|
||||||
else
|
else
|
||||||
func_error "can not copy \`$my_srcfile' to \`$my_destfile'"
|
|
||||||
exit_status=$EXIT_FAILURE
|
# Supporting this would mean changing the timestamp:
|
||||||
|
test "X$my_f1" = X`$ECHO "X$2" | $Xsed -e "$basename"` \
|
||||||
|
|| func_fatal_error "func_copy() cannot change filename on copy"
|
||||||
|
|
||||||
|
func_copy_cb "$my_f1" \
|
||||||
|
`$ECHO "X$1" | $Xsed -e "$dirname"` \
|
||||||
|
`$ECHO "X$2" | $Xsed -e "$dirname"`
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return $my_return_status
|
return $copy_return_status # set in func_copy_cb
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
# func_copy_cb filename srcdir destdir
|
# func_copy_cb filename srcdir destdir
|
||||||
# A wrapper for func_copy that accepts arguments in the order
|
# If option `--copy' was specified, or soft-linking SRCFILE to DESTFILE fails,
|
||||||
# used by func_copy_all_files callbacks.
|
# then try to copy SRCFILE to DESTFILE (without changing the timestamp if
|
||||||
|
# possible).
|
||||||
func_copy_cb ()
|
func_copy_cb ()
|
||||||
{
|
{
|
||||||
$opt_debug
|
$opt_debug
|
||||||
func_copy "$2/$1" "$3/$1"
|
my_file="$1"
|
||||||
|
my_srcdir="$2"
|
||||||
|
my_destdir="$3"
|
||||||
|
copy_return_status=1
|
||||||
|
|
||||||
|
# Libtool is probably misinstalled if this happens:
|
||||||
|
test -f "$my_srcdir/$my_file" || \
|
||||||
|
{ func_error "\`$my_file' not found in \`$my_srcdir'"; return; }
|
||||||
|
|
||||||
|
func_mkdir_p "$my_destdir"
|
||||||
|
|
||||||
|
$RM "$my_destdir/$my_file"
|
||||||
|
if $opt_link && $LN_S "$my_srcdir/$my_file" "$my_destdir/$my_file"; then
|
||||||
|
$opt_quiet || func_echo "copying file \`$my_destdir/$my_file'"
|
||||||
|
copy_return_status=0
|
||||||
|
elif { ( cd "$my_srcdir" && $TAR cf - "$my_file" > /dev/null 2>&1; ) \
|
||||||
|
| ( cd "$my_destdir" && "$TAR" xf - > /dev/null 2>&1; ) } ; then
|
||||||
|
$opt_quiet || func_echo "copying file \`$my_destdir/$my_file'"
|
||||||
|
copy_return_status=0
|
||||||
|
elif $CP -p "$my_srcdir/$my_file" "$my_destdir/$my_file"; then
|
||||||
|
$opt_quiet || func_echo "copying file \`$my_destdir/$my_file'"
|
||||||
|
copy_return_status=0
|
||||||
|
else
|
||||||
|
func_error "can not copy \`$my_srcdir/$my_file' to \`$my_destdir/'"
|
||||||
|
exit_status=$EXIT_FAILURE
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user