37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
# 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"])
|
|
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
|