r13917: fix detection of the visibility support,
authorStefan Metzmacher <metze@samba.org>
Tue, 7 Mar 2006 10:16:03 +0000 (10:16 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:52:23 +0000 (13:52 -0500)
as we don't use #pragma for the build don't use it for the configure test
and use -fvisibility=hidden in CFLAGS in the configure test

metze

source/build/m4/check_cc.m4

index 72a882b7d8778c027138dcb0a10d6b10e510e7c3..0a215ef8020643ef2b83da8a38d2c1d4c872396b 100644 (file)
@@ -117,22 +117,29 @@ AC_TRY_RUN([#include "${srcdir-.}/build/tests/trivial.c"],
 #
 
 visibility_attribute=no
+VISIBILITY_CFLAGS=""
 if test x"$GCC" = x"yes" ; then
-    AX_CFLAGS_GCC_OPTION([-fvisibility=hidden], VISIBILITY_CFLAGS)
+       AX_CFLAGS_GCC_OPTION([-fvisibility=hidden], VISIBILITY_CFLAGS)
 fi
 
 if test -n "$VISIBILITY_CFLAGS"; then
        AC_MSG_CHECKING([whether the C compiler supports the visibility attribute])
+       OLD_CFLAGS="$CFLAGS"
+
+       CFLAGS="$CFLAGS $VISIBILITY_CFLAGS"
        AC_TRY_RUN([
-       #pragma GCC visibility push(hidden)
-       void vis_foo1(void) {}
-       __attribute__((visibility("default"))) void vis_foo2(void) {}
-       #include "${srcdir-.}/build/tests/trivial.c"
-       ], [
+               void vis_foo1(void) {}
+               __attribute__((visibility("default"))) void vis_foo2(void) {}
+               #include "${srcdir-.}/build/tests/trivial.c"
+       ],[
                AC_MSG_RESULT(yes)
                AC_DEFINE(HAVE_VISIBILITY_ATTR,1,[Whether the C compiler supports the visibility attribute])
                visibility_attribute=yes
-       ], [AC_MSG_RESULT(no);])
+       ],[
+               AC_MSG_RESULT(no)
+               VISIBILITY_CFLAGS=""
+       ])
+       CFLAGS="$OLD_CFLAGS"
 fi
 AC_SUBST(visibility_attribute)