Diff for /embedaddon/libiconv/srcm4/visibility.m4 between versions 1.1.1.2 and 1.1.1.3

version 1.1.1.2, 2012/05/29 09:29:44 version 1.1.1.3, 2021/03/17 13:38:46
Line 1 Line 1
# visibility.m4 serial 4 (gettext-0.18.2)# visibility.m4 serial 6
dnl Copyright (C) 2005, 2008, 2010-2011 Free Software Foundation, Inc.dnl Copyright (C) 2005, 2008, 2010-2019 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.
Line 12  dnl __attribute__((__visibility__("hidden"))) and Line 12  dnl __attribute__((__visibility__("hidden"))) and
 dnl __attribute__((__visibility__("default"))).  dnl __attribute__((__visibility__("default"))).
 dnl Does *not* test for __visibility__("protected") - which has tricky  dnl Does *not* test for __visibility__("protected") - which has tricky
 dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on  dnl semantics (see the 'vismain' test in glibc) and does not exist e.g. on
dnl MacOS X.dnl Mac OS X.
 dnl Does *not* test for __visibility__("internal") - which has processor  dnl Does *not* test for __visibility__("internal") - which has processor
 dnl dependent semantics.  dnl dependent semantics.
 dnl Does *not* test for #pragma GCC visibility push(hidden) - which is  dnl Does *not* test for #pragma GCC visibility push(hidden) - which is
Line 29  AC_DEFUN([gl_VISIBILITY], Line 29  AC_DEFUN([gl_VISIBILITY],
     dnl First, check whether -Werror can be added to the command line, or      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 whether it leads to an error because of some other option that the
     dnl user has put into $CC $CFLAGS $CPPFLAGS.      dnl user has put into $CC $CFLAGS $CPPFLAGS.
    AC_MSG_CHECKING([whether the -Werror option is usable])    AC_CACHE_CHECK([whether the -Werror option is usable],
    AC_CACHE_VAL([gl_cv_cc_vis_werror], [      [gl_cv_cc_vis_werror],
      gl_save_CFLAGS="$CFLAGS"      [gl_save_CFLAGS="$CFLAGS"
      CFLAGS="$CFLAGS -Werror"       CFLAGS="$CFLAGS -Werror"
      AC_COMPILE_IFELSE(       AC_COMPILE_IFELSE(
        [AC_LANG_PROGRAM([[]], [[]])],         [AC_LANG_PROGRAM([[]], [[]])],
        [gl_cv_cc_vis_werror=yes],         [gl_cv_cc_vis_werror=yes],
        [gl_cv_cc_vis_werror=no])         [gl_cv_cc_vis_werror=no])
      CFLAGS="$gl_save_CFLAGS"])       CFLAGS="$gl_save_CFLAGS"
    AC_MSG_RESULT([$gl_cv_cc_vis_werror])      ])
     dnl Now check whether visibility declarations are supported.      dnl Now check whether visibility declarations are supported.
    AC_MSG_CHECKING([for simple visibility declarations])    AC_CACHE_CHECK([for simple visibility declarations],
    AC_CACHE_VAL([gl_cv_cc_visibility], [      [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 some       dnl We use the option -Werror and a function dummyfunc, because on some
      dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning       dnl platforms (Cygwin 1.7) the use of -fvisibility triggers a warning
      dnl "visibility attribute not supported in this configuration; ignored"       dnl "visibility attribute not supported in this configuration; ignored"
      dnl at the first function definition in every compilation unit, and we       dnl at the first function definition in every compilation unit, and we
      dnl don't want to use the option in this case.       dnl don't want to use the option in this case.
      if test $gl_cv_cc_vis_werror = yes; then       if test $gl_cv_cc_vis_werror = yes; then
        CFLAGS="$CFLAGS -Werror"         CFLAGS="$CFLAGS -Werror"
      fi       fi
      AC_COMPILE_IFELSE(       AC_COMPILE_IFELSE(
        [AC_LANG_PROGRAM(         [AC_LANG_PROGRAM(
           [[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 (void);              extern __attribute__((__visibility__("hidden"))) int hiddenfunc (void);
             extern __attribute__((__visibility__("default"))) int exportedfunc (void);              extern __attribute__((__visibility__("default"))) int exportedfunc (void);
             void dummyfunc (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])      ])
     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

Removed from v.1.1.1.2  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>