summaryrefslogtreecommitdiffstats
path: root/m4/gcc4_visibility.m4
diff options
context:
space:
mode:
authorJan Engelhardt <jengelh@medozas.de>2010-11-19 13:07:48 +0100
committerPablo Neira Ayuso <pablo@netfilter.org>2010-11-19 13:07:48 +0100
commitfe73d7d8854efda86d4d09757874c48352e6b247 (patch)
tree64104b409f7a50ae3c434034bf3c956f8b5d88a7 /m4/gcc4_visibility.m4
parent68dd5828052a965a7c8e84d0b8c9d4996ff3f410 (diff)
build: tag function headers rather than decls as exported
Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'm4/gcc4_visibility.m4')
-rw-r--r--m4/gcc4_visibility.m421
1 files changed, 21 insertions, 0 deletions
diff --git a/m4/gcc4_visibility.m4 b/m4/gcc4_visibility.m4
new file mode 100644
index 0000000..84959f3
--- /dev/null
+++ b/m4/gcc4_visibility.m4
@@ -0,0 +1,21 @@
+
+# GCC 4.x -fvisibility=hidden
+
+AC_DEFUN([CHECK_GCC_FVISIBILITY], [
+ AC_LANG_PUSH([C])
+ saved_CFLAGS="$CFLAGS"
+ CFLAGS="$saved_CFLAGS -fvisibility=hidden"
+ AC_CACHE_CHECK([whether compiler accepts -fvisibility=hidden],
+ [ac_cv_fvisibility_hidden], AC_COMPILE_IFELSE(
+ AC_LANG_PROGRAM([], []),
+ [ac_cv_fvisibility_hidden=yes],
+ [ac_cv_fvisibility_hidden=no]
+ ))
+ if test "$ac_cv_fvisibility_hidden" = "yes"; then
+ AC_DEFINE([HAVE_VISIBILITY_HIDDEN], [1],
+ [True if compiler supports -fvisibility=hidden])
+ AC_SUBST([GCC_FVISIBILITY_HIDDEN], [-fvisibility=hidden])
+ fi
+ CFLAGS="$saved_CFLAGS"
+ AC_LANG_POP([C])
+])