summaryrefslogtreecommitdiff
path: root/packages/libtool/libtool-1.5.10
diff options
context:
space:
mode:
authorJulian_chu <julian_chu@openmoko.com>2008-09-10 16:29:40 +0800
committerJohn Lee <john_lee@openmoko.org>2009-01-12 14:04:22 +0800
commitccd72dd30fd9de6c06c9a2e03a84d862c3969386 (patch)
tree772b0b677c1d4832767bfaa5347b082c093d6f40 /packages/libtool/libtool-1.5.10
parenta2a083ab240026ca479b4800c09c02b656e1d70e (diff)
libtool-sdk_1.5.10.bb, meta-toolchain.bb, task-sdk-host.bb: introduce
sysroot libtool-sdk. Add libtool-sdk to help the meta toolchain using the .la files. Patch add_sysroot_function.patch is applied to teach libtool about LIBTOOL_SYSROOT_PATH . task-sdk-host.bb is updated along with its consumers to include libtool-sdk, and meta-toolchain.bb is updated to include this environment variable.
Diffstat (limited to 'packages/libtool/libtool-1.5.10')
-rw-r--r--packages/libtool/libtool-1.5.10/add_sysroot_function.patch103
1 files changed, 103 insertions, 0 deletions
diff --git a/packages/libtool/libtool-1.5.10/add_sysroot_function.patch b/packages/libtool/libtool-1.5.10/add_sysroot_function.patch
new file mode 100644
index 0000000000..4ce68d92b7
--- /dev/null
+++ b/packages/libtool/libtool-1.5.10/add_sysroot_function.patch
@@ -0,0 +1,103 @@
+Index: libtool-1.5.10/ltmain.in
+===================================================================
+--- libtool-1.5.10.orig/ltmain.in 2008-07-25 16:24:21.000000000 +0800
++++ libtool-1.5.10/ltmain.in 2008-07-25 18:31:41.000000000 +0800
+@@ -137,6 +137,52 @@
+ # Shell function definitions:
+ # This seems to be the best place for them
+
++# func_add_sysroot_path add LIBTOOL_SYSROOT_PATH as prefix in search path
++# -L/usr/lib -> -L/home/foo/usr/lib if sysroot is /home/foo
++func_add_sysroot_path ()
++{
++ _suffix=""
++ _leading=""
++ case "${1}" in
++ -L*)
++ _suffix=`echo ${1} |sed -e s:-L::`
++ _suffix=${LIBTOOL_SYSROOT_PATH}${_suffix}
++ _leading="-L"
++ ;;
++ -I*)
++ _suffix=`echo ${1} |sed -e s:-I::`
++ _suffix=${LIBTOOL_SYSROOT_PATH}${_suffix}
++ _leading="-I"
++ ;;
++ /*)
++ _suffix=${LIBTOOL_SYSROOT_PATH}${1}
++ _leading=""
++ ;;
++ *)
++ _suffix=${1}
++ _leading=""
++ esac
++ eval add_sysroot_path_result=${_leading}${_suffix}
++}
++
++# func_rm_sysroot_path remove LIBTOOL_SYSROOT_PATH
++# -L/home/foo/usr/lib => if sysroot is /home/foo
++func_rm_sysroot_path () {
++ __rm_sysroot_path=${1}
++ case $__rm_sysroot_path in
++ -L*)
++ __rm_sysroot_path=`echo ${1}|sed -e s:$LIBTOOL_SYSROOT_PATH:/:g`
++ ;;
++ -I*)
++ __rm_sysroot_path=`echo ${1}|sed -e s:$LIBTOOL_SYSROOT_PATH:/:g`
++ ;;
++ /*)
++ __rm_sysroot_path=`echo ${1}|sed -e s:$LIBTOOL_SYSROOT_PATH:/:g`
++ ;;
++ esac
++ rm_sysroot_path_result=`echo ${__rm_sysroot_path}|sed -e s://:/:g`
++}
++
+ # func_win32_libid arg
+ # return the library type of file 'arg'
+ #
+@@ -2196,6 +2242,16 @@
+ *) . ./$lib ;;
+ esac
+
++ # Add Sysroot to path #
++ tmp_depen_libs=
++ for depen_lib in $dependency_libs; do
++ func_add_sysroot_path $depen_lib
++ tmp_depen_libs="$tmp_depen_libs $add_sysroot_path_result "
++ done
++ dependency_libs=$tmp_depen_libs
++ func_add_sysroot_path $libdir
++ libdir="$add_sysroot_path_result"
++
+ if test "$linkmode,$pass" = "lib,link" ||
+ test "$linkmode,$pass" = "prog,scan" ||
+ { test "$linkmode" != prog && test "$linkmode" != lib; }; then
+@@ -2777,6 +2833,10 @@
+ # $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+ # fi
+ if ! grep "^installed=no" $deplib > /dev/null; then
++ #Add Sysroot to libdir
++ func_add_sysroot_path $libdir
++ libdir=$add_sysroot_path_result
++
+ eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+ if test -z "$libdir"; then
+ $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+@@ -5243,6 +5303,17 @@
+ case $host,$output,$installed,$module,$dlname in
+ *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;;
+ esac
++
++ # Remove Sysroot from path before write in .la file #
++ tmp_depen_libs=
++ for depen_lib in $dependency_libs; do
++ func_rm_sysroot_path $depen_lib
++ tmp_depen_libs="$tmp_depen_libs $rm_sysroot_path_result "
++ done
++ dependency_libs=$tmp_depen_libs
++ func_rm_sysroot_path $libdir
++ libdir="$rm_sysroot_path_result"
++
+ $echo > $output "\
+ # $outputname - a libtool library file
+ # Generated by $PROGRAM - GNU $PACKAGE $VERSION$TIMESTAMP