Я не думаю, что есть стандартный макрос для этого, но вот кое-что, что вы должны иметь возможность расширять для поддержки других компиляторов по мере необходимости, например, __hidden
для компиляторов Sun:
AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
ac_cv_hidden_visibility_attribute, [
echo 'int __attribute__ ((visibility ("hidden"))) foo (void) { return 1; }' > conftest.c
ac_cv_hidden_visibility_attribute=no
if AC_TRY_COMMAND(${CC-cc} -Werror -S conftest.c -o conftest.s 1>&AS_MESSAGE_LOG_FD);
then
if grep '\.hidden.*foo' conftest.s >/dev/null;
then
ac_cv_hidden_visibility_attribute=yes
fi
fi
rm -f conftest.*
])
if test $ac_cv_hidden_visibility_attribute = yes;
then
AC_DEFINE(HAVE_HIDDEN_VISIBILITY_ATTRIBUTE, 1,
[Define if __attribute__((visibility("hidden"))) is supported.])
fi
Получившийся config.h
:
/* Define if __attribute__((visibility("hidden"))) is supported. */
#define HAVE_HIDDEN_VISIBILITY_ATTRIBUTE 1