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:52 +0000 (13:46 +0000)
committerRichard Levitte <levitte@openssl.org>
Sat, 17 Aug 2002 13:46:52 +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 8d004ecb750bc64fa9ea055890903756c1e3e1be..90500d190c61a546a053a65423ae6148ab37266e 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