Commit 93aa5c81 authored by Daniel Colascione's avatar Daniel Colascione
Browse files

Improve fix for jpeglib build break

parent 5c0255d9
2012-10-08 Daniel Colascione <>
* image.c: Permanent fix for JPEG compilation issue --- limit
jpeglib `boolean' redefinition to Cygwin builds.
2012-10-08 Eli Zaretskii <>
* image.c (CHECK_LIB_AVAILABLE): Remove, no longer used.
......@@ -6061,21 +6061,26 @@ jpeg_image_p (Lisp_Object object)
#define __WIN32__ 1
#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
#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
/* JPEG library details. */
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment