build/autoconf: fix check for GNU ld version
authorBjörn Jacke <bj@sernet.de>
Tue, 19 Feb 2013 14:30:34 +0000 (15:30 +0100)
committerBjoern Jacke <bj@sernet.de>
Tue, 19 Feb 2013 19:56:12 +0000 (20:56 +0100)
we need to look for the version once in the stdout and once in the stderr
output. Some version of ld output to stdout, some output to stderr. redirecting
stderr to stdout messes the output up in our case, that's why we have to do two
runs. See also bug #7825.

Signed-off-by: Bjoern Jacke <bj@sernet.de>
Reviewed-by: Stefan Metzmacher <metze@samba.org>
Autobuild-User(master): Björn Jacke <bj@sernet.de>
Autobuild-Date(master): Tue Feb 19 20:56:12 CET 2013 on sn-devel-104

source3/configure.in

index 1b24ad6a04bcc6e8f7562dc52f0d6ce9b2a8f317..594f4b9e14f8391d04e49ec36b7b87dab70478dc 100644 (file)
@@ -227,7 +227,11 @@ dnl Certain versions of GNU ld the default is not to have the
 dnl --allow-shlib-undefined flag defined.  This causes a stackload of
 dnl warnings when building modules.
 if test "$ac_cv_prog_gnu_ld" = "yes"; then
-       ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2>&1 < /dev/null | grep "GNU ld"`
+       ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2> /dev/null < /dev/null | grep "GNU ld"`
+       # we need to make a 2nd (separate!) check on the output of stderr, see bug #7825:
+       if test -z ${ac_cv_gnu_ld_version} ; then
+         ac_cv_gnu_ld_version=`$CC -Wl,-v /dev/null 2>&1 > /dev/null < /dev/null | grep "GNU ld"`
+       fi
        AC_MSG_CHECKING(GNU ld release date)
        changequote(,)dnl
        ac_cv_gnu_ld_date=`echo $ac_cv_gnu_ld_version | sed -n 's,^.*\([2-9][0-9][0-9][0-9]\)[-]*\([01][0-9]\)[-]*\([0-3][0-9]\).*$,\1\2\3,p'`