--- gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh.orig	2007-01-13 14:33:23.000000000 -0700
+++ gettext-0.14.6/autoconf-lib-link/build-aux/ltmain.sh	2007-01-13 14:35:10.000000000 -0700
@@ -234,8 +234,9 @@
 	# 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'"
+#	  exit $EXIT_FAILURE
 #        else
 #          $echo "$modename: using $tagname tagged configuration"
 	fi
@@ -2324,8 +2325,14 @@
 	    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"
+	    #dir="$libdir"
+	    #absdir="$libdir"
 	  fi
 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
 	else
@@ -2800,6 +2807,16 @@
 		esac
 		if grep "^installed=no" $deplib > /dev/null; then
 		  path="$absdir/$objdir"
+#		This interferes with crosscompilation. -CL
+#		else
+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+#		  if test -z "$libdir"; then
+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+#		    exit 1
+#		  fi
+#		  if test "$absdir" != "$libdir"; then
+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+#		  fi
 		else
 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  if test -z "$libdir"; then
@@ -5210,6 +5227,10 @@
 	    # 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%^.*/%%'`
@@ -5528,10 +5549,13 @@
 	  # 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.
--- gettext-0.14.6/build-aux/ltmain.sh.orig	2005-05-20 15:03:38.000000000 -0600
+++ gettext-0.14.6/build-aux/ltmain.sh	2007-01-13 14:34:27.000000000 -0700
@@ -234,8 +234,9 @@
 	# 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'"
+#	  exit $EXIT_FAILURE
 #        else
 #          $echo "$modename: using $tagname tagged configuration"
 	fi
@@ -2324,8 +2325,14 @@
 	    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"
+	    #dir="$libdir"
+	    #absdir="$libdir"
 	  fi
 	  test "X$hardcode_automatic" = Xyes && avoidtemprpath=yes
 	else
@@ -2800,6 +2807,16 @@
 		esac
 		if grep "^installed=no" $deplib > /dev/null; then
 		  path="$absdir/$objdir"
+#		This interferes with crosscompilation. -CL
+#		else
+#		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
+#		  if test -z "$libdir"; then
+#		    $echo "$modename: \`$deplib' is not a valid libtool archive" 1>&2
+#		    exit 1
+#		  fi
+#		  if test "$absdir" != "$libdir"; then
+#		    $echo "$modename: warning: \`$deplib' seems to be moved" 1>&2
+#		  fi
 		else
 		  eval libdir=`${SED} -n -e 's/^libdir=\(.*\)$/\1/p' $deplib`
 		  if test -z "$libdir"; then
@@ -5210,6 +5227,10 @@
 	    # 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%^.*/%%'`
@@ -5528,10 +5549,13 @@
 	  # 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.
