From 8886d0baf8ad82f88a16e184591b3e926acd7f07 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Tue, 6 Feb 2001 00:53:56 +0000 Subject: [PATCH] Another tentative MinGW/Cygwin compilation fix This is partial cherry-pick of ae128b358e6f3b9af9c0630cc455d2e659e13ec8 from the main repository. --- jmorecfg.h | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) 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