--- a/ltmain.sh +++ b/ltmain.sh @@ -443,7 +443,7 @@ opt_warning=: # name if it has been set yet. func_echo () { - $ECHO "$progname: ${opt_mode+$opt_mode: }$*" + $ECHO "OpenWrt-$progname-patched-2.4: ${opt_mode+$opt_mode: }$*" } # func_verbose arg... @@ -469,14 +469,14 @@ func_echo_all () # Echo program name prefixed message to standard error. func_error () { - $ECHO "$progname: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 + $ECHO "OpenWrt-$progname-patched-2.4: ${opt_mode+$opt_mode: }"${1+"$@"} 1>&2 } # func_warning arg... # Echo program name prefixed warning message to standard error. func_warning () { - $opt_warning && $ECHO "$progname: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 + $opt_warning && $ECHO "OpenWrt-$progname-patched-2.4: ${opt_mode+$opt_mode: }warning: "${1+"$@"} 1>&2 # bash bug again: : @@ -1416,8 +1416,8 @@ func_infer_tag () # was found and let the user know that the "--tag" command # line option must be used. if test -z "$tagname"; then - func_echo "unable to infer tagged configuration" - func_fatal_error "specify a tag with \`--tag'" + func_echo "defaulting to \`CC'" + func_echo "if this is not correct, specify a tag with \`--tag'" # else # func_verbose "using $tagname tagged configuration" fi @@ -2953,8 +2953,15 @@ func_mode_install () func_append dir "$objdir" if test -n "$relink_command"; then + # Strip any trailing slash from the destination. + func_stripname '' '/' "$libdir" + s_libdir=$func_stripname_result + + func_stripname '' '/' "$destdir" + s_destdir=$func_stripname_result + # Determine the prefix the user has applied to our future dir. - inst_prefix_dir=`$ECHO "$destdir" | $SED -e "s%$libdir\$%%"` + inst_prefix_dir=`$ECHO "$s_destdir" | $SED -e "s%$s_libdir\$%%"` # Don't allow the user to place us outside of our expected # location b/c this prevents finding dependent libraries that @@ -2962,8 +2969,11 @@ func_mode_install () # At present, this check doesn't affect windows .dll's that # are installed into $libdir/../bin (currently, that works fine) # but it's something to keep an eye on. - test "$inst_prefix_dir" = "$destdir" && \ - func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" + # + # This breaks install into our staging area. -PB + # + # test "$inst_prefix_dir" = "$destdir" && \ + # func_fatal_error "error: cannot install \`$file' to a directory not ending in $libdir" if test -n "$inst_prefix_dir"; then # Stick the inst_prefix_dir data into the link command. @@ -2972,6 +2982,9 @@ func_mode_install () relink_command=`$ECHO "$relink_command" | $SED "s%@inst_prefix_dir@%%"` fi + relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/lib[^[:space:]]*%%"` + relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/usr/lib[^[:space:]]*%%"` + func_warning "relinking \`$file'" func_show_eval "$relink_command" \ 'func_fatal_error "error: relink \`$file'\'' with the above command before installing it"' @@ -6504,8 +6517,12 @@ func_mode_link () absdir="$abs_ladir" libdir="$abs_ladir" else - dir="$lt_sysroot$libdir" - absdir="$lt_sysroot$libdir" + # Adding 'libdir' from the .la file to our library search paths + # breaks crosscompilation horribly. We cheat here and don't add + # it, instead adding the path where we found the .la. -CL + dir="$lt_sysroot$abs_ladir" + absdir="$abs_ladir" + libdir="$abs_ladir" fi test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes else @@ -6683,7 +6700,7 @@ func_mode_link () *) if test "$installed" = no; then func_append notinst_deplibs " $lib" - need_relink=yes + need_relink=no fi ;; esac @@ -6887,7 +6904,6 @@ func_mode_link () test "$hardcode_direct_absolute" = no; then add="$libdir/$linklib" elif test "$hardcode_minus_L" = yes; then - add_dir="-L$libdir" add="-l$name" elif test "$hardcode_shlibpath_var" = yes; then case :$finalize_shlibpath: in @@ -6903,8 +6919,6 @@ func_mode_link () add="$libdir/$linklib" fi else - # We cannot seem to hardcode it, guess we'll fake it. - add_dir="-L$libdir" # Try looking first in the location we're being installed to. if test -n "$inst_prefix_dir"; then case $libdir in @@ -7059,7 +7073,17 @@ func_mode_link () fi ;; *) - path="-L$absdir/$objdir" + # OE sets installed=no in staging. We need to look in $objdir and $absdir, + # preferring $objdir. RP 31/04/2008 + if test -f "$absdir/$objdir/$depdepl" ; then + depdepl="$absdir/$objdir/$depdepl" + path="-L$absdir/$objdir" + elif test -f "$absdir/$depdepl" ; then + depdepl="$absdir/$depdepl" + path="-L$absdir" + else + path="-L$absdir/$objdir" + fi ;; esac else @@ -8050,7 +8074,7 @@ EOF elif test -n "$runpath_var"; then case "$perm_rpath " in *" $libdir "*) ;; - *) func_apped perm_rpath " $libdir" ;; + *) func_append perm_rpath " $libdir" ;; esac fi done @@ -9257,6 +9281,10 @@ EOF # Replace all uninstalled libtool libraries with the installed ones newdependency_libs= for deplib in $dependency_libs; do + # Replacing uninstalled with installed can easily break crosscompilation, + # since the installed path is generally the wrong architecture. -CL + newdependency_libs="$newdependency_libs $deplib" + continue case $deplib in *.la) func_basename "$deplib"