s3:configure: add support for Solaris' ld -z ignore
authorBjörn Jacke <bj@sernet.de>
Tue, 20 Oct 2009 06:01:52 +0000 (08:01 +0200)
committerBjörn Jacke <bj@sernet.de>
Tue, 20 Oct 2009 08:52:07 +0000 (10:52 +0200)
try linker flags for ignoring unused libs in this order:
-Wl,--as-needed (gcc like + binutils)
-Wl,-z,ignore (gcc like + Solaris linker)
-z ignore (old Sun C)

source3/configure.in

index 80a347cd4e1461e161813571695e006eba2804f6..a296a59ca0e6700e50eada35e13d947a77cd5dc9 100644 (file)
@@ -1758,22 +1758,18 @@ fi
 
 AC_MSG_RESULT($BLDSHARED)
 
 
 AC_MSG_RESULT($BLDSHARED)
 
-if test x"${ac_cv_prog_gnu_ld}" = x"yes"; then
+for flags in "-Wl,--as-needed" "-Wl,-z,ignore" "-z ignore" ; do
        saved_ldflags="$LDFLAGS"
        saved_ldflags="$LDFLAGS"
-       AC_MSG_CHECKING([if --as-needed works])
-       LDFLAGS="--as-needed $saved_ldflags"
-       AC_TRY_LINK([],[],
-               [AC_MSG_RESULT([yes])
-               LD_AS_NEEDED_FLAG=--as-needed],
-               AC_MSG_RESULT([no]))
-       AC_MSG_CHECKING([if -Wl,--as-needed works])
-       LDFLAGS="-Wl,--as-needed $saved_ldflags"
+       AC_MSG_CHECKING([if $flags works])
+       LDFLAGS="$flags $saved_ldflags"
        AC_TRY_LINK([],[],
                [AC_MSG_RESULT([yes])
        AC_TRY_LINK([],[],
                [AC_MSG_RESULT([yes])
-               LD_AS_NEEDED_FLAG=-Wl,--as-needed],
+               LD_AS_NEEDED_FLAG=$flags
+               ld_as_needed_flag_found=yes],
                AC_MSG_RESULT([no]))
        LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
                AC_MSG_RESULT([no]))
        LDFLAGS="$LD_AS_NEEDED_FLAG $saved_ldflags"
-fi
+       test x"$ld_as_needed_flag_found" = xyes && break
+done
 
 # for historical reasons almost all linkers don't complain about unresolved
 # symbols in shared libs. Except for the internal samba modules we want to get
 
 # for historical reasons almost all linkers don't complain about unresolved
 # symbols in shared libs. Except for the internal samba modules we want to get