visibility.m4   visibility.m4 
# visibility.m4 serial 1 (gettext-0.15) # visibility.m4 serial 3 (gettext-0.18)
dnl Copyright (C) 2005 Free Software Foundation, Inc. dnl Copyright (C) 2005, 2008-2010 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it, dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved. dnl with or without modifications, as long as this notice is preserved.
dnl From Bruno Haible. dnl From Bruno Haible.
dnl Tests whether the compiler supports the command-line option dnl Tests whether the compiler supports the command-line option
dnl -fvisibility=hidden and the function and variable attributes dnl -fvisibility=hidden and the function and variable attributes
dnl __attribute__((__visibility__("hidden"))) and dnl __attribute__((__visibility__("hidden"))) and
dnl __attribute__((__visibility__("default"))). dnl __attribute__((__visibility__("default"))).
skipping to change at line 29 skipping to change at line 29
dnl "really only recommended for legacy code". dnl "really only recommended for legacy code".
dnl Set the variable CFLAG_VISIBILITY. dnl Set the variable CFLAG_VISIBILITY.
dnl Defines and sets the variable HAVE_VISIBILITY. dnl Defines and sets the variable HAVE_VISIBILITY.
AC_DEFUN([gl_VISIBILITY], AC_DEFUN([gl_VISIBILITY],
[ [
AC_REQUIRE([AC_PROG_CC]) AC_REQUIRE([AC_PROG_CC])
CFLAG_VISIBILITY= CFLAG_VISIBILITY=
HAVE_VISIBILITY=0 HAVE_VISIBILITY=0
if test -n "$GCC"; then if test -n "$GCC"; then
dnl First, check whether -Werror can be added to the command line, or
dnl whether it leads to an error because of some other option that the
dnl user has put into $CC $CFLAGS $CPPFLAGS.
AC_MSG_CHECKING([whether the -Werror option is usable])
AC_CACHE_VAL([gl_cv_cc_vis_werror], [
gl_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -Werror"
AC_TRY_COMPILE([], [],
[gl_cv_cc_vis_werror=yes],
[gl_cv_cc_vis_werror=no])
CFLAGS="$gl_save_CFLAGS"])
AC_MSG_RESULT([$gl_cv_cc_vis_werror])
dnl Now check whether visibility declarations are supported.
AC_MSG_CHECKING([for simple visibility declarations]) AC_MSG_CHECKING([for simple visibility declarations])
AC_CACHE_VAL(gl_cv_cc_visibility, [ AC_CACHE_VAL([gl_cv_cc_visibility], [
gl_save_CFLAGS="$CFLAGS" gl_save_CFLAGS="$CFLAGS"
CFLAGS="$CFLAGS -fvisibility=hidden" CFLAGS="$CFLAGS -fvisibility=hidden"
dnl We use the option -Werror and a function dummyfunc, because on so
me
dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
dnl "visibility attribute not supported in this configuration; ignore
d"
dnl at the first function definition in every compilation unit, and w
e
dnl don't want to use the option in this case.
if test $gl_cv_cc_vis_werror = yes; then
CFLAGS="$CFLAGS -Werror"
fi
AC_TRY_COMPILE( AC_TRY_COMPILE(
[extern __attribute__((__visibility__("hidden"))) int hiddenvar; [extern __attribute__((__visibility__("hidden"))) int hiddenvar;
extern __attribute__((__visibility__("default"))) int exportedvar; extern __attribute__((__visibility__("default"))) int exportedvar;
extern __attribute__((__visibility__("hidden"))) int hiddenfunc (v oid); extern __attribute__((__visibility__("hidden"))) int hiddenfunc (v oid);
extern __attribute__((__visibility__("default"))) int exportedfunc extern __attribute__((__visibility__("default"))) int exportedfunc
(void);], (void);
void dummyfunc (void) {}],
[], [],
gl_cv_cc_visibility=yes, [gl_cv_cc_visibility=yes],
gl_cv_cc_visibility=no) [gl_cv_cc_visibility=no])
CFLAGS="$gl_save_CFLAGS"]) CFLAGS="$gl_save_CFLAGS"])
AC_MSG_RESULT([$gl_cv_cc_visibility]) AC_MSG_RESULT([$gl_cv_cc_visibility])
if test $gl_cv_cc_visibility = yes; then if test $gl_cv_cc_visibility = yes; then
CFLAG_VISIBILITY="-fvisibility=hidden" CFLAG_VISIBILITY="-fvisibility=hidden"
HAVE_VISIBILITY=1 HAVE_VISIBILITY=1
fi fi
fi fi
AC_SUBST([CFLAG_VISIBILITY]) AC_SUBST([CFLAG_VISIBILITY])
AC_SUBST([HAVE_VISIBILITY]) AC_SUBST([HAVE_VISIBILITY])
AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY], AC_DEFINE_UNQUOTED([HAVE_VISIBILITY], [$HAVE_VISIBILITY],
 End of changes. 6 change blocks. 
7 lines changed or deleted 32 lines changed or added

This html diff was produced by rfcdiff 1.41. The latest version is available from http://tools.ietf.org/tools/rfcdiff/