OpenWrt – Rev 1

Subversion Repositories:
Rev:
--- a/ltmain.sh
+++ b/ltmain.sh
@@ -35,7 +35,7 @@ progpath="$0"
 
 # The name of this program:
 progname=`echo "$progpath" | $SED $basename`
-modename="$progname"
+modename="OpenWrt-$progname-patched-1.5"
 
 # Global variables:
 EXIT_SUCCESS=0
@@ -297,8 +297,8 @@ func_infer_tag ()
        # line option must be used.
        if test -z "$tagname"; then
          $echo "$modename: unable to infer tagged configuration"
-         $echo "$modename: specify a tag with \`--tag'" 1>&2
-         exit $EXIT_FAILURE
+         $echo "$modename: defaulting to \`CC'"
+         $echo "$modename: if this is not correct, specify a tag with \`--tag'"
 #        else
 #          $echo "$modename: using $tagname tagged configuration"
        fi
@@ -2462,8 +2462,14 @@ EOF
            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="$lt_sysroot$abs_ladir"
+           absdir="$abs_ladir"
+           libdir="$abs_ladir"
+           #dir="$libdir"
+           #absdir="$libdir"
          fi
          test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
        else
@@ -2602,7 +2608,7 @@ EOF
           { test "$use_static_libs" = no || test -z "$old_library"; }; then
          if test "$installed" = no; then
            notinst_deplibs="$notinst_deplibs $lib"
-           need_relink=yes
+           need_relink=no
          fi
          # This is a shared library
 
@@ -2804,7 +2810,6 @@ EOF
            if test "$hardcode_direct" = yes; 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
@@ -2820,8 +2825,6 @@ EOF
                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
@@ -5687,6 +5690,10 @@ fi\
            # 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)
                name=`$echo "X$deplib" | $Xsed -e 's%^.*/%%'`
@@ -5999,8 +6006,12 @@ relink_command=\"$relink_command\""
        dir="$dir$objdir"
 
        if test -n "$relink_command"; then
+         # Strip any trailing slash from the destination.
+         s_libdir=`$echo "X$libdir" | $Xsed -e 's%/$%%'`
+         s_destdir=`$echo "X$destdir" | $Xsed -e 's%/$%%'`
+
          # Determine the prefix the user has applied to our future dir.
-         inst_prefix_dir=`$echo "$destdir" | $SED "s%$libdir\$%%"`
+         inst_prefix_dir=`$echo "$s_destdir" | $SED "s%$s_libdir\$%%"`
 
          # Don't allow the user to place us outside of our expected
          # location b/c this prevents finding dependent libraries that
@@ -6008,10 +6019,13 @@ relink_command=\"$relink_command\""
          # 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.
-         if test "$inst_prefix_dir" = "$destdir"; then
-           $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
-           exit $EXIT_FAILURE
-         fi
+         #
+         # This breaks install into our staging area.  -PB
+         #
+         # if test "$inst_prefix_dir" = "$destdir"; then
+         #   $echo "$modename: error: cannot install \`$file' to a directory not ending in $libdir" 1>&2
+         #   exit $EXIT_FAILURE
+         # fi
 
          if test -n "$inst_prefix_dir"; then
            # Stick the inst_prefix_dir data into the link command.
@@ -6020,6 +6034,9 @@ relink_command=\"$relink_command\""
            relink_command=`$echo "$relink_command" | $SP2NL | $SED "s%@inst_prefix_dir@%%" | $NL2SP`
          fi
 
+         relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/lib[^[:space:]]*%%"`
+         relink_command=`$ECHO "$relink_command" | $SED "s%-L[[:space:]]*/usr/lib[^[:space:]]*%%"`
+
          $echo "$modename: warning: relinking \`$file'" 1>&2
          $show "$relink_command"
          if $run eval "$relink_command"; then :