[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] /srv/bzr/emacs/trunk r110454: Improve fix for jpeglib buil
From: |
Daniel Colascione |
Subject: |
[Emacs-diffs] /srv/bzr/emacs/trunk r110454: Improve fix for jpeglib build break |
Date: |
Mon, 08 Oct 2012 02:26:10 -0800 |
User-agent: |
Bazaar (2.5.0) |
------------------------------------------------------------
revno: 110454
committer: Daniel Colascione <address@hidden>
branch nick: cyg
timestamp: Mon 2012-10-08 02:26:10 -0800
message:
Improve fix for jpeglib build break
modified:
src/ChangeLog
src/image.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog 2012-10-08 10:07:16 +0000
+++ b/src/ChangeLog 2012-10-08 10:26:10 +0000
@@ -1,3 +1,8 @@
+2012-10-08 Daniel Colascione <address@hidden>
+
+ * image.c: Permanent fix for JPEG compilation issue --- limit
+ jpeglib `boolean' redefinition to Cygwin builds.
+
2012-10-08 Eli Zaretskii <address@hidden>
* image.c (CHECK_LIB_AVAILABLE): Remove, no longer used.
=== modified file 'src/image.c'
--- a/src/image.c 2012-10-08 10:05:50 +0000
+++ b/src/image.c 2012-10-08 10:26:10 +0000
@@ -6061,21 +6061,26 @@
#define __WIN32__ 1
#endif
-#if 0 /* FIXME */
-/* Work around conflict between jpeg boolean and rpcndr.h
- under Windows. */
+/* rpcndr.h (via windows.h) and jpeglib.h both define boolean types.
+ Some versions of jpeglib try to detect whether rpcndr.h is loaded,
+ using the Windows boolean type instead of the jpeglib boolean type
+ if so. Cygwin jpeglib, however, doesn't try to detect whether its
+ headers are included along with windows.h, so under Cygwin, jpeglib
+ attempts to define a conflicting boolean type. Worse, forcing
+ Cygwin jpeglib headers to use the Windows boolean type doesn't work
+ because it created an ABI incompatibility between the
+ already-compiled jpeg library and the header interface definition.
+
+ The best we can do is to define jpeglib's boolean type to a
+ different name. This name, jpeg_boolean, remains in effect through
+ the rest of image.c.
+*/
+#if defined (CYGWIN) && defined (HAVE_NTGUI)
#define boolean jpeg_boolean
#endif
#include <jpeglib.h>
#include <jerror.h>
-/* Don't undefine boolean --- use the JPEG boolean
- through the rest of the file. */
-
-#ifdef HAVE_STLIB_H_1
-#define HAVE_STDLIB_H 1
-#endif
-
#ifdef WINDOWSNT
/* JPEG library details. */
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r110454: Improve fix for jpeglib build break,
Daniel Colascione <=