| --- ltmain.sh |
| +++ ltmain.sh |
| @@ -7410,9 +7410,53 @@ |
| eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib` |
| test -z "$libdir" && \ |
| func_fatal_error "\`$deplib' is not a valid libtool archive" |
| - newdependency_libs="$newdependency_libs $libdir/$name" |
| + if test "x$EGREP" = x ; then |
| + EGREP=egrep |
| + fi |
| + # We do not want portage's install root ($D) present. Check only for |
| + # this if the .la is being installed. |
| + if test "$installed" = yes && test "$D"; then |
| + eval mynewdependency_lib=`echo "$libdir/$name" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` |
| + else |
| + mynewdependency_lib="$libdir/$name" |
| + fi |
| + # Do not add duplicates |
| + if test "$mynewdependency_lib"; then |
| + my_little_ninja_foo_1=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` |
| + if test -z "$my_little_ninja_foo_1"; then |
| + newdependency_libs="$newdependency_libs $mynewdependency_lib" |
| + fi |
| + fi |
| + ;; |
| + *) |
| + if test "$installed" = yes; then |
| + # Rather use S=WORKDIR if our version of portage supports it. |
| + # This is because some ebuild (gcc) do not use $S as buildroot. |
| + if test "$WORKDIR"; then |
| + S="$WORKDIR" |
| + fi |
| + # We do not want portage's build root ($S) present. |
| + my_little_ninja_foo_2=`echo $deplib |$EGREP -e "$S"` |
| + # We do not want portage's install root ($D) present. |
| + my_little_ninja_foo_3=`echo $deplib |$EGREP -e "$D"` |
| + if test -n "$my_little_ninja_foo_2" && test "$S"; then |
| + mynewdependency_lib="" |
| + elif test -n "$my_little_ninja_foo_3" && test "$D"; then |
| + eval mynewdependency_lib=`echo "$deplib" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` |
| + else |
| + mynewdependency_lib="$deplib" |
| + fi |
| + else |
| + mynewdependency_lib="$deplib" |
| + fi |
| + # Do not add duplicates |
| + if test "$mynewdependency_lib"; then |
| + my_little_ninja_foo_4=`echo $newdependency_libs |$EGREP -e "$mynewdependency_lib"` |
| + if test -z "$my_little_ninja_foo_4"; then |
| + newdependency_libs="$newdependency_libs $mynewdependency_lib" |
| + fi |
| + fi |
| ;; |
| - *) newdependency_libs="$newdependency_libs $deplib" ;; |
| esac |
| done |
| dependency_libs="$newdependency_libs" |
| @@ -7476,6 +7520,10 @@ |
| case $host,$output,$installed,$module,$dlname in |
| *cygwin*,*lai,yes,no,*.dll | *mingw*,*lai,yes,no,*.dll) tdlname=../bin/$dlname ;; |
| esac |
| + # Do not add duplicates |
| + if test "$installed" = yes && test "$D"; then |
| + install_libdir=`echo "$install_libdir" |sed -e "s:$D:/:g" -e 's:/\+:/:g'` |
| + fi |
| $ECHO > $output "\ |
| # $outputname - a libtool library file |
| # Generated by $PROGRAM (GNU $PACKAGE$TIMESTAMP) $VERSION |