2 # Does the platform support __private_extern__? There is surely a better way
5 AC_DEFUN([DISPATCH_C_PRIVATE_EXTERN], [
7 AC_CACHE_CHECK([for __attribute__((visibility("hidden")))],
8 dispatch_cv_hidden_visibility_attribute, [
10 [extern __attribute__ ((visibility ("hidden"))) int foo;],
11 [dispatch_cv_hidden_visibility_attribute=yes],
12 [dispatch_cv_hidden_visibility_attribute=no])])
14 AC_CACHE_CHECK([for __private_extern__],
15 dispatch_cv_private_extern, [
16 AC_TRY_LINK([], [__private_extern__ int foo;],
17 [dispatch_cv_private_extern=yes],
18 [dispatch_cv_private_extern=no])])
20 if test $dispatch_cv_private_extern = yes; then
21 AC_DEFINE(HAVE_PRIVATE_EXTERN, 1, Define if __private_extern__ present)
22 elif test $dispatch_cv_hidden_visibility_attribute = yes; then
23 AC_DEFINE(HAVE_PRIVATE_EXTERN, 1, Define if __private_extern__ present)
24 AC_DEFINE([__private_extern__], [extern __attribute__ ((visibility ("hidden")))],
25 [Define to a replacement for __private_extern])
27 AC_DEFINE([__private_extern__], [extern],
28 [Define to a replacement for __private_extern])