libtool-2.2.2: Cleanup patches

git-svn-id: https://svn.o-hand.com/repos/poky/trunk@4403 311d38ba-8fff-0310-9ca6-ca027cbcb966
This commit is contained in:
Richard Purdie
2008-05-01 20:53:24 +00:00
parent 1122b0093f
commit eaf9aa4cc1
11 changed files with 135 additions and 129 deletions

View File

@@ -0,0 +1,68 @@
From 92e15986a43a8009decffc4d5d290272449487a4 Mon Sep 17 00:00:00 2001
From: Peter O'Gorman <peter@pogma.com>
Date: Thu, 1 May 2008 12:40:24 -0500
Subject: [PATCH] Use AC_CHECK_TOOL for otool and otool64.
* libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check.
* libltdl/config/ltmain.m4sh (func_mode_link): Use.
Reported by Richard Purdie <rpurdie@rpsys.net>
---
ChangeLog | 7 +++++++
libltdl/config/ltmain.m4sh | 6 ++----
libltdl/m4/libtool.m4 | 6 ++++++
3 files changed, 15 insertions(+), 4 deletions(-)
Index: libtool-2.2.2/ChangeLog
===================================================================
--- libtool-2.2.2.orig/ChangeLog 2008-05-01 21:34:42.000000000 +0100
+++ libtool-2.2.2/ChangeLog 2008-05-01 21:35:47.000000000 +0100
@@ -1,3 +1,10 @@
+2008-05-01 Peter O'Gorman <peter@pogma.com>
+
+ Use AC_CHECK_TOOL for otool and otool64.
+ * libltdl/m4/libtool.m4 (_LT_REQUIRED_DARWIN_CHECKS): Check.
+ * libltdl/config/ltmain.m4sh (func_mode_link): Use.
+ Reported by Richard Purdie <rpurdie@rpsys.net>
+
2008-04-01 Gary V. Vaughan <gary@gnu.arg>
GNU Libtool 2.2.2 was released.
Index: libtool-2.2.2/libltdl/config/ltmain.m4sh
===================================================================
--- libtool-2.2.2.orig/libltdl/config/ltmain.m4sh 2008-05-01 21:34:42.000000000 +0100
+++ libtool-2.2.2/libltdl/config/ltmain.m4sh 2008-05-01 21:34:48.000000000 +0100
@@ -4961,11 +4961,9 @@
done
if test -f "$absdir/$objdir/$depdepl" ; then
depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`otool -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
- darwin_install_name=`$ECHO $darwin_install_name`
+ darwin_install_name=`${OTOOL} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}`
if test -z "$darwin_install_name"; then
- darwin_install_name=`otool64 -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
- darwin_install_name=`$ECHO $darwin_install_name`
+ darwin_install_name=`${OTOOL64} -L $depdepl | awk '{if (NR == 2) {print $1;exit}}`
fi
compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"
linker_flags="$linker_flags -dylib_file ${darwin_install_name}:${depdepl}"
Index: libtool-2.2.2/libltdl/m4/libtool.m4
===================================================================
--- libtool-2.2.2.orig/libltdl/m4/libtool.m4 2008-05-01 21:34:42.000000000 +0100
+++ libtool-2.2.2/libltdl/m4/libtool.m4 2008-05-01 21:36:48.000000000 +0100
@@ -893,10 +893,16 @@
rhapsody* | darwin*)
AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
+ AC_CHECK_TOOL([OTOOL], [otool], [:])
+ AC_CHECK_TOOL([OTOOL64], [otool64], [:])
_LT_DECL([], [DSYMUTIL], [1],
[Tool to manipulate archived DWARF debug symbol files on Mac OS X])
_LT_DECL([], [NMEDIT], [1],
[Tool to change global to local symbols on Mac OS X])
+ _LT_DECL([], [OTOOL], [1],
+ [ldd/readelf like tool for Mach-O binaries on Mac OS X])
+ _LT_DECL([], [OTOOL64], [1],
+ [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
[lt_cv_apple_cc_single_mod=no

View File

@@ -0,0 +1,55 @@
Tweaks to make cross-compiling work combined and updated from various
older patches, some by Chris Larson.
Not upstreable in this form.
RP - 01/05/2008
Index: libtool-2.2.2/libltdl/config/ltmain.m4sh
===================================================================
--- libtool-2.2.2.orig/libltdl/config/ltmain.m4sh 2008-05-01 21:48:42.000000000 +0100
+++ libtool-2.2.2/libltdl/config/ltmain.m4sh 2008-05-01 21:51:41.000000000 +0100
@@ -4454,8 +4454,14 @@
absdir="$abs_ladir"
libdir="$abs_ladir"
else
- dir="$libdir"
- absdir="$libdir"
+ # Adding 'libdir' from the .la file to our library search paths
+ # breaks crosscompilation horribly. We cheat here and don't add
+ # it, instead adding the path where we found the .la. -CL
+ dir="$abs_ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ #dir="$libdir"
+ #absdir="$libdir"
fi
test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
else
@@ -4825,8 +4831,6 @@
add="$libdir/$linklib"
fi
else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case $libdir in
@@ -4972,7 +4976,17 @@
fi
;;
*)
- path="-L$absdir/$objdir"
+ # OE sets installed=no in staging. We need to look in $objdir and $absdir,
+ # preferring $objdir. RP 31/04/2008
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ path="-L$absdir/$objdir"
+ elif test -f "$absdir/$depdepl" ; then
+ depdepl="$absdir/$depdepl"
+ path="-L$absdir"
+ else
+ path="-L$absdir/$objdir"
+ fi
;;
esac
else

View File

@@ -1,17 +0,0 @@
Index: libtool-2.2.2/libltdl/config/ltmain.m4sh
===================================================================
--- libtool-2.2.2.orig/libltdl/config/ltmain.m4sh 2008-05-01 12:19:37.000000000 +0100
+++ libtool-2.2.2/libltdl/config/ltmain.m4sh 2008-05-01 12:29:05.000000000 +0100
@@ -4965,10 +4965,10 @@
done
if test -f "$absdir/$objdir/$depdepl" ; then
depdepl="$absdir/$objdir/$depdepl"
- darwin_install_name=`otool -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
+ darwin_install_name=`$host-otool -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
darwin_install_name=`$ECHO $darwin_install_name`
if test -z "$darwin_install_name"; then
- darwin_install_name=`otool64 -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
+ darwin_install_name=`$host-otool64 -L $depdepl | $SED -n -e '3q;2,2p' | $SED -e 's/(.*//'`
darwin_install_name=`$ECHO $darwin_install_name`
fi
compiler_flags="$compiler_flags ${wl}-dylib_file ${wl}${darwin_install_name}:${depdepl}"

View File

@@ -1,56 +0,0 @@
Index: libtool-2.2.2/libltdl/config/ltmain.m4sh
===================================================================
--- libtool-2.2.2.orig/libltdl/config/ltmain.m4sh 2008-04-02 01:20:54.000000000 +0100
+++ libtool-2.2.2/libltdl/config/ltmain.m4sh 2008-04-13 22:32:15.000000000 +0100
@@ -4453,8 +4453,14 @@
absdir="$abs_ladir"
libdir="$abs_ladir"
else
- dir="$libdir"
- absdir="$libdir"
+ # Adding 'libdir' from the .la file to our library search paths
+ # breaks crosscompilation horribly. We cheat here and don't add
+ # it, instead adding the path where we found the .la. -CL
+ dir="$abs_ladir"
+ absdir="$abs_ladir"
+ libdir="$abs_ladir"
+ #dir="$libdir"
+ #absdir="$libdir"
fi
test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
else
@@ -4973,10 +4979,22 @@
fi
;;
*)
- path="-L$absdir/$objdir"
+ # OE sets installed=no in staging. We need to look in $objdir and $absdir,
+ # preferring $objdir. RP 31/04/2008
+ if test -f "$absdir/$objdir/$depdepl" ; then
+ depdepl="$absdir/$objdir/$depdepl"
+ path="-L$absdir/$objdir"
+ elif test -f "$absdir/$depdepl" ; then
+ depdepl="$absdir/$depdepl"
+ path="-L$absdir"
+ else
+ path="-L$absdir/$objdir"
+ fi
;;
esac
else
+ # This would break cross compiling if we didn't change to installed=no in
+ # staging. RP 31/04/2008
eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
test -z "$libdir" && \
func_fatal_error "\`$deplib' is not a valid libtool archive"
@@ -7046,6 +7064,10 @@
# Replace all uninstalled libtool libraries with the installed ones
newdependency_libs=
for deplib in $dependency_libs; do
+ # Replacing uninstalled with installed can easily break crosscompilation,
+ # since the installed path is generally the wrong architecture. -CL
+ # newdependency_libs="$newdependency_libs $deplib"
+ # continue
case $deplib in
*.la)
func_basename "$deplib"

View File

@@ -1,11 +0,0 @@
--- libtool-2.2.2/libltdl/config/ltmain.m4sh.orig
+++ libtool-2.2.2/libltdl/config/ltmain.m4sh
@@ -2637,8 +2637,6 @@
add="$libdir/$linklib"
fi
else
- # We cannot seem to hardcode it, guess we'll fake it.
- add_dir="-L$libdir"
# Try looking first in the location we're being installed to.
if test -n "$inst_prefix_dir"; then
case "$libdir" in

View File

@@ -1,3 +1,6 @@
Renames "libtool" -> "${TARGET_PREFIX}libtool" which makes sure
it can't be confused with the host libtool.
Index: libtool-2.2.2/libltdl/m4/libtool.m4
===================================================================
--- libtool-2.2.2.orig/libltdl/m4/libtool.m4 2008-04-13 22:43:05.000000000 +0100

View File

@@ -1,14 +0,0 @@
Index: libtool-2.2.2/libltdl/config/ltmain.m4sh
===================================================================
--- libtool-2.2.2.orig/libltdl/config/ltmain.m4sh 2008-04-13 22:40:30.000000000 +0100
+++ libtool-2.2.2/libltdl/config/ltmain.m4sh 2008-04-13 23:36:53.000000000 +0100
@@ -842,7 +842,8 @@
# line option must be used.
if test -z "$tagname"; then
func_echo "unable to infer tagged configuration"
- func_fatal_error "specify a tag with \`--tag'"
+ func_echo "defaulting to \`CC'"
+ func_echo "if this is not correct, specify a tag with \`--tag'"
# else
# func_verbose "using $tagname tagged configuration"
fi

View File

@@ -1,14 +0,0 @@
--- libtool-2.2.2/libltdl/m4/libtool.m4.orig
+++ libtool-2.2.2/libltdl/m4/libtool.m4
@@ -2221,6 +2221,11 @@
lt_cv_deplibs_check_method=pass_all
;;
+linux-uclibc*)
+ lt_cv_deplibs_check_method=pass_all
+ lt_cv_file_magic_test_file=`echo /lib/libuClibc-*.so`
+ ;;
+
netbsd*)
if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then
lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'

View File

@@ -1,14 +1,11 @@
require libtool.inc
require libtool_${PV}.bb
PR = "r16"
PR = "r18"
PACKAGES = ""
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
SRC_URI_append = " file://libdir-la.patch;patch=1 \
file://prefix.patch;patch=1 \
# file://sysroot.patch;patch=1 \
# file://tag.patch;patch=1 \
file://nousrlib.patch;patch=1"
SRC_URI_append = " file://cross_compile.patch;patch=1 \
file://prefix.patch;patch=1"
DOLT_PATCH = ""
DOLT_PATCH_arm = " file://add_dolt.patch;patch=1"

View File

@@ -1,13 +1,10 @@
require libtool.inc
require libtool_${PV}.bb
PR = "r14"
PR = "r16"
FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}"
SRC_URI_append = " file://libdir-la.patch;patch=1 \
file://prefix.patch;patch=1 \
# file://sysroot.patch;patch=1 \
# file://tag.patch;patch=1 \
file://nousrlib.patch;patch=1"
SRC_URI_append = " file://cross_compile.patch;patch=1 \
file://prefix.patch;patch=1"
S = "${WORKDIR}/libtool-${PV}"

View File

@@ -1,15 +1,13 @@
require libtool.inc
PR = "r8"
PR = "r10"
SRC_URI = "${GNU_MIRROR}/libtool/libtool-${PV}.tar.gz \
file://fix_static.patch;patch=1 \
file://darwin_fixes.patch;patch=1 \
file://fix_static.patch;patch=1;status=merged \
file://Use-AC_CHECK_TOOL-for-otool-and-otool64.patch;patch=1;status=merged \
file://dolt.m4"
S = "${WORKDIR}/libtool-${PV}"
#DEFAULT_PREFERENCE = "-1"
PACKAGES =+ "libltdl libltdl-dev libltdl-dbg"
FILES_${PN} += "${datadir}/aclocal*"
FILES_libltdl = "${libdir}/libltdl.so.*"