[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[SCM] GNU Libtool branch, sysroot, updated. v2.2.10-92-gd32c96c
From: |
Paolo Bonzini |
Subject: |
[SCM] GNU Libtool branch, sysroot, updated. v2.2.10-92-gd32c96c |
Date: |
Sun, 15 Aug 2010 16:48:54 +0000 |
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Libtool".
The branch, sysroot has been updated
via d32c96ccd6dacf2c60504a6b847e3d82400adfac (commit)
via 55e986b8b4a3582998946c1a13e411d3122a7610 (commit)
via 09a695acf973319b218665d7a3c37f4630c190c6 (commit)
via 5735d4b16d9efb5e6348f7cd2eb348a38395f1fc (commit)
from 8f2fcb912f57135270ee7969dc5e56bca77925fe (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit d32c96ccd6dacf2c60504a6b847e3d82400adfac
Author: Paolo Bonzini <address@hidden>
Date: Wed Aug 11 15:35:54 2010 -0400
add libtool --mode=finish mode for sysroot
* doc/libtool.texi (Finish mode): Document behavior when *.la files
are passed.
* libltdl/config/ltmain.m4sh (func_mode_finish): Eliminate sysroot
or `=' signs representing it from files in $libs.
* tests/sysroot.at (SYSROOT_TESTS): Test for presence of sysroot
references before running libtool --mode=finish, and for absence
afterwards.
commit 55e986b8b4a3582998946c1a13e411d3122a7610
Author: Paolo Bonzini <address@hidden>
Date: Wed Aug 11 15:10:50 2010 -0400
reorganize parsing of --mode=finish arguments
* libltdl/config/ltmain.m4sh (func_mode_finish): Split arguments for
directories and *.la files.
commit 09a695acf973319b218665d7a3c37f4630c190c6
Author: Paolo Bonzini <address@hidden>
Date: Thu Aug 12 12:06:07 2010 -0400
fix sysroot handling for deplibs of preopened libtool libs
* libltdl/config/ltmain.m4sh: Pass $dependency_libs of preopened libtool
through func_resolve_sysroot.
commit 5735d4b16d9efb5e6348f7cd2eb348a38395f1fc
Author: Paolo Bonzini <address@hidden>
Date: Thu Aug 12 21:04:06 2010 -0400
fix sysroot tests to pass on Fedora 13
* tests/sysroot.at: Link $prefix/include into the sysroot as well, as
required by newer GCC.
-----------------------------------------------------------------------
Summary of changes:
doc/libtool.texi | 18 ++++--
libltdl/config/ltmain.m4sh | 131 ++++++++++++++++++++++++++++----------------
tests/sysroot.at | 5 +-
3 files changed, 100 insertions(+), 54 deletions(-)
diff --git a/doc/libtool.texi b/doc/libtool.texi
index 914bd1d..4b256bf 100644
--- a/doc/libtool.texi
+++ b/doc/libtool.texi
@@ -1721,12 +1721,18 @@ commands are also completed.
@cindex finish mode
@cindex mode, finish
address@hidden mode helps system administrators install libtool libraries
-so that they can be located and linked into user programs.
-
-Each @var{mode-arg} is interpreted as the name of a library directory.
-Running this command may require superuser privileges, so the
address@hidden option may be useful.
address@hidden mode has two functions. One is to help system administrators
+install libtool libraries so that they can be located and linked into
+user programs. To invoke this functionality, pass the name of a library
+directory as @var{mode-arg}. Running this command may require superuser
+privileges, and the @option{--dry-run} option may be useful.
+
+The second is to facilitate transferring libtool libraries to a native
+compilation environment after they were built in a cross-compilation
+environment. Cross-compilation environments may rely on recent libtool
+features, and running libtool in finish mode will make it easier to
+work with older versions of libtool. This task is performed whenever
+the @var{mode-arg} is a @samp{.la} file.
@node Uninstall mode
@section Uninstall mode
diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh
index 3888cb0..d29fd5d 100644
--- a/libltdl/config/ltmain.m4sh
+++ b/libltdl/config/ltmain.m4sh
@@ -1397,15 +1397,49 @@ test "$opt_mode" = execute && func_mode_execute
${1+"$@"}
func_mode_finish ()
{
$opt_debug
- libdirs="$nonopt"
+ libs=
+ libdirs=
admincmds=
- if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
- for dir
- do
- func_append libdirs " $dir"
+ for opt in "$nonopt" ${1+"$@"}
+ do
+ if test -d "$opt"; then
+ func_append libdirs " $opt"
+
+ elif test -f "$opt"; then
+ if func_lalib_unsafe_p "$opt"; then
+ func_append libs " $opt"
+ else
+ func_warning "\`$opt' is not a valid libtool archive"
+ fi
+
+ else
+ func_fatal_error "invalid argument \`$opt'"
+ fi
+ done
+
+ if test -n "$libs"; then
+ tmpdir=`func_mktempdir`
+ if test -n "$lt_sysroot"; then
+ sysroot_regex=`$ECHO "$lt_sysroot" | $SED 's/[].[^$\\*|]/\\\\&/g'`
+ sysroot_cmd="s|\([ ']\)$sysroot_regex|\1|g;"
+ else
+ sysroot_cmd=
+ fi
+
+ # Remove sysroot references
+ for lib in $libs; do
+ $opt_dry_run || {
+ sed -e "${sysroot_cmd} s/\([ ']-[LR]\)=/\1/g; s/\([ ']\)=/\1/g" $lib \
+ > $tmpdir/tmp-la
+ mv -f $tmpdir/tmp-la $lib
+ }
+ file="$outputname"
done
+ $opt_dry_run || ${RM}r "$tmpdir"
+ fi
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
for libdir in $libdirs; do
if test -n "$finish_cmds"; then
# Do each command in the finish commands.
@@ -1424,49 +1458,51 @@ func_mode_finish ()
# Exit here if they wanted silent mode.
$opt_silent && exit $EXIT_SUCCESS
- echo
"----------------------------------------------------------------------"
- echo "Libraries have been installed in:"
- for libdir in $libdirs; do
- $ECHO " $libdir"
- done
- echo
- echo "If you ever happen to want to link against installed libraries"
- echo "in a given directory, LIBDIR, you must either use libtool, and"
- echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
- echo "flag during linking and do at least one of the following:"
- if test -n "$shlibpath_var"; then
- echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
- echo " during execution"
- fi
- if test -n "$runpath_var"; then
- echo " - add LIBDIR to the \`$runpath_var' environment variable"
- echo " during linking"
- fi
- if test -n "$hardcode_libdir_flag_spec"; then
- libdir=LIBDIR
- eval flag=\"$hardcode_libdir_flag_spec\"
+ if test -n "$finish_cmds$finish_eval" && test -n "$libdirs"; then
+ echo
"----------------------------------------------------------------------"
+ echo "Libraries have been installed in:"
+ for libdir in $libdirs; do
+ $ECHO " $libdir"
+ done
+ echo
+ echo "If you ever happen to want to link against installed libraries"
+ echo "in a given directory, LIBDIR, you must either use libtool, and"
+ echo "specify the full pathname of the library, or use the \`-LLIBDIR'"
+ echo "flag during linking and do at least one of the following:"
+ if test -n "$shlibpath_var"; then
+ echo " - add LIBDIR to the \`$shlibpath_var' environment variable"
+ echo " during execution"
+ fi
+ if test -n "$runpath_var"; then
+ echo " - add LIBDIR to the \`$runpath_var' environment variable"
+ echo " during linking"
+ fi
+ if test -n "$hardcode_libdir_flag_spec"; then
+ libdir=LIBDIR
+ eval flag=\"$hardcode_libdir_flag_spec\"
- $ECHO " - use the \`$flag' linker flag"
- fi
- if test -n "$admincmds"; then
- $ECHO " - have your system administrator run these commands:$admincmds"
- fi
- if test -f /etc/ld.so.conf; then
- echo " - have your system administrator add LIBDIR to
\`/etc/ld.so.conf'"
- fi
- echo
+ $ECHO " - use the \`$flag' linker flag"
+ fi
+ if test -n "$admincmds"; then
+ $ECHO " - have your system administrator run these
commands:$admincmds"
+ fi
+ if test -f /etc/ld.so.conf; then
+ echo " - have your system administrator add LIBDIR to
\`/etc/ld.so.conf'"
+ fi
+ echo
- echo "See any operating system documentation about shared libraries for"
- case $host in
- solaris2.[6789]|solaris2.1[0-9])
- echo "more information, such as the ld(1), crle(1) and ld.so(8) manual"
- echo "pages."
- ;;
- *)
- echo "more information, such as the ld(1) and ld.so(8) manual pages."
- ;;
- esac
- echo
"----------------------------------------------------------------------"
+ echo "See any operating system documentation about shared libraries for"
+ case $host in
+ solaris2.[6789]|solaris2.1[0-9])
+ echo "more information, such as the ld(1), crle(1) and ld.so(8)
manual"
+ echo "pages."
+ ;;
+ *)
+ echo "more information, such as the ld(1) and ld.so(8) manual pages."
+ ;;
+ esac
+ echo
"----------------------------------------------------------------------"
+ fi
exit $EXIT_SUCCESS
}
@@ -4964,8 +5000,9 @@ func_mode_link ()
for lib in $dlprefiles; do
# Ignore non-libtool-libs
dependency_libs=
+ func_resolve_sysroot "$lib"
case $lib in
- *.la) func_source "$lib" ;;
+ *.la) func_source "$func_resolve_sysroot_result" ;;
esac
# Collect preopened libtool deplibs, except any this library
diff --git a/tests/sysroot.at b/tests/sysroot.at
index 850e0cd..c0ac6d1 100644
--- a/tests/sysroot.at
+++ b/tests/sysroot.at
@@ -54,7 +54,7 @@ local_dirname() {
}
AT_CHECK([
-(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/lib" \! -type d) | \
+(cd "$gcc_sysroot" && find ".$prefix/bin" ".$prefix/include" ".$prefix/lib" \!
-type d) | \
while read file; do
dir=`local_dirname "$sysroot/$file"`
test -d "$dir" || mkdir -p "$dir"
@@ -186,6 +186,9 @@ LT_AT_BOOTSTRAP([], [-I $abs_top_srcdir/libltdl/m4],
[ignore],
AT_CHECK([$MAKE install DESTDIR=$sysroot], [0], [ignore], [ignore])
AT_CHECK([test -f $sysroot/$prefix/bin/prog$EXEEXT])
AT_CHECK([grep -F "$sysroot" "$sysroot/$prefix/bin/prog$EXEEXT"], [1])
+AT_CHECK([grep "'.*=" $sysroot/$prefix/lib/lib2.la], [0], [ignore])
+AT_CHECK([./libtool --mode=finish $sysroot/$prefix/lib/lib@<:@12@:>@.la], [0],
[ignore])
+AT_CHECK([grep "'.*=" $sysroot/$prefix/lib/lib@<:@12@:>@.la], [1])
# missing tests
# 1) pass absolute .la files
hooks/post-receive
--
GNU Libtool
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [SCM] GNU Libtool branch, sysroot, updated. v2.2.10-92-gd32c96c,
Paolo Bonzini <=