Make all symbols visible for MonoTouch.
authorRolf Bjarne Kvinge <rolf@xamarin.com>
Wed, 29 May 2013 23:46:13 +0000 (01:46 +0200)
committerRolf Bjarne Kvinge <rolf@xamarin.com>
Thu, 30 May 2013 21:48:49 +0000 (23:48 +0200)
MonoTouch may use a shared libmono with AOT-compiled assemblies,
and the AOT-compiled assemblies need to access internal symbols
from libmono. The monotouch runtime also uses a few internal
API.

So the easiest way to fix both these cases is to make everything
public for MonoTouch. The libmono used will always be in sync
with the AOT-compiled code, so ABI-breakage is not a concern.

mono/utils/mono-compiler.h

index cc3d00cc50e27a764e002e3ae6a1bc6ce2564dec..52e8215d5775b0439945154b8bfc56466402eb66 100644 (file)
 
 #endif /* _MSC_VER */
 
-#if !defined(_MSC_VER) && !defined(PLATFORM_SOLARIS) && !defined(_WIN32) && !defined(__CYGWIN__) && HAVE_VISIBILITY_HIDDEN
+#if !defined(_MSC_VER) && !defined(PLATFORM_SOLARIS) && !defined(_WIN32) && !defined(__CYGWIN__) && !defined(MONOTOUCH) && HAVE_VISIBILITY_HIDDEN
 #define MONO_INTERNAL __attribute__ ((visibility ("hidden")))
 #if MONO_LLVM_LOADED
 #define MONO_LLVM_INTERNAL