--- eclass/toolchain.eclass.orig 2009-09-06 19:15:01.000000000 +0100 +++ eclass/toolchain.eclass 2009-09-06 19:31:35.000000000 +0100 @@ -2483,17 +2483,24 @@ fix_libtool_libdir_paths() { pushd "${D}" >/dev/null + local path local dir=${LIBPATH} - local allarchives=$(cd ./${dir}; echo *.la) - allarchives="\(${allarchives// /\\|}\)" + local allarchives - sed -i \ - -e "/^libdir=/s:=.*:='${dir}':" \ - ./${dir}/*.la - sed -i \ - -e "/^dependency_libs=/s:/[^ ]*/${allarchives}:${LIBPATH}/\1:g" \ - $(find ./${PREFIX}/lib* -maxdepth 3 -name '*.la') \ - ./${dir}/*.la + find ./"${dir}" -name '*.la' -print | while read -r lafile; do + path="${lafile#./}" + path="${path%/*}" + allarchives=$(cd ./"${path}"; echo *.la) + allarchives="\(${allarchives// /\\|}\)" + + sed -i \ + -e "/^libdir=/s:=.*:='"${path}"':" \ + "${lafile}" + sed -i \ + -e "/^dependency_libs=/s:/[^ ]*/${allarchives}:${LIBPATH}/\1:g" \ + $(find ./${PREFIX}/lib* -maxdepth 3 -name '*.la') \ + "${lafile}" + done popd >/dev/null }