From dccf9e0c45f1f450d28ba0700dbb459247ba9f9d Mon Sep 17 00:00:00 2001 From: nobu Date: Sat, 14 Aug 2010 06:33:06 +0000 Subject: * configure.in, include/ruby/defines.h (RUBY_FUNC_EXPORTED): macro to declare exported function. * array.c (rb_ary_memsize), string.c (rb_str_memsize), variable.c (rb_objspace_data_type_memsize): used in objspace. [ruby-dev:42022] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- configure.in | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'configure.in') diff --git a/configure.in b/configure.in index 7afaea97f3..9456da1e07 100644 --- a/configure.in +++ b/configure.in @@ -753,6 +753,19 @@ if test "$GCC" = yes; then fi fi +AC_CACHE_CHECK(for exported function attribute, rb_cv_func_exported, [ +rb_cv_func_exported=no +RUBY_WERROR_FLAG([ +for mac in '__attribute__ ((visibility("default")))' '__declspec(dllexport)'; do + AC_TRY_COMPILE([@%:@define RUBY_FUNC_EXPORTED $mac extern + RUBY_FUNC_EXPORTED void conftest_attribute_check(void);], [], + [rb_cv_func_exported="$mac"; break]) +done +])]) +if test "$rb_cv_func_exported" != no; then + AC_DEFINE_UNQUOTED(RUBY_FUNC_EXPORTED, [$rb_cv_func_exported extern]) +fi + RUBY_APPEND_OPTION(XCFLAGS, -DRUBY_EXPORT) dnl } -- cgit v1.2.3