Annotation of embedaddon/libiconv/srcm4/visibility.m4, revision 1.1
1.1 ! misho 1: # visibility.m4 serial 2 (gettext-0.18)
! 2: dnl Copyright (C) 2005, 2008 Free Software Foundation, Inc.
! 3: dnl This file is free software; the Free Software Foundation
! 4: dnl gives unlimited permission to copy and/or distribute it,
! 5: dnl with or without modifications, as long as this notice is preserved.
! 6:
! 7: dnl From Bruno Haible.
! 8:
! 9: dnl Tests whether the compiler supports the command-line option
! 10: dnl -fvisibility=hidden and the function and variable attributes
! 11: dnl __attribute__((__visibility__("hidden"))) and
! 12: dnl __attribute__((__visibility__("default"))).
! 13: dnl Does *not* test for __visibility__("protected") - which has tricky
! 14: dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
! 15: dnl MacOS X.
! 16: dnl Does *not* test for __visibility__("internal") - which has processor
! 17: dnl dependent semantics.
! 18: dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
! 19: dnl "really only recommended for legacy code".
! 20: dnl Set the variable CFLAG_VISIBILITY.
! 21: dnl Defines and sets the variable HAVE_VISIBILITY.
! 22:
! 23: AC_DEFUN([gl_VISIBILITY],
! 24: [
! 25: AC_REQUIRE([AC_PROG_CC])
! 26: CFLAG_VISIBILITY=
! 27: HAVE_VISIBILITY=0
! 28: if test -n "$GCC"; then
! 29: AC_MSG_CHECKING([for simple visibility declarations])
! 30: AC_CACHE_VAL([gl_cv_cc_visibility], [
! 31: gl_save_CFLAGS="$CFLAGS"
! 32: CFLAGS="$CFLAGS -fvisibility=hidden"
! 33: AC_TRY_COMPILE(
! 34: [extern __attribute__((__visibility__("hidden"))) int hiddenvar;
! 35: extern __attribute__((__visibility__("default"))) int exportedvar;
! 36: extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
! 37: extern __attribute__((__visibility__("default"))) int exportedfunc (void);],
! 38: [],
! 39: [gl_cv_cc_visibility=yes],
! 40: [gl_cv_cc_visibility=no])
! 41: CFLAGS="$gl_save_CFLAGS"])
! 42: AC_MSG_RESULT([$gl_cv_cc_visibility])
! 43: if test $gl_cv_cc_visibility = yes; then
! 44: CFLAG_VISIBILITY="-fvisibility=hidden"
! 45: HAVE_VISIBILITY=1
! 46: fi
! 47: fi
! 48: AC_SUBST([CFLAG_VISIBILITY])
! 49: AC_SUBST([HAVE_VISIBILITY])
! 50: AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
! 51: [Define to 1 or 0, depending whether the compiler supports simple visibility declarations.])
! 52: ])
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>