unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Ken Brown <kbrown@cornell.edu>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Emacs <emacs-devel@gnu.org>
Subject: PIXEL_ALREADY_TYPEDEFED
Date: Tue, 14 Jun 2016 10:09:27 -0400	[thread overview]
Message-ID: <68d7f532-65df-5d3d-a650-5f1614fa3a6b@cornell.edu> (raw)

[-- Attachment #1: Type: text/plain, Size: 480 bytes --]

Eli,

To get rid of an "unused macro" warning in the Cygwin-w32 build, I want 
to remove the definition of PIXEL_ALREADY_TYPEDEFED from image.c.  (It's 
defined in simx.h, which is included by xpm.h, on Cygwin.)  In the 
course of doing this, I decided to do some cleanup that you suggested in 
the discussion of bug#18302.  See the attached patch, not yet installed.

Question: Should PIXEL_ALREADY_TYPEDEFED be removed unconditionally, or 
is it needed in the MinGW build?

Ken

[-- Attachment #2: 0001-Remove-system-specific-I-switch-from-Cygwin-w32-buil.patch --]
[-- Type: text/plain, Size: 2827 bytes --]

From 1b9f2aa93e2d8d024a1d0ec0b3b9227a99f017e2 Mon Sep 17 00:00:00 2001
From: Ken Brown <kbrown@cornell.edu>
Date: Tue, 14 Jun 2016 09:50:38 -0400
Subject: [PATCH] Remove system-specific -I switch from Cygwin-w32 build

Suggested by Eli Zaretskii in discussion of bug#18302.

* src/image.c [CYGWIN && HAVE_NTGUI]: Include "noX/xpm.h" instead
of "X11/xpm.h".  Remove the unused macro PIXEL_ALREADY_TYPEDEFED.

* configure.ac [CYGWIN && HAVE_W32]: Change the xpm test accordingly.
Don't add a -I switch to CPPFLAGS.
---
 configure.ac | 13 ++++---------
 src/image.c  |  8 ++++++--
 2 files changed, 10 insertions(+), 11 deletions(-)

diff --git a/configure.ac b/configure.ac
index 069a726..2674806 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3245,34 +3245,29 @@ AC_DEFUN
 
 ### Use -lXpm if available, unless '--with-xpm=no'.
 ### mingw32 doesn't use -lXpm, since it loads the library dynamically.
-### In the Cygwin-w32 build, we need to use /usr/include/noX/X11/xpm.h
-### rather than /usr/include/X11/xpm.h, so we set CPPFLAGS (and
-### LDFLAGS) accordingly.
+### The Cygwin-w32 build uses <noX/xpm.h> instead of <X11/xpm.h>, so
+### we need to set LDFLAGS accordingly.
 HAVE_XPM=no
 LIBXPM=
 if test "${HAVE_W32}" = "yes" && test "${opsys}" = "cygwin"; then
   if test "${with_xpm}" != "no"; then
-    SAVE_CPPFLAGS="$CPPFLAGS"
     SAVE_LDFLAGS="$LDFLAGS"
-    CPPFLAGS="$CPPFLAGS -I/usr/include/noX"
     LDFLAGS="$LDFLAGS -L/usr/lib/noX"
-    AC_CHECK_HEADER(X11/xpm.h,
+    AC_CHECK_HEADER(noX/xpm.h,
       [AC_CHECK_LIB(Xpm, XpmReadFileToImage, HAVE_XPM=yes)])
     if test "${HAVE_XPM}" = "yes"; then
       AC_MSG_CHECKING(for XpmReturnAllocPixels preprocessor define)
       AC_EGREP_CPP(no_return_alloc_pixels,
-      [#include "X11/xpm.h"
+      [#include "noX/xpm.h"
 #ifndef XpmReturnAllocPixels
 no_return_alloc_pixels
 #endif
       ], HAVE_XPM=no, HAVE_XPM=yes)
 
       if test "${HAVE_XPM}" = "yes"; then
-        REAL_CPPFLAGS="$REAL_CPPFLAGS -I/usr/include/noX"
 	AC_MSG_RESULT(yes)
       else
 	AC_MSG_RESULT(no)
-        CPPFLAGS="$SAVE_CPPFLAGS"
         LDFLAGS="$SAVE_LDFLAGS"
       fi
     fi
diff --git a/src/image.c b/src/image.c
index 38866e0..8d33c6d 100644
--- a/src/image.c
+++ b/src/image.c
@@ -3159,16 +3159,20 @@ static bool xpm_load (struct frame *f, struct image *img);
 #define XColor xpm_XColor
 #define XImage xpm_XImage
 #define Display xpm_Display
+#ifdef CYGWIN
+#include "noX/xpm.h"
+#else  /* not CYGWIN */
 #define PIXEL_ALREADY_TYPEDEFED
 #include "X11/xpm.h"
+#endif	/* not CYGWIN */
 #undef FOR_MSW
 #undef XColor
 #undef XImage
 #undef Display
 #undef PIXEL_ALREADY_TYPEDEFED
-#else
+#else  /* not HAVE_NTGUI */
 #include "X11/xpm.h"
-#endif /* HAVE_NTGUI */
+#endif /* not HAVE_NTGUI */
 #endif /* HAVE_XPM */
 
 #if defined (HAVE_XPM) || defined (HAVE_NS)
-- 
2.8.3


             reply	other threads:[~2016-06-14 14:09 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-14 14:09 Ken Brown [this message]
2016-06-14 15:11 ` PIXEL_ALREADY_TYPEDEFED Eli Zaretskii
2016-06-14 17:50   ` PIXEL_ALREADY_TYPEDEFED Ken Brown

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=68d7f532-65df-5d3d-a650-5f1614fa3a6b@cornell.edu \
    --to=kbrown@cornell.edu \
    --cc=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).