OpenWrt – Rev 4

Subversion Repositories:
Rev:
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -243,7 +243,7 @@ opt_warning=:
 # name if it has been set yet.
 func_echo ()
 {
-    $ECHO "$progname${mode+: }$mode: $*"
+    $ECHO "OpenWrt-$progname-patched-2.2${mode+: }$mode: $*"
 }
 
 # func_verbose arg...
@@ -262,14 +262,14 @@ func_verbose ()
 # Echo program name prefixed message to standard error.
 func_error ()
 {
-    $ECHO "$progname${mode+: }$mode: "${1+"$@"} 1>&2
+    $ECHO "OpenWrt-$progname-patched-2.2${mode+: }$mode: "${1+"$@"} 1>&2
 }
 
 # func_warning arg...
 # Echo program name prefixed warning message to standard error.
 func_warning ()
 {
-    $opt_warning && $ECHO "$progname${mode+: }$mode: warning: "${1+"$@"} 1>&2
+    $opt_warning && $ECHO "OpenWrt-$progname-patched-2.2${mode+: }$mode: warning: "${1+"$@"} 1>&2
 
     # bash bug again:
     :
@@ -1048,8 +1048,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
@@ -2009,8 +2009,15 @@ func_mode_install ()
        dir="$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 "X$destdir" | $Xsed -e "s%$libdir\$%%"`
+         inst_prefix_dir=`$ECHO "X$s_destdir" | $Xsed -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
@@ -2018,8 +2025,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.
@@ -2028,6 +2038,9 @@ func_mode_install ()
            relink_command=`$ECHO "X$relink_command" | $Xsed -e "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"'
@@ -5412,8 +5425,12 @@ func_mode_link ()
            absdir="$abs_ladir"
            libdir="$abs_ladir"
          else
-           dir="$libdir"
-           absdir="$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="$abs_ladir"
+           absdir="$abs_ladir"
+           libdir="$abs_ladir"
          fi
          test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
        else
@@ -5564,7 +5581,7 @@ func_mode_link ()
          *)
            if test "$installed" = no; then
              notinst_deplibs="$notinst_deplibs $lib"
-             need_relink=yes
+             need_relink=no
            fi
            ;;
          esac
@@ -5768,7 +5785,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
@@ -8052,6 +8068,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"