]> git.saurik.com Git - wxWidgets.git/commitdiff
Macros for simplified testing Open Watcom version and required tweaks.
authorWłodzimierz Skiba <abx@abx.art.pl>
Thu, 10 Nov 2005 16:16:05 +0000 (16:16 +0000)
committerWłodzimierz Skiba <abx@abx.art.pl>
Thu, 10 Nov 2005 16:16:05 +0000 (16:16 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@36155 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/defs.h
include/wx/filefn.h
include/wx/msw/chkconf.h
include/wx/msw/gccpriv.h
include/wx/os2/private.h
include/wx/palmos/chkconf.h
include/wx/platform.h
src/common/filefn.cpp
src/common/imagjpeg.cpp
src/common/imagpng.cpp
src/common/textbuf.cpp

index 38f99915107517408884e782288b99e1360e5f98..c9d7f22c3e71b7d6ac125f34d250b19250e46cec 100644 (file)
     #elif defined(__BORLANDC__) && (__BORLANDC__ >= 0x500)
         /*  Borland 5.0+ supports bool */
         #define HAVE_BOOL
-    #elif defined(__WATCOMC__) && (__WATCOMC__ >= 1100)
+    #elif wxCHECK_WATCOM_VERSION(1,0)
         /*  Watcom 11+ supports bool */
         #define HAVE_BOOL
     #elif defined(__DIGITALMARS__)
@@ -609,7 +609,7 @@ typedef int wxWindowID;
     #define except(x) catch(...)
 #endif /*  Metrowerks */
 
-#if defined(__WATCOMC__) && (__WATCOMC__ < 1240)
+#if wxONLY_WATCOM_EARLIER_THAN(1,4)
     typedef short mode_t;
 #endif
 
@@ -1006,7 +1006,7 @@ inline void *wxUIntToPtr(wxUIntPtr p)
 #if defined(__PALMOS__) && !defined(HAVE_SSIZE_T)
     #define HAVE_SSIZE_T
 #endif
-#if defined(__WATCOMC__) && __WATCOMC__ > 1230
+#if wxCHECK_WATCOM_VERSION(1,4)
     #define HAVE_SSIZE_T
 #endif
 #ifndef HAVE_SSIZE_T
index 8f5f8adac0ca5876b4955100cf477ce0c7bf391f..d38c8ac2852ee90127957dd4bc439b6d8a23ea17 100644 (file)
@@ -278,13 +278,13 @@ enum wxFileKind
     // version of struct stat as well as a wide char stat function variant.
     // This was droped since OW 1.4 "for consistency across platforms".
     #if wxHAS_HUGE_FILES
-        #if wxUSE_UNICODE && defined(__WATCOMC__) && __WATCOMC__ < 1240
+        #if wxUSE_UNICODE && wxONLY_WATCOM_EARLIER_THAN(1,4)
             #define   wxStructStat struct _wstati64
         #else
             #define   wxStructStat struct _stati64
         #endif
     #else
-        #if wxUSE_UNICODE && defined(__WATCOMC__) && __WATCOMC__ < 1240
+        #if wxUSE_UNICODE && wxONLY_WATCOM_EARLIER_THAN(1,4)
             #define   wxStructStat struct _wstat
         #else
             #define   wxStructStat struct _stat
index 53059846ab2e614af639c1371d580d816b0e445b..2143e21124318912c29db3f669891e2a8cd17b4c 100644 (file)
@@ -37,7 +37,8 @@
 #endif
 
 #ifndef wxUSE_NORLANDER_HEADERS
-#   if (defined(__WATCOMC__) && (__WATCOMC__ >= 1200)) || defined(__WINE__) || ((defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))))
+#   if ( wxCHECK_WATCOM_VERSION(1,0) || defined(__WINE__) ) || \
+       ((defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))))
 #       define wxUSE_NORLANDER_HEADERS 1
 #   else
 #       define wxUSE_NORLANDER_HEADERS 0
 #   define wxUSE_DEBUG_NEW_ALWAYS 0
 #endif
 
