| 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" |
| ]) |