qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Gerd Hoffmann <kraxel@redhat.com>
To: qemu-devel@nongnu.org
Cc: Stefan Weil <sw@weilnetz.de>, Gerd Hoffmann <kraxel@redhat.com>
Subject: [Qemu-devel] [PULL 11/11] curses: Fix compiler warnings (Mingw-w64 redefinition of macro KEY_EVENT)
Date: Wed,  4 Jan 2017 12:21:23 +0100	[thread overview]
Message-ID: <1483528883-1753-12-git-send-email-kraxel@redhat.com> (raw)
In-Reply-To: <1483528883-1753-1-git-send-email-kraxel@redhat.com>

From: Stefan Weil <sw@weilnetz.de>

For builds with Mingw-w64 as it is included in Cygwin, there are two
header files which define KEY_EVENT with different values.

This results in lots of compiler warnings like this one:

  CC      vl.o
In file included from /qemu/include/ui/console.h:340:0,
                 from /qemu/vl.c:76:
/usr/i686-w64-mingw32/sys-root/mingw/include/curses.h:1522:0: warning: "KEY_EVENT" redefined
 #define KEY_EVENT 0633  /* We were interrupted by an event */

In file included from /usr/share/mingw-w64/include/windows.h:74:0,
                 from /usr/share/mingw-w64/include/winsock2.h:23,
                 from /qemu/include/sysemu/os-win32.h:29,
                 from /qemu/include/qemu/osdep.h:100,
                 from /qemu/vl.c:24:
/usr/share/mingw-w64/include/wincon.h:101:0: note: this is the location of the previous definition
 #define KEY_EVENT 0x1

QEMU only uses the KEY_EVENT macro from wincon.h.
Therefore we can undefine the macro coming from curses.h.

The explicit include statement for curses.h in ui/curses.c is not needed
and was removed.

Those two modifications fix the redefinition warnings.

Signed-off-by: Stefan Weil <sw@weilnetz.de>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-id: 20161119185318.10564-1-sw@weilnetz.de
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 include/ui/console.h | 3 +++
 ui/curses.c          | 1 -
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/ui/console.h b/include/ui/console.h
index 753ae93..7fb351f 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -334,7 +334,10 @@ static inline pixman_format_code_t surface_format(DisplaySurface *s)
 }
 
 #ifdef CONFIG_CURSES
+/* KEY_EVENT is defined in wincon.h and in curses.h. Avoid redefinition. */
+#undef KEY_EVENT
 #include <curses.h>
+#undef KEY_EVENT
 typedef chtype console_ch_t;
 extern chtype vga_to_curses[];
 #else
diff --git a/ui/curses.c b/ui/curses.c
index 2e132a7..03cefdf 100644
--- a/ui/curses.c
+++ b/ui/curses.c
@@ -22,7 +22,6 @@
  * THE SOFTWARE.
  */
 #include "qemu/osdep.h"
-#include <curses.h>
 
 #ifndef _WIN32
 #include <sys/ioctl.h>
-- 
1.8.3.1

      parent reply	other threads:[~2017-01-04 11:21 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-01-04 11:21 [Qemu-devel] [PULL 00/11] ui patch queue Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 01/11] ui/gtk: fix crash at startup when no console is available Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 02/11] ui: use evdev keymap when running under wayland Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 03/11] ps2: Fix lost scancodes by recent changes Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 04/11] console: add API to get underlying gui window ID Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 05/11] console: move window ID code from baum to sdl Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 06/11] sdl2: set window ID Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 07/11] egl-helpers: Change file licensing to LGPLv2 Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 08/11] gtk: avoid oob array access Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 09/11] ui: drop unused MOUSE_EVENT_WHEEL{UP, DN} defines Gerd Hoffmann
2017-01-04 11:21 ` [Qemu-devel] [PULL 10/11] ui/vnc: Fix problem with sending too many bytes as server name Gerd Hoffmann
2017-01-04 11:21 ` Gerd Hoffmann [this message]

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

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

  git send-email \
    --in-reply-to=1483528883-1753-12-git-send-email-kraxel@redhat.com \
    --to=kraxel@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=sw@weilnetz.de \
    /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.
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 NNTP newsgroup(s).