X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/459f812badc752b14c96ea294442c50390ee5030..333e57d578e9e0fb6555452b5a53698ffd85ee69:/include/wx/platform.h diff --git a/include/wx/platform.h b/include/wx/platform.h index faeaf6fd20..2c1a40d943 100644 --- a/include/wx/platform.h +++ b/include/wx/platform.h @@ -272,43 +272,6 @@ # define wxONLY_WATCOM_EARLIER_THAN(major,minor) ( __WATCOMC__ < wxWATCOM_VERSION(major,minor) ) #endif -/* - check the consistency of the settings in setup.h: note that this must be - done after setting wxUSE_UNICODE correctly as it is used in wx/chkconf.h - */ -#include "wx/chkconf.h" - - -/* - some compilers don't support iostream.h any longer, while some of theme - are not updated with yet, so override the users setting here - in such case. - */ -#if defined(_MSC_VER) && (_MSC_VER >= 1310) -# undef wxUSE_IOSTREAMH -# define wxUSE_IOSTREAMH 0 -#elif defined(__DMC__) || defined(__WATCOMC__) -# undef wxUSE_IOSTREAMH -# define wxUSE_IOSTREAMH 1 -#elif defined(__MINGW32__) -# undef wxUSE_IOSTREAMH -# define wxUSE_IOSTREAMH 0 -#endif /* compilers with/without iostream.h */ - -/* - old C++ headers (like ) declare classes in the global namespace - while the new, standard ones (like ) do it in std:: namespace, - unless it's an old gcc version. - - using this macro allows constuctions like "wxSTD iostream" to work in - either case - */ -#if !wxUSE_IOSTREAMH && (!defined(__GNUC__) || ( __GNUC__ > 2 ) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) -# define wxSTD std:: -#else -# define wxSTD -#endif - /* OS: first of all, test for MS-DOS platform. We must do this before testing for Unix, because DJGPP compiler defines __unix__ under MS-DOS @@ -357,13 +320,11 @@ # endif # endif /* SGI */ -# if defined(sun) || defined(__SUN__) -# ifndef __GNUG__ -# ifndef __SUNCC__ -# define __SUNCC__ -# endif /* Sun CC */ -# endif -# endif /* Sun */ +# if defined(__SUNPRO_CC) +# ifndef __SUNCC__ +# define __SUNCC__ __SUNPRO_CC +# endif /* Sun CC */ +# endif /* Sun CC */ # ifdef __EMX__ # define OS2EMX_PLAIN_CHAR @@ -558,6 +519,18 @@ # define wxCHECK_W32API_VERSION(maj, min) (0) #endif +/** + This is similar to wxCHECK_GCC_VERSION but for Sun CC compiler. + */ +#ifdef __SUNCC__ + /* + __SUNCC__ is 0xVRP where V is major version, R release and P patch level + */ + #define wxCHECK_SUNCC_VERSION(maj, min) (__SUNCC__ >= (((maj)<<8) | ((min)<<4))) +#else + #define wxCHECK_SUNCC_VERSION(maj, min) (0) +#endif + #if defined (__WXMSW__) # if !defined(__WATCOMC__) # define wxHAVE_RAW_BITMAP @@ -572,6 +545,44 @@ # endif #endif +/* + check the consistency of the settings in setup.h: note that this must be + done after setting wxUSE_UNICODE correctly as it is used in wx/chkconf.h + and after defining the compiler macros which are used in it too + */ +#include "wx/chkconf.h" + + +/* + some compilers don't support iostream.h any longer, while some of theme + are not updated with yet, so override the users setting here + in such case. + */ +#if defined(_MSC_VER) && (_MSC_VER >= 1310) +# undef wxUSE_IOSTREAMH +# define wxUSE_IOSTREAMH 0 +#elif defined(__DMC__) || defined(__WATCOMC__) +# undef wxUSE_IOSTREAMH +# define wxUSE_IOSTREAMH 1 +#elif defined(__MINGW32__) +# undef wxUSE_IOSTREAMH +# define wxUSE_IOSTREAMH 0 +#endif /* compilers with/without iostream.h */ + +/* + old C++ headers (like ) declare classes in the global namespace + while the new, standard ones (like ) do it in std:: namespace, + unless it's an old gcc version. + + using this macro allows constuctions like "wxSTD iostream" to work in + either case + */ +#if !wxUSE_IOSTREAMH && (!defined(__GNUC__) || ( __GNUC__ > 2 ) || (__GNUC__ == 2 && __GNUC_MINOR__ >= 95)) +# define wxSTD std:: +#else +# define wxSTD +#endif + /* Choose which method we will use for updating menus * - in OnIdle, or when we receive a wxEVT_MENU_OPEN event. * Presently, only Windows and GTK+ support wxEVT_MENU_OPEN.