blob: bfd74e4b64e69231cf495424854838a67a7a9084 [file] [log] [blame]
AC_DEFUN([AC_FUNC_GCC_VISIBILITY],
[AC_CACHE_CHECK(whether __attribute__((visibility())) is supported,
libc_cv_visibility_attribute,
[cat > conftest.c <<EOF
int foo __attribute__ ((visibility ("hidden"))) = 1;
int bar __attribute__ ((visibility ("protected"))) = 1;
EOF
libc_cv_visibility_attribute=no
if ${CC-cc} -Werror -S conftest.c -o conftest.s \
>/dev/null 2>&1; then
if grep '\.hidden.*foo' conftest.s >/dev/null; then
if grep '\.protected.*bar' conftest.s >/dev/null; then
libc_cv_visibility_attribute=yes
fi
fi
fi
rm -f conftest.[cs]
])
if test $libc_cv_visibility_attribute = yes; then
AC_DEFINE(HAVE_VISIBILITY_ATTRIBUTE, [], [GCC supports visibility attributes])
fi
])