diff options
author | Julian_chu <julian_chu@openmoko.com> | 2008-09-10 16:29:40 +0800 |
---|---|---|
committer | John Lee <john_lee@openmoko.org> | 2009-01-12 14:04:22 +0800 |
commit | ccd72dd30fd9de6c06c9a2e03a84d862c3969386 (patch) | |
tree | 772b0b677c1d4832767bfaa5347b082c093d6f40 /packages/libtool/libtool-1.5.10 | |
parent | a2a083ab240026ca479b4800c09c02b656e1d70e (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.patch | 103 |
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 |