Use __DARWIN__ instead of __WXOSX__ in non-GUI code.

This fixes compilation of non-wxOSX ports (e.g. wxGTK) under OS X.

Also make the difference between the two symbols more clear in the
documentation.

Closes #14503.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72180 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-07-23 15:03:42 +00:00
parent 6a3f00bd66
commit da0ee16ef9
10 changed files with 23 additions and 20 deletions

View File

@@ -42,14 +42,14 @@ always tested using @ifdef_ and not @if_.
@itemdef{__WXGTK24__, GTK+ 2.4 or higher} @itemdef{__WXGTK24__, GTK+ 2.4 or higher}
@itemdef{__WXGTK26__, GTK+ 2.6 or higher} @itemdef{__WXGTK26__, GTK+ 2.6 or higher}
@itemdef{__WXGTK210__, GTK+ 2.10 or higher} @itemdef{__WXGTK210__, GTK+ 2.10 or higher}
@itemdef{__WXMAC__, old define for Mac OS X} @itemdef{__WXMAC__, old define, same as @c __WXOSX__}
@itemdef{__WXMOTIF__, Motif} @itemdef{__WXMOTIF__, Motif}
@itemdef{__WXMOTIF20__, Motif 2.0 or higher} @itemdef{__WXMOTIF20__, Motif 2.0 or higher}
@itemdef{__WXMSW__, GUI using <a href="http://en.wikipedia.org/wiki/Windows_User">Windows Controls</a>} @itemdef{__WXMSW__, GUI using <a href="http://en.wikipedia.org/wiki/Windows_User">Windows Controls</a>}
@itemdef{__WXOSX__, any OS X} @itemdef{__WXOSX__, OS X GUI using any Apple widget framework (Carbon, AppKit or UIKit)}
@itemdef{__WXOSX_IPHONE__, OS X iPhone} @itemdef{__WXOSX_IPHONE__, OS X iPhone (UIKit)}
@itemdef{__WXOSX_CARBON__, Mac OS X using Carbon} @itemdef{__WXOSX_CARBON__, Mac OS X using Carbon}
@itemdef{__WXOSX_COCOA__, Mac OS X using Cocoa} @itemdef{__WXOSX_COCOA__, Mac OS X using Cocoa (AppKit)}
@itemdef{__WXOSX_MAC__, Mac OS X (Carbon or Cocoa)} @itemdef{__WXOSX_MAC__, Mac OS X (Carbon or Cocoa)}
@itemdef{__WXOSX_OR_COCOA__, Any Mac OS X port (wxOSX-Carbon, wxOSX-Cocoa or @itemdef{__WXOSX_OR_COCOA__, Any Mac OS X port (wxOSX-Carbon, wxOSX-Cocoa or
wxCocoa)} wxCocoa)}
@@ -88,7 +88,7 @@ symbols, although this has not always been followed.
@itemdef{__AIX__, AIX} @itemdef{__AIX__, AIX}
@itemdef{__BSD__, Any *BSD system} @itemdef{__BSD__, Any *BSD system}
@itemdef{__CYGWIN__, Cygwin: Unix on Win32} @itemdef{__CYGWIN__, Cygwin: Unix on Win32}
@itemdef{__DARWIN__, Mac OS X (with BSD C library)} @itemdef{__DARWIN__, Mac OS X (with BSD C library), using any port (see also @c __WXOSX__)}
@itemdef{__DATA_GENERAL__, DG-UX} @itemdef{__DATA_GENERAL__, DG-UX}
@itemdef{__FREEBSD__, FreeBSD} @itemdef{__FREEBSD__, FreeBSD}
@itemdef{__HPUX__, HP-UX (Unix)} @itemdef{__HPUX__, HP-UX (Unix)}

View File

@@ -2779,6 +2779,11 @@ typedef int (* LINKAGEMODE wxListIterateFunction)(void *current);
/* platform specific (implementation) parts of the headers */ /* platform specific (implementation) parts of the headers */
/* --------------------------------------------------------------------------- */ /* --------------------------------------------------------------------------- */
#ifdef __DARWIN__
#define DECLARE_WXOSX_OPAQUE_CFREF( name ) typedef struct __##name* name##Ref;
#define DECLARE_WXOSX_OPAQUE_CONST_CFREF( name ) typedef const struct __##name* name##Ref;
#endif
#ifdef __WXMAC__ #ifdef __WXMAC__
#define WX_OPAQUE_TYPE( name ) struct wxOpaque##name #define WX_OPAQUE_TYPE( name ) struct wxOpaque##name
@@ -2815,9 +2820,6 @@ typedef const void * CFTypeRef;
/* typedef const struct __CFString * CFStringRef; */ /* typedef const struct __CFString * CFStringRef; */
#define DECLARE_WXOSX_OPAQUE_CFREF( name ) typedef struct __##name* name##Ref;
#define DECLARE_WXOSX_OPAQUE_CONST_CFREF( name ) typedef const struct __##name* name##Ref;
DECLARE_WXOSX_OPAQUE_CONST_CFREF( CFString ) DECLARE_WXOSX_OPAQUE_CONST_CFREF( CFString )
typedef struct __CFString * CFMutableStringRef; typedef struct __CFString * CFMutableStringRef;

View File

