X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/623633eea9e42ac539aa68af2b20785dbdd16db2..1970409e33ce5aa182fa40ea499e532fdbf1982d:/include/wx/platform.h diff --git a/include/wx/platform.h b/include/wx/platform.h index f57d0d8820..fce5c927cd 100644 --- a/include/wx/platform.h +++ b/include/wx/platform.h @@ -40,10 +40,6 @@ # ifndef MAC_OS_X_VERSION_10_5 # define MAC_OS_X_VERSION_10_5 1050 # endif -# ifdef __WXMAC_XCODE__ -# include -# include "wx/mac/carbon/config_xcode.h" -# endif # else # error "only mach-o configurations are supported" # endif @@ -51,11 +47,33 @@ /* __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 +#ifdef __WXOSX__ +# ifdef __WXMAC_XCODE__ +# include +# include "wx/mac/carbon/config_xcode.h" +# endif +#endif /* first define Windows symbols if they're not defined on the command line: we can autodetect everything we need if _WIN32 is defined