You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
980 B
37 lines
980 B
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"
|
|
])
|