| # expatcfg-compiler-supports-visibility.m4 -- |
| # |
| # SYNOPSIS |
| # |
| # EXPATCFG_COMPILER_SUPPORTS_VISIBILITY([ACTION-IF-YES], |
| # [ACTION-IF-NO]) |
| # |
| # DESCRIPTION |
| # |
| # Check if the selected compiler supports the "visibility" attribute |
| # and set the variable "expatcfg_cv_compiler_supports_visibility" |
| # accordingly to "yes" or "no". |
| # |
| # In addition, execute ACTION-IF-YES or ACTION-IF-NO. |
| # |
| # LICENSE |
| # |
| # Copyright (c) 2018 The Expat Authors. |
| # |
| # Copying and distribution of this file, with or without modification, |
| # are permitted in any medium without royalty provided the copyright |
| # notice and this notice are preserved. This file is offered as-is, |
| # without any warranty. |
| |
| AC_DEFUN([EXPATCFG_COMPILER_SUPPORTS_VISIBILITY], |
| [AC_CACHE_CHECK([whether compiler supports visibility], |
| [expatcfg_cv_compiler_supports_visibility], |
| [AS_VAR_SET([expatcfg_cv_compiler_supports_visibility],[no]) |
| AS_VAR_COPY([OLDFLAGS],[CFLAGS]) |
| AS_VAR_APPEND([CFLAGS],[" -fvisibility=hidden -Wall -Werror -Wno-unknown-warning-option"]) |
| AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ |
| void __attribute__((visibility("default"))) foo(void); |
| void foo(void) {} |
| ]])], |
| [AS_VAR_SET([expatcfg_cv_compiler_supports_visibility],[yes])]) |
| AS_VAR_COPY([CFLAGS],[OLDFLAGS])]) |
| AS_IF([test "$expatcfg_cv_compiler_supports_visibility" = yes],[$1],[$2])]) |
| |
| # end of file |