From: David Elliott Date: Mon, 19 Nov 2007 19:54:36 +0000 (+0000) Subject: Don't define __WXOSX__ when building the wxCocoa base library. X-Git-Url: https://git.saurik.com/wxWidgets.git/commitdiff_plain/305142ad5fb7bd20e1c88ebd8df1766b9ff4b79f?ds=inline Don't define __WXOSX__ when building the wxCocoa base library. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50090 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- diff --git a/include/wx/platform.h b/include/wx/platform.h index f57d0d8820..a174b2e706 100644 --- a/include/wx/platform.h +++ b/include/wx/platform.h @@ -51,8 +51,24 @@ /* __WXOSX__ is a common define to wxMac (Carbon) and wxCocoa ports under OS X. + + DO NOT use this define in base library code. Although wxMac has its own + private base library (and thus __WXOSX__,__WXMAC__ and related defines are + valid there), wxCocoa shares its library with other ports like wxGTK and wxX11. + + To keep wx authors from screwing this up, only enable __WXOSX__ for wxCocoa when + not compiling the base library. We determine this by first checking if + wxUSE_BASE is not defined. If it is not defined, then we're not buildling + the base library, and possibly not building wx at all (but actually building + user code that's using wx). If it is defined then we must check to make sure + it is not true. If it is true, we're building base. + + If you want it in the common darwin base library then use __DARWIN__. You + can use any Darwin-available libraries like CoreFoundation but please avoid + using OS X libraries like Carbon or CoreServices. + */ -#if defined(__WXMAC_OSX__) || defined(__WXCOCOA__) +#if defined(__WXMAC_OSX__) || (defined(__WXCOCOA__) && (!defined(wxUSE_BASE) || !wxUSE_BASE)) # define __WXOSX__ #endif