diff options
author | Richard Purdie <richard@openedhand.com> | 2007-11-30 08:25:30 +0000 |
---|---|---|
committer | Richard Purdie <richard@openedhand.com> | 2007-11-30 08:25:30 +0000 |
commit | cc5a8711231cd9b50748eee5753bbd4d6cfe7745 (patch) | |
tree | c42990b5f7c40f126968c5bf49fe9e60e0146572 /meta | |
parent | f0ff6c78545758ddf4a5cd9f21feeb88f303a8ae (diff) | |
download | poky-cc5a8711231cd9b50748eee5753bbd4d6cfe7745.tar.gz |
libtool: Make sure ltmain.sh gets regenerated by libtool-cross, fix nmedit paths, fix library search paths for installed=no binaries particuarly on darwin but applies to other archs too
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@3274 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'meta')
-rw-r--r-- | meta/packages/libtool/libtool-1.5.10/libdir-la2.patch | 64 | ||||
-rw-r--r-- | meta/packages/libtool/libtool-1.5.10/nmedit_fix.patch | 56 | ||||
-rw-r--r-- | meta/packages/libtool/libtool-cross_1.5.10.bb | 12 | ||||
-rw-r--r-- | meta/packages/libtool/libtool-native_1.5.10.bb | 3 |
4 files changed, 132 insertions, 3 deletions
diff --git a/meta/packages/libtool/libtool-1.5.10/libdir-la2.patch b/meta/packages/libtool/libtool-1.5.10/libdir-la2.patch new file mode 100644 index 0000000000..0d5d261203 --- /dev/null +++ b/meta/packages/libtool/libtool-1.5.10/libdir-la2.patch | |||
@@ -0,0 +1,64 @@ | |||
1 | OE changes to installed=no which means we can't run the original test | ||
2 | and just look in $objdir. We therefore look in both, preferring | ||
3 | $objdir if it exists - RP 29/11/2007 | ||
4 | |||
5 | --- libtool-1.5.10/ltmain.in.orig | ||
6 | +++ libtool-1.5.10/ltmain.in | ||
7 | @@ -3105,8 +3105,11 @@ | ||
8 | fi | ||
9 | ;; | ||
10 | esac | ||
11 | - if grep "^installed=no" $deplib > /dev/null; then | ||
12 | - path="$absdir/$objdir" | ||
13 | +# OE changes to installed=no which means we can't run the original test | ||
14 | +# and just look in $objdir. We therefore look in both, preferring | ||
15 | +# $objdir if it exists, see below. - RP 29/11/2007 | ||
16 | +# if grep "^installed=no" $deplib > /dev/null; then | ||
17 | +# path="$absdir/$objdir" | ||
18 | # This interferes with crosscompilation. -CL | ||
19 | # else | ||
20 | # eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` | ||
21 | @@ -3117,7 +3120,7 @@ | ||
22 | # if test "$absdir" != "$libdir"; then | ||
23 | # $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2 | ||
24 | # fi | ||
25 | - else | ||
26 | + if ! grep "^installed=no" $deplib > /dev/null; then | ||
27 | eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` | ||
28 | if test -z "$libdir"; then | ||
29 | $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2 | ||
30 | @@ -3138,9 +3141,17 @@ | ||
31 | for tmp in $deplibrary_names ; do | ||
32 | depdepl=$tmp | ||
33 | done | ||
34 | - if test -f "$path/$depdepl" ; then | ||
35 | - depdepl="$path/$depdepl" | ||
36 | + | ||
37 | + if test -f "$absdir/$objdir/$depdepl" ; then | ||
38 | + depdepl="$absdir/$objdir/$depdepl" | ||
39 | + path="$absdir/$objdir" | ||
40 | + elif test -f "$absdir/$depdepl" ; then | ||
41 | + depdepl="$absdir/$depdepl" | ||
42 | + path="$absdir" | ||
43 | + else | ||
44 | + path="$absdir/$objdir" | ||
45 | fi | ||
46 | + | ||
47 | # do not add paths which are already there | ||
48 | case " $newlib_search_path " in | ||
49 | *" $path "*) ;; | ||
50 | @@ -3150,7 +3161,13 @@ | ||
51 | path="" | ||
52 | ;; | ||
53 | *) | ||
54 | - path="-L$path" | ||
55 | + if test -d "$absdir/$objdir" ; then | ||
56 | + path="-L$absdir/$objdir" | ||
57 | + elif test -d "$absdir" ; then | ||
58 | + path="-L$absdir" | ||
59 | + else | ||
60 | + path="-L$absdir/$objdir" | ||
61 | + fi | ||
62 | ;; | ||
63 | esac | ||
64 | ;; | ||
diff --git a/meta/packages/libtool/libtool-1.5.10/nmedit_fix.patch b/meta/packages/libtool/libtool-1.5.10/nmedit_fix.patch new file mode 100644 index 0000000000..673f3a9a28 --- /dev/null +++ b/meta/packages/libtool/libtool-1.5.10/nmedit_fix.patch | |||
@@ -0,0 +1,56 @@ | |||
1 | Fix so instead of calling "nmedit" it gets prefixed with the host triplet. | ||
2 | |||
3 | RP - 30/11/2007 | ||
4 | |||
5 | Index: libtool-1.5.10/libtool.m4 | ||
6 | =================================================================== | ||
7 | --- libtool-1.5.10.orig/libtool.m4 2007-11-29 19:27:31.000000000 +0000 | ||
8 | +++ libtool-1.5.10/libtool.m4 2007-11-29 19:29:09.000000000 +0000 | ||
9 | @@ -2927,11 +2927,11 @@ | ||
10 | _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' | ||
11 | # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's | ||
12 | if test "X$lt_int_apple_cc_single_mod" = Xyes ; then | ||
13 | - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
14 | + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib -single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
15 | else | ||
16 | - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
17 | + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -r -keep_private_externs -nostdlib -o ${lib}-master.o $libobjs~$CC -dynamiclib $allow_undefined_flag -o $lib ${lib}-master.o $deplibs $compiler_flags -install_name $rpath/$soname $verstring~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
18 | fi | ||
19 | - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
20 | + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
21 | else | ||
22 | case "$cc_basename" in | ||
23 | xlc*) | ||
24 | @@ -2939,8 +2939,8 @@ | ||
25 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' | ||
26 | _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' | ||
27 | # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's | ||
28 | - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
29 | - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
30 | + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj ${wl}-single_module $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
31 | + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
32 | ;; | ||
33 | *) | ||
34 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | ||
35 | @@ -5474,8 +5474,8 @@ | ||
36 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring' | ||
37 | _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' | ||
38 | # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's | ||
39 | - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
40 | - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
41 | + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -dynamiclib $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags -install_name $rpath/$soname $verstring~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
42 | + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
43 | else | ||
44 | case "$cc_basename" in | ||
45 | xlc*) | ||
46 | @@ -5483,8 +5483,8 @@ | ||
47 | _LT_AC_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}`echo $rpath/$soname` $verstring' | ||
48 | _LT_AC_TAGVAR(module_cmds, $1)='$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags' | ||
49 | # Don't fix this by using the ld -exported_symbols_list flag, it doesn't exist in older darwin ld's | ||
50 | - _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
51 | - _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
52 | + _LT_AC_TAGVAR(archive_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC -qmkshrobj $allow_undefined_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-install_name ${wl}$rpath/$soname $verstring~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
53 | + _LT_AC_TAGVAR(module_expsym_cmds, $1)='sed -e "s,#.*,," -e "s,^[ ]*,," -e "s,^\(..*\),_&," < $export_symbols > $output_objdir/${libname}-symbols.expsym~$CC $allow_undefined_flag -o $lib -bundle $libobjs $deplibs$compiler_flags~$host-nmedit -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
54 | ;; | ||
55 | *) | ||
56 | _LT_AC_TAGVAR(ld_shlibs, $1)=no | ||
diff --git a/meta/packages/libtool/libtool-cross_1.5.10.bb b/meta/packages/libtool/libtool-cross_1.5.10.bb index 8e6698a7a6..5f15c56a97 100644 --- a/meta/packages/libtool/libtool-cross_1.5.10.bb +++ b/meta/packages/libtool/libtool-cross_1.5.10.bb | |||
@@ -1,13 +1,15 @@ | |||
1 | SECTION = "devel" | 1 | SECTION = "devel" |
2 | require libtool_${PV}.bb | 2 | require libtool_${PV}.bb |
3 | 3 | ||
4 | PR = "r8" | 4 | PR = "r9" |
5 | PACKAGES = "" | 5 | PACKAGES = "" |
6 | FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" | 6 | FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" |
7 | SRC_URI_append = " file://libdir-la.patch;patch=1 \ | 7 | SRC_URI_append = " file://libdir-la.patch;patch=1 \ |
8 | file://libdir-la2.patch;patch=1 \ | ||
8 | file://prefix.patch;patch=1 \ | 9 | file://prefix.patch;patch=1 \ |
9 | file://tag.patch;patch=1 \ | 10 | file://tag.patch;patch=1 \ |
10 | file://install-path-check.patch;patch=1 \ | 11 | file://install-path-check.patch;patch=1 \ |
12 | file://nmedit_fix.patch;patch=1 \ | ||
11 | file://nousrlib.patch;patch=1" | 13 | file://nousrlib.patch;patch=1" |
12 | 14 | ||
13 | S = "${WORKDIR}/libtool-${PV}" | 15 | S = "${WORKDIR}/libtool-${PV}" |
@@ -17,7 +19,13 @@ exec_prefix = "${STAGING_DIR_NATIVE}${layout_exec_prefix}" | |||
17 | bindir = "${STAGING_BINDIR_NATIVE}" | 19 | bindir = "${STAGING_BINDIR_NATIVE}" |
18 | 20 | ||
19 | do_compile () { | 21 | do_compile () { |
20 | : | 22 | rm -f ltmain.shT |
23 | date=`/bin/sh ./mkstamp < ./ChangeLog` && \ | ||
24 | sed -e 's/@''PACKAGE@/libtool/' -e 's/@''VERSION@/1.5.10/' \ | ||
25 | -e "s%@""TIMESTAMP@%$date%" ./ltmain.in > ltmain.shT | ||
26 | mv -f ltmain.shT ltmain.sh || \ | ||
27 | (rm -f ltmain.sh && cp ltmain.shT ltmain.sh && rm -f ltmain.shT) | ||
28 | cp ltmain.sh ./libltdl/ | ||
21 | } | 29 | } |
22 | 30 | ||
23 | do_stage () { | 31 | do_stage () { |
diff --git a/meta/packages/libtool/libtool-native_1.5.10.bb b/meta/packages/libtool/libtool-native_1.5.10.bb index 55bf0d89be..ce5c16aac9 100644 --- a/meta/packages/libtool/libtool-native_1.5.10.bb +++ b/meta/packages/libtool/libtool-native_1.5.10.bb | |||
@@ -1,9 +1,10 @@ | |||
1 | SECTION = "devel" | 1 | SECTION = "devel" |
2 | require libtool_${PV}.bb | 2 | require libtool_${PV}.bb |
3 | 3 | ||
4 | PR = "r8" | 4 | PR = "r9" |
5 | FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" | 5 | FILESDIR = "${@os.path.dirname(bb.data.getVar('FILE',d,1))}/libtool-${PV}" |
6 | SRC_URI_append = " file://libdir-la.patch;patch=1 \ | 6 | SRC_URI_append = " file://libdir-la.patch;patch=1 \ |
7 | file://libdir-la2.patch;patch=1 \ | ||
7 | file://prefix.patch;patch=1 \ | 8 | file://prefix.patch;patch=1 \ |
8 | file://tag.patch;patch=1 \ | 9 | file://tag.patch;patch=1 \ |
9 | file://install-path-check.patch;patch=1 \ | 10 | file://install-path-check.patch;patch=1 \ |