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:42 +0000 (13:46 +0000)
committerRichard Levitte <levitte@openssl.org>
Sat, 17 Aug 2002 13:46:42 +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 d87dfa3f7905332d6475917ec7a2b9b8e6be7bf9..9611461751d4a6d8e8d23edc11182e7ab96543fc 100644 (file)
@@ -275,9 +275,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