cvs: gd /libgd/src gd_jpeg.c

[email protected] ("Pierre-Alain Joye") Fri, 18 Apr 2008 09:27:03 -0000
Newsgroups php.gd.cvs
Message-ID <cvspajoye1208510823@cvsserver>
pajoye		Fri Apr 18 09:27:03 2008 UTC

  Modified files:              
    /gd/libgd/src	gd_jpeg.c 
  Log:
  - prevent types conflict under mingw
  
http://cvs.php.net/viewvc.cgi/gd/libgd/src/gd_jpeg.c?r1=1.21&r2=1.22&diff_format=u
Index: gd/libgd/src/gd_jpeg.c
diff -u gd/libgd/src/gd_jpeg.c:1.21 gd/libgd/src/gd_jpeg.c:1.22
--- gd/libgd/src/gd_jpeg.c:1.21	Fri Dec 21 21:21:16 2007
+++ gd/libgd/src/gd_jpeg.c	Fri Apr 18 09:27:03 2008
@@ -25,7 +25,7 @@
 #	include "config.h"
 #endif
 
-#include <stdio.h>
+//#include <stdio.h>
 #include <stdlib.h>
 #include <setjmp.h>
 #include <limits.h>
@@ -37,6 +37,27 @@
 #ifdef HAVE_LIBJPEG
 #include "gdhelpers.h"
 
+/*
+  Libjpeg's jmorecfg.h defines INT16 and INT32, but only if XMD_H is
+  not defined. MinGW and Borland compilers include a typedef for INT32,
+  which causes a conflict.  MSVC does not include a conficting typedef
+  given the headers which are included.
+ */
+#if defined(__BORLANDC__) || defined(__MINGW32__)
+# define XMD_H 1
+#endif
+
+/*
+  Another possible conflict under MinGW
+ */
+#if defined(WIN32) && defined(__MINGW32__)
+# ifndef __RPCNDR_H__            /* don't conflict if rpcndr.h already read */
+   typedef unsigned char boolean;
+# endif
+# define HAVE_BOOLEAN            /* prevent jmorecfg.h from redefining it */
+#endif
+
+
 /* JCE undef two symbols that we don't need anymore but which are
    may be defined in config.h from ./configure but which are
    redefined incompatibly in jpeglib.h */