blob: 6b5a89dce6dc8c2b13b444a6d3a4ab09f0a205b5 [file] [log] [blame] [edit]
dnl @synopsis CHECK_VISIBILITY([ACTION-IF-FOUND[, ACTION-IF-NOT-FOUND]])
dnl
dnl @summary check for the gcc -fvisibility flag
dnl
AC_DEFUN([CHECK_VISIBILITY_HIDDEN], [
save_CFLAGS="$CFLAGS"
VISIBILITY_HIDDEN_CFLAGS=""
OPTION=-fvisibility=hidden
AC_MSG_CHECKING(for gcc $OPTION support)
CFLAGS="$CFLAGS $OPTION"
AC_TRY_COMPILE([
int default_vis __attribute__ ((visibility("default")));
int hidden_vis __attribute__ ((visibility("hidden")));
],
[],
ac_visibility_supported=yes,
ac_visibility_supported=no)
AC_MSG_RESULT($ac_visibility_supported)
if test x"$ac_visibility_supported" = xyes; then
ifelse([$1],,AC_DEFINE(HAVE_GCC_VISIBILITY,1,[Define if you have gcc -fvisibility=hidden support ]),[$1])
VISIBILITY_HIDDEN_CFLAGS="$OPTION -DHAVE_VISIBILITY_HIDDEN"
AC_DEFINE(HAVE_VISIBILITY_HIDDEN,[],[Support for visibility hidden])
else
$2
:
fi
AC_SUBST(VISIBILITY_HIDDEN_CFLAGS)
CFLAGS="$save_CFLAGS"
])