So, I discovered that if you have your $PATH set so a ld different from
authorRichard Levitte <levitte@openssl.org>
Sat, 17 Aug 2002 13:46:46 +0000 (13:46 +0000)
committerRichard Levitte <levitte@openssl.org>
Sat, 17 Aug 2002 13:46:46 +0000 (13:46 +0000)
GNU ld comes first, checking the usage of collect2 gives that instead of
GNU ld, even if GNU ld would be the one that would get used if we link using
gcc.  It's much better, apparently, to ask gcc directly what the path to
GNU ld is (provided it's there at all and gcc knows about it), and ask
the result if it's a GNU or not.  The bonus is that our GNU ld detection
mechanism got shorter and easier to understand...

Makefile.org

index 6b5af10f7e63ee7614ec51f51ad9418fc3b5f6e3..e4bc277d95ac974934d06b08e4e9558fca8c58cd 100644 (file)
@@ -270,9 +270,7 @@ do_gnu-shared:
        done
 
 DETECT_GNU_LD=${CC} -v 2>&1 | grep '^gcc' >/dev/null 2>&1 && \
-       collect2=`gcc -print-prog-name=collect2 2>&1` && \
-       [ -n "$$collect2" ] && \
-       my_ld=`$$collect2 --help 2>&1 | grep Usage: | sed 's/^Usage: *\([^ ][^ ]*\).*/\1/'` && \
+       ld=`gcc -print-prog-name=ld 2>&1` && \
        [ -n "$$my_ld" ] && \
        $$my_ld -v 2>&1 | grep 'GNU ld' >/dev/null 2>&1