-/* Early Watcom version don't have good enough wide char support */
-#if defined(__WXMSW__) && (defined(__WATCOMC__) && __WATCOMC__ < 1200)
-#   undef wxUSE_WCHAR_T
-#   define wxUSE_WCHAR_T 0
-#endif
-
 /* DMC++ doesn't have definitions for date picker control, so use generic control
  */
 #ifdef __DMC__
 #endif  /* wxUSE_DYNAMIC_LOADER */
 
 #endif /* _WX_MSW_CHKCONF_H_ */
-
index bb557b4cc02459e424cc3304a5ae25d1915f37d7..b449670d94348473181d3b7f83b70fe78390372e 100644 (file)
@@ -32,7 +32,7 @@
     #endif
 #endif
 
-#if (defined(__WATCOMC__) && __WATCOMC__ >= 1200)
+#if wxCHECK_WATCOM_VERSION(1,0)
     #define HAVE_W32API_H
 #endif
 
index d5481d7add24701bbc45090049b4708878654b5e..d571467d30a99a598b9956fd41ec6851c4dab742 100644 (file)
@@ -24,8 +24,7 @@
 #define INCL_WIN
 #include <os2.h>
 
-#if defined(__WATCOMC__) && ( __WATCOMC__ < 1240 )
-    // missing in OpenWatcom 1.3 but added in 1.4
+#if wxONLY_WATCOM_EARLIER_THAN(1,4)
     inline HATOMTBL APIENTRY WinQuerySystemAtomTable(VOID){return NULL;}
     inline ULONG APIENTRY WinQueryAtomName(HATOMTBL,ATOM,PCSZ,ULONG){return 0;}
     inline LONG APIENTRY GpiPointArc(HPS,PPOINTL){return GPI_ERROR;}
index 121f45d40742cd9624fd1f895dd21de484dfe974..d42eda8d5d730551e48c0b6524931645e56c933b 100644 (file)
@@ -36,7 +36,7 @@
 #endif
 
 #ifndef wxUSE_NORLANDER_HEADERS
-#if (defined(__WATCOMC__) && (__WATCOMC__ >= 1200)) || defined(__WINE__) || ((defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))))
+#if (defined(__WINE__) || ((defined(__MINGW32__) || defined(__CYGWIN__)) && ((__GNUC__>2) ||((__GNUC__==2) && (__GNUC_MINOR__>=95))))
 #   define wxUSE_NORLANDER_HEADERS 1
 #else
 #   define wxUSE_NORLANDER_HEADERS 0
 
 #endif
     /* _WX_PALMOS_CHKCONF_H_ */
-
index 50b2c69ce2b097d561c79a4fbad175b16cee9dcf..725e6a99cb419b7677d823aa752e92ca802f9f3a 100644 (file)
 #endif
 
 
+/*
+   This macro can be used to test the Open Watcom version.
+*/
+#ifndef __WATCOMC__
+#   define wxWATCOM_VERSION(major,minor) 0
+#   define wxCHECK_WATCOM_VERSION(major,minor) 0
+#   define wxONLY_WATCOM_EARLIER_THAN(major,minor) 0
+#elif defined(__WATCOMC__) && __WATCOMC__ < 1200
+#   error "Only Open Watcom is supported in this release"
+#else
+#   define wxWATCOM_VERSION(major,minor) ( major * 100 + minor * 10 + 1100 )
+#   define wxCHECK_WATCOM_VERSION(major,minor) ( __WATCOMC__ >= wxWATCOM_VERSION(major,minor) )
+#   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
 #        define __VISUALC__ _MSC_VER
 #    elif defined(__BCPLUSPLUS__) && !defined(__BORLANDC__)
 #        define __BORLANDC__
-#      elif defined(__WATCOMC__)
+#    elif defined(__WATCOMC__)
 #    elif defined(__SC__)
 #        define __SYMANTECC__
 #    endif  /* compiler */
  */
 #if ( defined( __GNUWIN32__ ) || defined( __MINGW32__ ) || \
     ( defined( __CYGWIN__ ) && defined( __WINDOWS__ ) ) || \
