On 08/19/2010 06:58 AM, Ralf Wildenhues wrote:
+# func_resolve_sysroot PATH
+# Change PATH to an absolute path or replace a leading = with a
+# sysroot. Store the result into func_resolve_sysroot_result
+func_resolve_sysroot ()
+{
+ func_resolve_sysroot_result=$1
+ case $func_resolve_sysroot_result in
+ [\\/]* | [A-Za-z]:[\\/]*) ;;
+ =*)
+ func_stripname '=' '' "$func_resolve_sysroot_result"
+ func_resolve_sysroot_result=$lt_sysroot$func_stripname_result
+ ;;
+ *)
+ if test -d "$1"; then
+ absdir=`cd "$1"&& pwd`
+ test -z "$absdir"&& \
+ func_fatal_error "cannot determine absolute directory name of \`$dir'"
+ func_resolve_sysroot_result=`cd "$dir"&& pwd`
+ else
+ func_dirname_and_basename "$1" "" "."
+ absdir=`cd "$func_dirname_result"&& pwd`
+ test -z "$absdir"&& \
+ func_fatal_error "cannot determine absolute directory name of
\`$func_dirname_result'"
+ func_resolve_sysroot_result="$absdir/$func_basename_result"
+ fi
+ ;;
+ esac
+}
Why does this function absolutize paths that have nothing to do with
sysroot, even in-tree deplib paths?
Is there a deeper reason in this? If yes, there should probably be a
test which is fixed by it.
It's a bug, I think I did it to simplify other places but this was wrong
as the AIX case shows. I had the same idea more or less, but I didn't
have time to make a patch.
Paolo