--- 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 :