-      (defined(__WATCOMC__) && __WATCOMC__ >= 1200) ) && \
+      wxCHECK_WATCOM_VERSION(1,0) ) && \
     !defined(__DOS__) && \
     !defined(__WXPM__) && \
     !defined(__WXMOTIF__) && \
index ea432becaa56c8a355178076c184da10f2dd4c26..c4fe245958c72086863168e567833dd9f1bdccc7 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        filefn.cpp
+// Name:        src/common/filefn.cpp
 // Purpose:     File- and directory-related functions
 // Author:      Julian Smart
 // Modified by:
@@ -1978,8 +1978,7 @@ wxFileKind wxGetFileKind(FILE *fp)
 {
     // Note: The watcom rtl dll doesn't have fileno (the static lib does).
     //       Should be fixed in version 1.4.
-#if defined(wxFILEKIND_STUB) || \
-        (defined(__WATCOMC__) && __WATCOMC__ <= 1230 && defined(__SW_BR))
+#if defined(wxFILEKIND_STUB) || wxONLY_WATCOM_EARLIER_THAN(1,4)
     (void)fp;
     return wxFILE_KIND_DISK;
 #else
index da980d2dd4bb336b24e76237de408c97cfb4efd0..7e4dcedfba3da2ab2c512c4bb1b25db96a4bbfc4 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        imagjpeg.cpp
+// Name:        src/common/imagjpeg.cpp
 // Purpose:     wxImage JPEG handler
 // Author:      Vaclav Slavik
 // RCS-ID:      $Id$
@@ -29,7 +29,7 @@
 //     This causes a conflict with jmorecfg.h header from libjpeg, so we have
 //     to make sure libjpeg won't try to define boolean itself. This is done by
 //     defining HAVE_BOOLEAN.
-#if defined(__WXMSW__) && (defined(__MWERKS__) || defined(__DIGITALMARS__) || (defined(__WATCOMC__) && __WATCOMC__ < 1200))
+#if defined(__WXMSW__) && (defined(__MWERKS__) || defined(__DIGITALMARS__))
     #define HAVE_BOOLEAN
     #include "wx/msw/wrapwin.h"
 #endif
@@ -420,9 +420,3 @@ bool wxJPEGHandler::DoCanRead( wxInputStream& stream )
 #endif   // wxUSE_STREAMS
 
 #endif   // wxUSE_LIBJPEG
-
-
-
-
-
-
index c277cf17b7aa5c859bbebcb8c0a6188b0a22d611..ca4e72c240522b2b006d3c731ef8172b3610cf33 100644 (file)
@@ -105,7 +105,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxPNGHandler,wxImageHandler)
 #if wxUSE_STREAMS
 
 #ifndef PNGLINKAGEMODE
-    #if defined(__WATCOMC__) && ( defined(__WXMSW__) || __WATCOMC__ > 1230 )
+    #if defined(__WATCOMC__) && defined(__WXMSW__)
         // we need an explicit cdecl for Watcom, at least according to
         //
         // http://sf.net/tracker/index.php?func=detail&aid=651492&group_id=9863&atid=109863
index f7ca5e081882883ade4d32f6835bcd209dd3eb20..2564a4cdbf2345d32378fef7be7ec404103dc081 100644 (file)
@@ -248,9 +248,7 @@ wxTextFileType wxTextBuffer::GuessType() const
                                                     ? wxTextFileType_##t1   \
                                                     : wxTextFileType_##t2
 
-        // Watcom C++ doesn't seem to be able to handle the macro
-        // VS: Watcom 11 doesn't have a problem...
-#if !(defined(__WATCOMC__) && (__WATCOMC__ < 1100))
+#if !defined(__WATCOMC__) || wxCHECK_WATCOM_VERSION(1,4)
         if ( nDos > nUnix )
             return GREATER_OF(Dos, Mac);
         else if ( nDos < nUnix )