@@ -233,7 +233,7 @@ private:
// integration with MFC) but currently this is not done for all ports yet (e.g. // integration with MFC) but currently this is not done for all ports yet (e.g.
// wxX11) so fall back to the old wxGUIEventLoop definition below for them // wxX11) so fall back to the old wxGUIEventLoop definition below for them
#if defined(__WXOSX__) #if defined(__DARWIN__)
// CoreFoundation-based event loop is currently in wxBase so include it in // CoreFoundation-based event loop is currently in wxBase so include it in
// any case too (although maybe it actually shouldn't be there at all) // any case too (although maybe it actually shouldn't be there at all)
#include "wx/osx/evtloop.h" #include "wx/osx/evtloop.h"

View File

@@ -89,9 +89,11 @@ inline wxEventLoopSource::~wxEventLoopSource() { }
#if defined(__WXGTK20__) #if defined(__WXGTK20__)
#include "wx/gtk/evtloopsrc.h" #include "wx/gtk/evtloopsrc.h"
#elif defined(__WXOSX__) #endif
#if defined(__DARWIN__)
#include "wx/osx/evtloopsrc.h" #include "wx/osx/evtloopsrc.h"
#endif // platform #endif
#endif // wxUSE_EVENTLOOP_SOURCE #endif // wxUSE_EVENTLOOP_SOURCE

View File

@@ -609,8 +609,7 @@
checking for any OS X port (Carbon and Cocoa) and __WXMAC__ is an old name checking for any OS X port (Carbon and Cocoa) and __WXMAC__ is an old name
for it. for it.
*/ */
#if defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) \ #if defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__)
|| (defined(__DARWIN__) && !wxUSE_GUI)
# ifndef __WXOSX__ # ifndef __WXOSX__
# define __WXOSX__ 1 # define __WXOSX__ 1
# endif # endif

View File

@@ -840,7 +840,7 @@ public:
#if wxUSE_THREADS #if wxUSE_THREADS
#if defined(__WINDOWS__) || defined(__OS2__) || defined(__EMX__) || defined(__WXOSX__) #if defined(__WINDOWS__) || defined(__OS2__) || defined(__EMX__) || defined(__DARWIN__)
// unlock GUI if there are threads waiting for and lock it back when // unlock GUI if there are threads waiting for and lock it back when
// there are no more of them - should be called periodically by the main // there are no more of them - should be called periodically by the main
// thread // thread
@@ -852,7 +852,7 @@ public:
// wakes up the main thread if it's sleeping inside ::GetMessage() // wakes up the main thread if it's sleeping inside ::GetMessage()
extern void WXDLLIMPEXP_BASE wxWakeUpMainThread(); extern void WXDLLIMPEXP_BASE wxWakeUpMainThread();
#ifndef __WXOSX__ #ifndef __DARWIN__
// return true if the main thread is waiting for some other to terminate: // return true if the main thread is waiting for some other to terminate:
// wxApp then should block all "dangerous" messages // wxApp then should block all "dangerous" messages
extern bool WXDLLIMPEXP_BASE wxIsWaitingForThread(); extern bool WXDLLIMPEXP_BASE wxIsWaitingForThread();

View File

@@ -48,7 +48,7 @@
// implementation classes: // implementation classes:
#if defined(__WINDOWS__) #if defined(__WINDOWS__)
#include "wx/msw/mimetype.h" #include "wx/msw/mimetype.h"
#elif ( defined(__WXMAC__) ) #elif ( defined(__DARWIN__) )
#include "wx/osx/mimetype.h" #include "wx/osx/mimetype.h"
#elif defined(__WXPM__) || defined (__EMX__) #elif defined(__WXPM__) || defined (__EMX__)
#include "wx/os2/mimetype.h" #include "wx/os2/mimetype.h"

View File

@@ -561,7 +561,7 @@ bool wxGetEnvMap(wxEnvVariableHashMap *map)
// Now this routine wil give false for OpenVMS // Now this routine wil give false for OpenVMS
// TODO : should we do something with logicals? // TODO : should we do something with logicals?
char **env=NULL; char **env=NULL;
#elif defined(__WXOSX__) #elif defined(__DARWIN__)
#if wxOSX_USE_COCOA_OR_CARBON #if wxOSX_USE_COCOA_OR_CARBON
// Under Mac shared libraries don't have access to the global environ // Under Mac shared libraries don't have access to the global environ
// variable so use this Mac-specific function instead as advised by // variable so use this Mac-specific function instead as advised by

View File

@@ -1837,7 +1837,7 @@ static void DeleteThread(wxThread *This)
} }
} }
#ifndef __WXOSX__ #ifndef __DARWIN__
void wxMutexGuiEnterImpl() void wxMutexGuiEnterImpl()
{ {

View File

@@ -992,7 +992,7 @@ wxLinuxDistributionInfo wxGetLinuxDistributionInfo()
#endif #endif
// these functions are in src/osx/utilsexc_base.cpp for wxMac // these functions are in src/osx/utilsexc_base.cpp for wxMac
#ifndef __WXMAC__ #ifndef __DARWIN__
wxOperatingSystemId wxGetOsVersion(int *verMaj, int *verMin) wxOperatingSystemId wxGetOsVersion(int *verMaj, int *verMin)
{ {
@@ -1028,7 +1028,7 @@ wxString wxGetOsDescription()
return wxGetCommandOutput(wxT("uname -s -r -m")); return wxGetCommandOutput(wxT("uname -s -r -m"));
} }
#endif // !__WXMAC__ #endif // !__DARWIN__
unsigned long wxGetProcessId() unsigned long wxGetProcessId()
{ {