X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/ea64e17a224208f0cbffcb214399711d3678b867..3f2bcf34371665165e8232c7fdf3776cfff11892:/src/jpeg/jmorecfg.h diff --git a/src/jpeg/jmorecfg.h b/src/jpeg/jmorecfg.h index 8275eb093f..2d86049094 100644 --- a/src/jpeg/jmorecfg.h +++ b/src/jpeg/jmorecfg.h @@ -155,18 +155,37 @@ typedef unsigned int UINT16; typedef short INT16; #endif +#if defined( __GNUWIN32__ ) || defined( __MINGW32__ ) || defined( __CYGWIN__ ) +#include +#else +#undef wxCHECK_W32API_VERSION +#define wxCHECK_W32API_VERSION(maj, min) (0) +#endif + /* INT32 must hold at least signed 32-bit values. */ -/* Modified JACS 23/4/99. 1200 means VC++ 6 */ -#if !defined(XMD_H) && !(_MSC_VER >= 1200) /* X11/xmd.h correctly defines INT32 */ -typedef long INT32; +/* you may define INT32_DEFINED if it is already defined somewhere */ +#ifndef INT32_DEFINED +#ifdef XMD_H +/* X11/xmd.h correctly defines INT32 */ +#define INT32_DEFINED +#elif (_MSC_VER >= 1200) || (__BORLANDC__ >= 0x550) || \ + wxCHECK_W32API_VERSION( 0, 5 ) || \ + ((defined(__MINGW32__) || defined(__CYGWIN__)) \ + && ((__GNUC__>2) || ((__GNUC__==2) && (__GNUC_MINOR__>95)))) + +/* INT32 is defined in windows.h for these compilers */ +#define INT32_DEFINED +#include #endif +#endif /* !INT32_DEFINED */ -/* Added JACS 23/4/99, to get INT32 definition */ -#if (_MSC_VER >= 1200) -#include +#ifndef INT32_DEFINED +typedef long INT32; #endif +#undef INT32_DEFINED + /* Datatype used for image dimensions. The JPEG standard only supports * images up to 64K*64K due to 16-bit fields in SOF markers. Therefore * "unsigned int" is sufficient on all machines. However, if you need to @@ -186,6 +205,16 @@ typedef unsigned int JDIMENSION; * or code profilers that require it. */ +#if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */ +/* a function called through method pointers: */ +#define METHODDEF(type) static type _Optlink +/* a function used only in its module: */ +#define LOCAL(type) static type _Optlink +/* a function referenced thru EXTERNs: */ +#define GLOBAL(type) type +/* a reference to a GLOBAL function: */ +#define EXTERN(type) extern type _Optlink +#else /* a function called through method pointers: */ #define METHODDEF(type) static type /* a function used only in its module: */ @@ -194,7 +223,7 @@ typedef unsigned int JDIMENSION; #define GLOBAL(type) type /* a reference to a GLOBAL function: */ #define EXTERN(type) extern type - +#endif /* This macro is used to declare a "method", that is, a function pointer. * We want to supply prototype parameters if the compiler can cope. @@ -202,12 +231,22 @@ typedef unsigned int JDIMENSION; * Again, you can customize this if you need special linkage keywords. */ +#if defined(__VISAGECPP__) /* need this for /common/imagjpeg.obj but not loclly */ +#ifdef HAVE_PROTOTYPES +#define JMETHOD(type,methodname,arglist) type (_Optlink *methodname) arglist +#else +#define JMETHOD(type,methodname,arglist) type (_Optlink *methodname) () +#endif + +#else + #ifdef HAVE_PROTOTYPES #define JMETHOD(type,methodname,arglist) type (*methodname) arglist #else #define JMETHOD(type,methodname,arglist) type (*methodname) () #endif +#endif /* Here is the pseudo-keyword for declaring pointers that must be "far" * on 80x86 machines. Most of the specialized coding for 80x86 is handled @@ -218,8 +257,10 @@ typedef unsigned int JDIMENSION; #ifdef NEED_FAR_POINTERS #define FAR far #else +#ifndef FAR #define FAR #endif +#endif /*