I was trying to build XEmacs 21.4.1 on Solaris 8. I've got gcc 2.95.2
installed and configured to use GNU ld. However, I also have Solaris's
ld installed too. The XEmacs configure script uses a macro defined in
aclocal.m4 to check for GNU ld vs. the local platform's ld.
This macro has a mistake in it. It uses gcc -print-prog-name=ld to get
the path to the linker used by gcc, and then should use the result to
run ld -v to see if the linker is GNU. But the original macro assumes
that if the linker's path has gcc-lib in it, then running gcc -v must be
just as good as running the linker with -v directly.
But that's not ok. Running gcc -v tells you nothing about the linker
that gcc is using, so the GNU ld test fails when it's supposed to
succeed. You should really run the linker that gcc reports. This bug fix
to the macro will allow configure to correctly use the GNU ld when
building XEmacs.
Andrew
Index: aclocal.m4
===================================================================
RCS file: /usr/CVSroot/XEmacs/xemacs/aclocal.m4,v
retrieving revision 1.3
diff -u -r1.3 aclocal.m4
--- aclocal.m4 2001/04/12 18:20:32 1.3
+++ aclocal.m4 2001/05/04 22:46:03
@@ -313,12 +313,13 @@
# Accept absolute paths.
/*)
if test -z "$LTLD"; then
- case "$ac_prog" in
- *gcc-lib*) LTLD="$CC"
- ;;
- *) LTLD="$ac_prog"
- ;;
- esac
+# case "$ac_prog" in
+# *gcc-lib*) LTLD="$CC"
+# ;;
+# *)
+ LTLD="$ac_prog"
+# ;;
+# esac
fi
;;
"")