This fixes 37 and 38 (and likely a bunch of other failures). The 37/38 failure is really a logic bug, the other two are cut-and-paste problems. It seems like I didn't review the patch even. (I did; what I didn't do was testing it beyond sysroot.at :).
I'll squash it in 3/9. Paolo --- libltdl/config/ltmain.m4sh | 16 ++++++++++------ 1 files changed, 10 insertions(+), 6 deletions(-) diff --git a/libltdl/config/ltmain.m4sh b/libltdl/config/ltmain.m4sh index f7951c4..a6eefb3 100644 --- a/libltdl/config/ltmain.m4sh +++ b/libltdl/config/ltmain.m4sh @@ -4542,7 +4542,7 @@ func_mode_link () case $dir in [\\/]* | [A-Za-z]:[\\/]*) ;; =*) - func_stripname '=' '' "$arg" + func_stripname '=' '' "$dir" dir=$lt_sysroot$func_stripname_result ;; *) @@ -5099,7 +5099,7 @@ func_mode_link () ;; # -L -R*) if test "$pass" = link; then - func_stripname '-L' '' "$deplib" + func_stripname '-R' '' "$deplib" func_resolve_sysroot "$func_stripname_result" dir=$func_resolve_sysroot_result # Make sure the xrpath contains only unique directories. @@ -5811,14 +5811,18 @@ func_mode_link () tmp_libs= for deplib in $dependency_libs; do newdependency_libs="$deplib $newdependency_libs" - func_resolve_sysroot "$deplib" - deplib=$func_resolve_sysroot_result + case $deplib in + -L*) func_stripname '-L' '' "$deplib" + func_resolve_sysroot "$func_stripname_result";; + *) func_resolve_sysroot "$deplib" ;; + esac if $opt_preserve_dup_deps ; then case "$tmp_libs " in - *" $deplib "*) func_append specialdeplibs " $deplib" ;; + *" $func_resolve_sysroot_result "*) + func_append specialdeplibs " $func_resolve_sysroot_result" ;; esac fi - func_append tmp_libs " $deplib" + func_append tmp_libs " $func_resolve_sysroot_result" done if test "$link_all_deplibs" != no; then -- 1.7.1