]> git.saurik.com Git - wxWidgets.git/commitdiff
Don't export Objective C interfaces in non-x86_64 builds.
authorVadim Zeitlin <vadim@wxwidgets.org>
Mon, 22 Aug 2011 12:38:36 +0000 (12:38 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Mon, 22 Aug 2011 12:38:36 +0000 (12:38 +0000)
Doing this is unnecessary and results in compilation errors in PPC and x86
builds when using old (4.0.1) version of the compiler.

So make WXEXPORT added in r67575 specific to 64 bit builds.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68841 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/osx/cocoa/private.h

index a9d77d1fc51076a7c1e090ed990ad4701c3bd42b..a0a929df8d97d75eb2c4368630f62771e890d5e7 100644 (file)
@@ -352,7 +352,22 @@ protected :
     - (void)sheetDidEnd:(NSWindow *)sheet returnCode:(int)returnCode contextInfo:(void *)contextInfo;
     @end
 
-    WXEXPORT @interface wxNSAppController : NSObject wxOSX_10_6_AND_LATER(<NSApplicationDelegate>)
+    // This interface must be exported in shared 64 bit multilib build but
+    // using WXEXPORT with Objective C interfaces doesn't work with old (4.0.1)
+    // gcc when using 10.4 SDK. It does work with newer gcc even in 32 bit
+    // builds but seems to be unnecessary there so to avoid the expense of a
+    // configure check verifying if this does work or not with the current
+    // compiler we just only use it for 64 bit builds where this is always
+    // supported.
+    //
+    // NB: Currently this is the only place where we need to export an
+    //     interface but if we need to do it elsewhere we should define a
+    //     WXEXPORT_OBJC macro once and reuse it in all places it's needed
+    //     instead of duplicating this preprocessor check.
+#ifdef __LP64__
+    WXEXPORT
+#endif // 64 bit builds
+    @interface wxNSAppController : NSObject wxOSX_10_6_AND_LATER(<NSApplicationDelegate>)
     {
     }