+/*
+ Define various OS X symbols before including wx/chkconf.h which uses them.
+
+ __WXOSX_MAC__ means Mac OS X, non embedded
+ __WXOSX_IPHONE__ means OS X iPhone
+ */
+
+/*
+ Normally all of __WXOSX_XXX__, __WXOSX__ and __WXMAC__ are defined by
+ configure but ensure that we also define them if configure was not used for
+ whatever reason.
+
+ The primary symbol remains __WXOSX_XXX__ one, __WXOSX__ exists to allow
+ checking for any OS X port (Carbon and Cocoa) and __WXMAC__ is an old name
+ for it.
+ */
+#if defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__) || defined(__WXOSX_IPHONE__) \
+ || (defined(__DARWIN__) && !wxUSE_GUI)
+# ifndef __WXOSX__
+# define __WXOSX__ 1
+# endif
+# ifndef __WXMAC__
+# define __WXMAC__ 1
+# endif
+#endif
+
+#ifdef __WXOSX__
+/* setup precise defines according to sdk used */
+# include <TargetConditionals.h>
+# if defined(__WXOSX_IPHONE__)
+# if !( defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE )
+# error "incorrect SDK for an iPhone build"
+# endif
+# else
+# if wxUSE_GUI && !(defined(__WXOSX_CARBON__) || defined(__WXOSX_COCOA__))
+# error "one of __WXOSX_IPHONE__, __WXOSX_CARBON__ or __WXOSX_COCOA__ must be defined for the GUI build"
+# endif
+# if !( defined(TARGET_OS_MAC) && TARGET_OS_MAC )
+# error "incorrect SDK for a Mac OS X build"
+# endif
+# define __WXOSX_MAC__ 1
+# endif
+#endif
+
+#ifdef __WXOSX_MAC__
+# if defined(__MACH__)
+# include <AvailabilityMacros.h>
+# ifndef MAC_OS_X_VERSION_10_4
+# define MAC_OS_X_VERSION_10_4 1040
+# endif
+# ifndef MAC_OS_X_VERSION_10_5
+# define MAC_OS_X_VERSION_10_5 1050
+# endif
+# ifndef MAC_OS_X_VERSION_10_6
+# define MAC_OS_X_VERSION_10_6 1060
+# endif