diff --git a/jmorecfg.h b/jmorecfg.h index 4bec0e8..69b13aa 100644 --- a/jmorecfg.h +++ b/jmorecfg.h @@ -157,15 +157,25 @@ typedef short INT16; /* 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) && !(__BORLANDC__ >= 0x550) /* X11/xmd.h correctly defines 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) || \ + ((defined(__MINGW32__) || defined(__CYGWIN__)) \ + && ((__GNUC__>=2) && (__GNUC_MINOR__>=95))) +/* INT32 is defined in windows.h for these compilers */ +#define INT32_DEFINED +#include +#endif +#endif /* !INT32_DEFINED */ + +#ifndef INT32_DEFINED typedef long INT32; #endif -/* Added JACS 23/4/99, to get INT32 definition */ -#if (_MSC_VER >= 1200) || (__BORLANDC__ >= 0x550) -#include -#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