All of lore.kernel.org
 help / color / mirror / Atom feed
* [Qemu-devel] [PULL 0/6] ui patch queue.
@ 2016-10-28 12:11 Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device Gerd Hoffmann
                   ` (6 more replies)
  0 siblings, 7 replies; 19+ messages in thread
From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: Gerd Hoffmann

  Hi,

Here comes the UI patch queue with bugfixes for gtk and curses UIs and
the baum braille support.

I've cherry-picked from Samuel's patches the ones which are ready to
merge.  There is more in the pipeline for better unicode support in
curses, but those will probably not make the 2.8 freeze deadline.

please pull,
  Gerd

The following changes since commit db4df20de86c6e8ecd6c9f042c029ffb9f9cddac:

  trace: Fix 'char **' compilation error in simple backend (2016-10-27 19:24:15 +0100)

are available in the git repository at:

  git://git.kraxel.org/qemu tags/pull-ui-20161028-1

for you to fetch changes up to 8ddc5bf9e5de51c2a4842c01dd3a97f5591776fd:

  curses: Use cursesw instead of curses (2016-10-28 11:19:38 +0200)

----------------------------------------------------------------
braille fixes and improvements.
curses fix, switch to cursesw.
gtk bugfixes.

----------------------------------------------------------------
Alberto Garcia (1):
      gtk: fix compilation warning with gtk 3.22.2

Samuel Thibault (4):
      Add dots keypresses support to the baum braille device
      Defer BrlAPI tty acquisition to when guest starts using device
      curses: fix left/right arrow translation
      curses: Use cursesw instead of curses

Thomas Huth (1):
      ui/gtk: Fix non-working DELETE key

 backends/baum.c | 305 ++++++++++++++++++++++++++++++++------------------------
 configure       |  29 ++++--
 ui/curses.c     |   4 +-
 ui/gtk.c        |  27 ++++-
 4 files changed, 220 insertions(+), 145 deletions(-)

^ permalink raw reply	[flat|nested] 19+ messages in thread

* [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device
  2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann
@ 2016-10-28 12:11 ` Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 2/6] Defer BrlAPI tty acquisition to when guest starts using device Gerd Hoffmann
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: Samuel Thibault, Gerd Hoffmann

From: Samuel Thibault <samuel.thibault@ens-lyon.org>

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 backends/baum.c | 224 +++++++++++++++++++++++++++++++-------------------------
 1 file changed, 125 insertions(+), 99 deletions(-)

diff --git a/backends/baum.c b/backends/baum.c
index 919844e..dedc520 100644
--- a/backends/baum.c
+++ b/backends/baum.c
@@ -1,7 +1,7 @@
 /*
  * QEMU Baum Braille Device
  *
- * Copyright (c) 2008 Samuel Thibault
+ * Copyright (c) 2008, 2010-2011, 2016 Samuel Thibault
  *
  * Permission is hereby granted, free of charge, to any person obtaining a copy
  * of this software and associated documentation files (the "Software"), to deal
@@ -102,8 +102,11 @@ typedef struct {
 } BaumDriverState;
 
 /* Let's assume NABCC by default */
-static const uint8_t nabcc_translation[256] = {
-    [0] = ' ',
+enum way {
+    DOTS2ASCII,
+    ASCII2DOTS
+};
+static const uint8_t nabcc_translation[2][256] = {
 #ifndef BRLAPI_DOTS
 #define BRLAPI_DOTS(d1,d2,d3,d4,d5,d6,d7,d8) \
     ((d1?BRLAPI_DOT1:0)|\
@@ -115,105 +118,109 @@ static const uint8_t nabcc_translation[256] = {
      (d7?BRLAPI_DOT7:0)|\
      (d8?BRLAPI_DOT8:0))
 #endif
-    [BRLAPI_DOTS(1,0,0,0,0,0,0,0)] = 'a',
-    [BRLAPI_DOTS(1,1,0,0,0,0,0,0)] = 'b',
-    [BRLAPI_DOTS(1,0,0,1,0,0,0,0)] = 'c',
-    [BRLAPI_DOTS(1,0,0,1,1,0,0,0)] = 'd',
-    [BRLAPI_DOTS(1,0,0,0,1,0,0,0)] = 'e',
-    [BRLAPI_DOTS(1,1,0,1,0,0,0,0)] = 'f',
-    [BRLAPI_DOTS(1,1,0,1,1,0,0,0)] = 'g',
-    [BRLAPI_DOTS(1,1,0,0,1,0,0,0)] = 'h',
-    [BRLAPI_DOTS(0,1,0,1,0,0,0,0)] = 'i',
-    [BRLAPI_DOTS(0,1,0,1,1,0,0,0)] = 'j',
-    [BRLAPI_DOTS(1,0,1,0,0,0,0,0)] = 'k',
-    [BRLAPI_DOTS(1,1,1,0,0,0,0,0)] = 'l',
-    [BRLAPI_DOTS(1,0,1,1,0,0,0,0)] = 'm',
-    [BRLAPI_DOTS(1,0,1,1,1,0,0,0)] = 'n',
-    [BRLAPI_DOTS(1,0,1,0,1,0,0,0)] = 'o',
-    [BRLAPI_DOTS(1,1,1,1,0,0,0,0)] = 'p',
-    [BRLAPI_DOTS(1,1,1,1,1,0,0,0)] = 'q',
-    [BRLAPI_DOTS(1,1,1,0,1,0,0,0)] = 'r',
-    [BRLAPI_DOTS(0,1,1,1,0,0,0,0)] = 's',
-    [BRLAPI_DOTS(0,1,1,1,1,0,0,0)] = 't',
-    [BRLAPI_DOTS(1,0,1,0,0,1,0,0)] = 'u',
-    [BRLAPI_DOTS(1,1,1,0,0,1,0,0)] = 'v',
-    [BRLAPI_DOTS(0,1,0,1,1,1,0,0)] = 'w',
-    [BRLAPI_DOTS(1,0,1,1,0,1,0,0)] = 'x',
-    [BRLAPI_DOTS(1,0,1,1,1,1,0,0)] = 'y',
-    [BRLAPI_DOTS(1,0,1,0,1,1,0,0)] = 'z',
+#define DO(dots, ascii) \
+    [DOTS2ASCII][dots] = ascii, \
+    [ASCII2DOTS][ascii] = dots
+    DO(0, ' '),
+    DO(BRLAPI_DOTS(1, 0, 0, 0, 0, 0, 0, 0), 'a'),
+    DO(BRLAPI_DOTS(1, 1, 0, 0, 0, 0, 0, 0), 'b'),
+    DO(BRLAPI_DOTS(1, 0, 0, 1, 0, 0, 0, 0), 'c'),
+    DO(BRLAPI_DOTS(1, 0, 0, 1, 1, 0, 0, 0), 'd'),
+    DO(BRLAPI_DOTS(1, 0, 0, 0, 1, 0, 0, 0), 'e'),
+    DO(BRLAPI_DOTS(1, 1, 0, 1, 0, 0, 0, 0), 'f'),
+    DO(BRLAPI_DOTS(1, 1, 0, 1, 1, 0, 0, 0), 'g'),
+    DO(BRLAPI_DOTS(1, 1, 0, 0, 1, 0, 0, 0), 'h'),
+    DO(BRLAPI_DOTS(0, 1, 0, 1, 0, 0, 0, 0), 'i'),
+    DO(BRLAPI_DOTS(0, 1, 0, 1, 1, 0, 0, 0), 'j'),
+    DO(BRLAPI_DOTS(1, 0, 1, 0, 0, 0, 0, 0), 'k'),
+    DO(BRLAPI_DOTS(1, 1, 1, 0, 0, 0, 0, 0), 'l'),
+    DO(BRLAPI_DOTS(1, 0, 1, 1, 0, 0, 0, 0), 'm'),
+    DO(BRLAPI_DOTS(1, 0, 1, 1, 1, 0, 0, 0), 'n'),
+    DO(BRLAPI_DOTS(1, 0, 1, 0, 1, 0, 0, 0), 'o'),
+    DO(BRLAPI_DOTS(1, 1, 1, 1, 0, 0, 0, 0), 'p'),
+    DO(BRLAPI_DOTS(1, 1, 1, 1, 1, 0, 0, 0), 'q'),
+    DO(BRLAPI_DOTS(1, 1, 1, 0, 1, 0, 0, 0), 'r'),
+    DO(BRLAPI_DOTS(0, 1, 1, 1, 0, 0, 0, 0), 's'),
+    DO(BRLAPI_DOTS(0, 1, 1, 1, 1, 0, 0, 0), 't'),
+    DO(BRLAPI_DOTS(1, 0, 1, 0, 0, 1, 0, 0), 'u'),
+    DO(BRLAPI_DOTS(1, 1, 1, 0, 0, 1, 0, 0), 'v'),
+    DO(BRLAPI_DOTS(0, 1, 0, 1, 1, 1, 0, 0), 'w'),
+    DO(BRLAPI_DOTS(1, 0, 1, 1, 0, 1, 0, 0), 'x'),
+    DO(BRLAPI_DOTS(1, 0, 1, 1, 1, 1, 0, 0), 'y'),
+    DO(BRLAPI_DOTS(1, 0, 1, 0, 1, 1, 0, 0), 'z'),
 
-    [BRLAPI_DOTS(1,0,0,0,0,0,1,0)] = 'A',
-    [BRLAPI_DOTS(1,1,0,0,0,0,1,0)] = 'B',
-    [BRLAPI_DOTS(1,0,0,1,0,0,1,0)] = 'C',
-    [BRLAPI_DOTS(1,0,0,1,1,0,1,0)] = 'D',
-    [BRLAPI_DOTS(1,0,0,0,1,0,1,0)] = 'E',
-    [BRLAPI_DOTS(1,1,0,1,0,0,1,0)] = 'F',
-    [BRLAPI_DOTS(1,1,0,1,1,0,1,0)] = 'G',
-    [BRLAPI_DOTS(1,1,0,0,1,0,1,0)] = 'H',
-    [BRLAPI_DOTS(0,1,0,1,0,0,1,0)] = 'I',
-    [BRLAPI_DOTS(0,1,0,1,1,0,1,0)] = 'J',
-    [BRLAPI_DOTS(1,0,1,0,0,0,1,0)] = 'K',
-    [BRLAPI_DOTS(1,1,1,0,0,0,1,0)] = 'L',
-    [BRLAPI_DOTS(1,0,1,1,0,0,1,0)] = 'M',
-    [BRLAPI_DOTS(1,0,1,1,1,0,1,0)] = 'N',
-    [BRLAPI_DOTS(1,0,1,0,1,0,1,0)] = 'O',
-    [BRLAPI_DOTS(1,1,1,1,0,0,1,0)] = 'P',
-    [BRLAPI_DOTS(1,1,1,1,1,0,1,0)] = 'Q',
-    [BRLAPI_DOTS(1,1,1,0,1,0,1,0)] = 'R',
-    [BRLAPI_DOTS(0,1,1,1,0,0,1,0)] = 'S',
-    [BRLAPI_DOTS(0,1,1,1,1,0,1,0)] = 'T',
-    [BRLAPI_DOTS(1,0,1,0,0,1,1,0)] = 'U',
-    [BRLAPI_DOTS(1,1,1,0,0,1,1,0)] = 'V',
-    [BRLAPI_DOTS(0,1,0,1,1,1,1,0)] = 'W',
-    [BRLAPI_DOTS(1,0,1,1,0,1,1,0)] = 'X',
-    [BRLAPI_DOTS(1,0,1,1,1,1,1,0)] = 'Y',
-    [BRLAPI_DOTS(1,0,1,0,1,1,1,0)] = 'Z',
+    DO(BRLAPI_DOTS(1, 0, 0, 0, 0, 0, 1, 0), 'A'),
+    DO(BRLAPI_DOTS(1, 1, 0, 0, 0, 0, 1, 0), 'B'),
+    DO(BRLAPI_DOTS(1, 0, 0, 1, 0, 0, 1, 0), 'C'),
+    DO(BRLAPI_DOTS(1, 0, 0, 1, 1, 0, 1, 0), 'D'),
+    DO(BRLAPI_DOTS(1, 0, 0, 0, 1, 0, 1, 0), 'E'),
+    DO(BRLAPI_DOTS(1, 1, 0, 1, 0, 0, 1, 0), 'F'),
+    DO(BRLAPI_DOTS(1, 1, 0, 1, 1, 0, 1, 0), 'G'),
+    DO(BRLAPI_DOTS(1, 1, 0, 0, 1, 0, 1, 0), 'H'),
+    DO(BRLAPI_DOTS(0, 1, 0, 1, 0, 0, 1, 0), 'I'),
+    DO(BRLAPI_DOTS(0, 1, 0, 1, 1, 0, 1, 0), 'J'),
+    DO(BRLAPI_DOTS(1, 0, 1, 0, 0, 0, 1, 0), 'K'),
+    DO(BRLAPI_DOTS(1, 1, 1, 0, 0, 0, 1, 0), 'L'),
+    DO(BRLAPI_DOTS(1, 0, 1, 1, 0, 0, 1, 0), 'M'),
+    DO(BRLAPI_DOTS(1, 0, 1, 1, 1, 0, 1, 0), 'N'),
+    DO(BRLAPI_DOTS(1, 0, 1, 0, 1, 0, 1, 0), 'O'),
+    DO(BRLAPI_DOTS(1, 1, 1, 1, 0, 0, 1, 0), 'P'),
+    DO(BRLAPI_DOTS(1, 1, 1, 1, 1, 0, 1, 0), 'Q'),
+    DO(BRLAPI_DOTS(1, 1, 1, 0, 1, 0, 1, 0), 'R'),
+    DO(BRLAPI_DOTS(0, 1, 1, 1, 0, 0, 1, 0), 'S'),
+    DO(BRLAPI_DOTS(0, 1, 1, 1, 1, 0, 1, 0), 'T'),
+    DO(BRLAPI_DOTS(1, 0, 1, 0, 0, 1, 1, 0), 'U'),
+    DO(BRLAPI_DOTS(1, 1, 1, 0, 0, 1, 1, 0), 'V'),
+    DO(BRLAPI_DOTS(0, 1, 0, 1, 1, 1, 1, 0), 'W'),
+    DO(BRLAPI_DOTS(1, 0, 1, 1, 0, 1, 1, 0), 'X'),
+    DO(BRLAPI_DOTS(1, 0, 1, 1, 1, 1, 1, 0), 'Y'),
+    DO(BRLAPI_DOTS(1, 0, 1, 0, 1, 1, 1, 0), 'Z'),
 
-    [BRLAPI_DOTS(0,0,1,0,1,1,0,0)] = '0',
-    [BRLAPI_DOTS(0,1,0,0,0,0,0,0)] = '1',
-    [BRLAPI_DOTS(0,1,1,0,0,0,0,0)] = '2',
-    [BRLAPI_DOTS(0,1,0,0,1,0,0,0)] = '3',
-    [BRLAPI_DOTS(0,1,0,0,1,1,0,0)] = '4',
-    [BRLAPI_DOTS(0,1,0,0,0,1,0,0)] = '5',
-    [BRLAPI_DOTS(0,1,1,0,1,0,0,0)] = '6',
-    [BRLAPI_DOTS(0,1,1,0,1,1,0,0)] = '7',
-    [BRLAPI_DOTS(0,1,1,0,0,1,0,0)] = '8',
-    [BRLAPI_DOTS(0,0,1,0,1,0,0,0)] = '9',
+    DO(BRLAPI_DOTS(0, 0, 1, 0, 1, 1, 0, 0), '0'),
+    DO(BRLAPI_DOTS(0, 1, 0, 0, 0, 0, 0, 0), '1'),
+    DO(BRLAPI_DOTS(0, 1, 1, 0, 0, 0, 0, 0), '2'),
+    DO(BRLAPI_DOTS(0, 1, 0, 0, 1, 0, 0, 0), '3'),
+    DO(BRLAPI_DOTS(0, 1, 0, 0, 1, 1, 0, 0), '4'),
+    DO(BRLAPI_DOTS(0, 1, 0, 0, 0, 1, 0, 0), '5'),
+    DO(BRLAPI_DOTS(0, 1, 1, 0, 1, 0, 0, 0), '6'),
+    DO(BRLAPI_DOTS(0, 1, 1, 0, 1, 1, 0, 0), '7'),
+    DO(BRLAPI_DOTS(0, 1, 1, 0, 0, 1, 0, 0), '8'),
+    DO(BRLAPI_DOTS(0, 0, 1, 0, 1, 0, 0, 0), '9'),
 
-    [BRLAPI_DOTS(0,0,0,1,0,1,0,0)] = '.',
-    [BRLAPI_DOTS(0,0,1,1,0,1,0,0)] = '+',
-    [BRLAPI_DOTS(0,0,1,0,0,1,0,0)] = '-',
-    [BRLAPI_DOTS(1,0,0,0,0,1,0,0)] = '*',
-    [BRLAPI_DOTS(0,0,1,1,0,0,0,0)] = '/',
-    [BRLAPI_DOTS(1,1,1,0,1,1,0,0)] = '(',
-    [BRLAPI_DOTS(0,1,1,1,1,1,0,0)] = ')',
+    DO(BRLAPI_DOTS(0, 0, 0, 1, 0, 1, 0, 0), '.'),
+    DO(BRLAPI_DOTS(0, 0, 1, 1, 0, 1, 0, 0), '+'),
+    DO(BRLAPI_DOTS(0, 0, 1, 0, 0, 1, 0, 0), '-'),
+    DO(BRLAPI_DOTS(1, 0, 0, 0, 0, 1, 0, 0), '*'),
+    DO(BRLAPI_DOTS(0, 0, 1, 1, 0, 0, 0, 0), '/'),
+    DO(BRLAPI_DOTS(1, 1, 1, 0, 1, 1, 0, 0), '('),
+    DO(BRLAPI_DOTS(0, 1, 1, 1, 1, 1, 0, 0), ')'),
 
-    [BRLAPI_DOTS(1,1,1,1,0,1,0,0)] = '&',
-    [BRLAPI_DOTS(0,0,1,1,1,1,0,0)] = '#',
+    DO(BRLAPI_DOTS(1, 1, 1, 1, 0, 1, 0, 0), '&'),
+    DO(BRLAPI_DOTS(0, 0, 1, 1, 1, 1, 0, 0), '#'),
 
-    [BRLAPI_DOTS(0,0,0,0,0,1,0,0)] = ',',
-    [BRLAPI_DOTS(0,0,0,0,1,1,0,0)] = ';',
-    [BRLAPI_DOTS(1,0,0,0,1,1,0,0)] = ':',
-    [BRLAPI_DOTS(0,1,1,1,0,1,0,0)] = '!',
-    [BRLAPI_DOTS(1,0,0,1,1,1,0,0)] = '?',
-    [BRLAPI_DOTS(0,0,0,0,1,0,0,0)] = '"',
-    [BRLAPI_DOTS(0,0,1,0,0,0,0,0)] ='\'',
-    [BRLAPI_DOTS(0,0,0,1,0,0,0,0)] = '`',
-    [BRLAPI_DOTS(0,0,0,1,1,0,1,0)] = '^',
-    [BRLAPI_DOTS(0,0,0,1,1,0,0,0)] = '~',
-    [BRLAPI_DOTS(0,1,0,1,0,1,1,0)] = '[',
-    [BRLAPI_DOTS(1,1,0,1,1,1,1,0)] = ']',
-    [BRLAPI_DOTS(0,1,0,1,0,1,0,0)] = '{',
-    [BRLAPI_DOTS(1,1,0,1,1,1,0,0)] = '}',
-    [BRLAPI_DOTS(1,1,1,1,1,1,0,0)] = '=',
-    [BRLAPI_DOTS(1,1,0,0,0,1,0,0)] = '<',
-    [BRLAPI_DOTS(0,0,1,1,1,0,0,0)] = '>',
-    [BRLAPI_DOTS(1,1,0,1,0,1,0,0)] = '$',
-    [BRLAPI_DOTS(1,0,0,1,0,1,0,0)] = '%',
-    [BRLAPI_DOTS(0,0,0,1,0,0,1,0)] = '@',
-    [BRLAPI_DOTS(1,1,0,0,1,1,0,0)] = '|',
-    [BRLAPI_DOTS(1,1,0,0,1,1,1,0)] ='\\',
-    [BRLAPI_DOTS(0,0,0,1,1,1,0,0)] = '_',
+    DO(BRLAPI_DOTS(0, 0, 0, 0, 0, 1, 0, 0), ','),
+    DO(BRLAPI_DOTS(0, 0, 0, 0, 1, 1, 0, 0), ';'),
+    DO(BRLAPI_DOTS(1, 0, 0, 0, 1, 1, 0, 0), ':'),
+    DO(BRLAPI_DOTS(0, 1, 1, 1, 0, 1, 0, 0), '!'),
+    DO(BRLAPI_DOTS(1, 0, 0, 1, 1, 1, 0, 0), '?'),
+    DO(BRLAPI_DOTS(0, 0, 0, 0, 1, 0, 0, 0), '"'),
+    DO(BRLAPI_DOTS(0, 0, 1, 0, 0, 0, 0, 0), '\''),
+    DO(BRLAPI_DOTS(0, 0, 0, 1, 0, 0, 0, 0), '`'),
+    DO(BRLAPI_DOTS(0, 0, 0, 1, 1, 0, 1, 0), '^'),
+    DO(BRLAPI_DOTS(0, 0, 0, 1, 1, 0, 0, 0), '~'),
+    DO(BRLAPI_DOTS(0, 1, 0, 1, 0, 1, 1, 0), '['),
+    DO(BRLAPI_DOTS(1, 1, 0, 1, 1, 1, 1, 0), ']'),
+    DO(BRLAPI_DOTS(0, 1, 0, 1, 0, 1, 0, 0), '{'),
+    DO(BRLAPI_DOTS(1, 1, 0, 1, 1, 1, 0, 0), '}'),
+    DO(BRLAPI_DOTS(1, 1, 1, 1, 1, 1, 0, 0), '='),
+    DO(BRLAPI_DOTS(1, 1, 0, 0, 0, 1, 0, 0), '<'),
+    DO(BRLAPI_DOTS(0, 0, 1, 1, 1, 0, 0, 0), '>'),
+    DO(BRLAPI_DOTS(1, 1, 0, 1, 0, 1, 0, 0), '$'),
+    DO(BRLAPI_DOTS(1, 0, 0, 1, 0, 1, 0, 0), '%'),
+    DO(BRLAPI_DOTS(0, 0, 0, 1, 0, 0, 1, 0), '@'),
+    DO(BRLAPI_DOTS(1, 1, 0, 0, 1, 1, 0, 0), '|'),
+    DO(BRLAPI_DOTS(1, 1, 0, 0, 1, 1, 1, 0), '\\'),
+    DO(BRLAPI_DOTS(0, 0, 0, 1, 1, 1, 0, 0), '_'),
 };
 
 /* The serial port can receive more of our data */
@@ -346,8 +353,10 @@ static int baum_eat_packet(BaumDriverState *baum, const uint8_t *buf, int len)
                 cursor = i + 1;
                 c &= ~(BRLAPI_DOT7|BRLAPI_DOT8);
             }
-            if (!(c = nabcc_translation[c]))
+            c = nabcc_translation[DOTS2ASCII][c];
+            if (!c) {
                 c = '?';
+            }
             text[i] = c;
         }
         timer_del(baum->cellCount_timer);
@@ -476,6 +485,13 @@ static void baum_send_key(BaumDriverState *baum, uint8_t type, uint8_t value) {
     baum_write_packet(baum, packet, sizeof(packet));
 }
 
+static void baum_send_key2(BaumDriverState *baum, uint8_t type, uint8_t value,
+                           uint8_t value2) {
+    uint8_t packet[] = { type, value, value2 };
+    DPRINTF("writing key %x %x\n", type, value);
+    baum_write_packet(baum, packet, sizeof(packet));
+}
+
 /* We got some data on the BrlAPI socket */
 static void baum_chr_read(void *opaque)
 {
@@ -540,7 +556,17 @@ static void baum_chr_read(void *opaque)
             }
             break;
         case BRLAPI_KEY_TYPE_SYM:
-            break;
+            {
+                brlapi_keyCode_t keysym = code & BRLAPI_KEY_CODE_MASK;
+                if (keysym < 0x100) {
+                    uint8_t dots = nabcc_translation[ASCII2DOTS][keysym];
+                    if (dots) {
+                        baum_send_key2(baum, BAUM_RSP_EntryKeys, 0, dots);
+                        baum_send_key2(baum, BAUM_RSP_EntryKeys, 0, 0);
+                    }
+                }
+                break;
+            }
         }
     }
     if (ret == -1 && (brlapi_errno != BRLAPI_ERROR_LIBCERR || errno != EINTR)) {
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Qemu-devel] [PULL 2/6] Defer BrlAPI tty acquisition to when guest starts using device
  2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device Gerd Hoffmann
@ 2016-10-28 12:11 ` Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 3/6] gtk: fix compilation warning with gtk 3.22.2 Gerd Hoffmann
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: Samuel Thibault, Gerd Hoffmann

From: Samuel Thibault <samuel.thibault@ens-lyon.org>

We do not want to catch the BrlAPI input/ouput immediately, but only
when the guest has started discussing withour virtual device.

This notably fixes input before the guest driver has started.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 backends/baum.c | 81 ++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 49 insertions(+), 32 deletions(-)

diff --git a/backends/baum.c b/backends/baum.c
index dedc520..b92369d 100644
--- a/backends/baum.c
+++ b/backends/baum.c
@@ -92,6 +92,7 @@ typedef struct {
     brlapi_handle_t *brlapi;
     int brlapi_fd;
     unsigned int x, y;
+    bool deferred_init;
 
     uint8_t in_buf[BUF_SIZE];
     uint8_t in_buf_used;
@@ -223,6 +224,49 @@ static const uint8_t nabcc_translation[2][256] = {
     DO(BRLAPI_DOTS(0, 0, 0, 1, 1, 1, 0, 0), '_'),
 };
 
+/* The guest OS has started discussing with us, finish initializing BrlAPI */
+static int baum_deferred_init(BaumDriverState *baum)
+{
+#if defined(CONFIG_SDL)
+#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
+    SDL_SysWMinfo info;
+#endif
+#endif
+    int tty;
+
+    if (baum->deferred_init) {
+        return 1;
+    }
+
+    if (brlapi__getDisplaySize(baum->brlapi, &baum->x, &baum->y) == -1) {
+        brlapi_perror("baum: brlapi__getDisplaySize");
+        return 0;
+    }
+
+#if defined(CONFIG_SDL)
+#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
+    memset(&info, 0, sizeof(info));
+    SDL_VERSION(&info.version);
+    if (SDL_GetWMInfo(&info)) {
+        tty = info.info.x11.wmwindow;
+    } else {
+#endif
+#endif
+        tty = BRLAPI_TTY_DEFAULT;
+#if defined(CONFIG_SDL)
+#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
+    }
+#endif
+#endif
+
+    if (brlapi__enterTtyMode(baum->brlapi, tty, NULL) == -1) {
+        brlapi_perror("baum: brlapi__enterTtyMode");
+        return 0;
+    }
+    baum->deferred_init = 1;
+    return 1;
+}
+
 /* The serial port can receive more of our data */
 static void baum_accept_input(struct CharDriverState *chr)
 {
@@ -449,6 +493,8 @@ static int baum_write(CharDriverState *chr, const uint8_t *buf, int len)
         return 0;
     if (!baum->brlapi)
         return len;
+    if (!baum_deferred_init(baum))
+        return len;
 
     while (len) {
         /* Complete our buffer as much as possible */
@@ -500,6 +546,8 @@ static void baum_chr_read(void *opaque)
     int ret;
     if (!baum->brlapi)
         return;
+    if (!baum_deferred_init(baum))
+        return;
     while ((ret = brlapi__readKey(baum->brlapi, 0, &code)) == 1) {
         DPRINTF("got key %"BRLAPI_PRIxKEYCODE"\n", code);
         /* Emulate */
@@ -599,12 +647,6 @@ static CharDriverState *chr_baum_init(const char *id,
     BaumDriverState *baum;
     CharDriverState *chr;
     brlapi_handle_t *handle;
-#if defined(CONFIG_SDL)
-#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
-    SDL_SysWMinfo info;
-#endif
-#endif
-    int tty;
 
     chr = qemu_chr_alloc(common, errp);
     if (!chr) {
@@ -627,39 +669,14 @@ static CharDriverState *chr_baum_init(const char *id,
                    brlapi_strerror(brlapi_error_location()));
         goto fail_handle;
     }
+    baum->deferred_init = 0;
 
     baum->cellCount_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, baum_cellCount_timer_cb, baum);
 
-    if (brlapi__getDisplaySize(handle, &baum->x, &baum->y) == -1) {
-        error_setg(errp, "brlapi__getDisplaySize: %s",
-                   brlapi_strerror(brlapi_error_location()));
-        goto fail;
-    }
-
-#if defined(CONFIG_SDL)
-#if SDL_COMPILEDVERSION < SDL_VERSIONNUM(2, 0, 0)
-    memset(&info, 0, sizeof(info));
-    SDL_VERSION(&info.version);
-    if (SDL_GetWMInfo(&info))
-        tty = info.info.x11.wmwindow;
-    else
-#endif
-#endif
-        tty = BRLAPI_TTY_DEFAULT;
-
-    if (brlapi__enterTtyMode(handle, tty, NULL) == -1) {
-        error_setg(errp, "brlapi__enterTtyMode: %s",
-                   brlapi_strerror(brlapi_error_location()));
-        goto fail;
-    }
-
     qemu_set_fd_handler(baum->brlapi_fd, baum_chr_read, NULL, baum);
 
     return chr;
 
-fail:
-    timer_free(baum->cellCount_timer);
-    brlapi__closeConnection(handle);
 fail_handle:
     g_free(handle);
     g_free(chr);
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Qemu-devel] [PULL 3/6] gtk: fix compilation warning with gtk 3.22.2
  2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 2/6] Defer BrlAPI tty acquisition to when guest starts using device Gerd Hoffmann
@ 2016-10-28 12:11 ` Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 4/6] ui/gtk: Fix non-working DELETE key Gerd Hoffmann
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: Alberto Garcia, Gerd Hoffmann

From: Alberto Garcia <berto@igalia.com>

gdk_screen_get_width() is deprecated since gtk 3.22.2, use
gdk_monitor_get_geometry() instead if it's available.

Signed-off-by: Alberto Garcia <berto@igalia.com>
Message-id: 20161026152108.12364-1-berto@igalia.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/gtk.c | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index 25e6d99..dd13982 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -912,9 +912,28 @@ static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion,
 
     if (!qemu_input_is_absolute() && s->ptr_owner == vc) {
         GdkScreen *screen = gtk_widget_get_screen(vc->gfx.drawing_area);
+        int screen_width, screen_height;
+
         int x = (int)motion->x_root;
         int y = (int)motion->y_root;
 
+#if GTK_CHECK_VERSION(3, 22, 0)
+        {
+            GdkDisplay *dpy = gtk_widget_get_display(widget);
+            GdkWindow *win = gtk_widget_get_window(widget);
+            GdkMonitor *monitor = gdk_display_get_monitor_at_window(dpy, win);
+            GdkRectangle geometry;
+            gdk_monitor_get_geometry(monitor, &geometry);
+            screen_width = geometry.width;
+            screen_height = geometry.height;
+        }
+#else
+        {
+            screen_width = gdk_screen_get_width(screen);
+            screen_height = gdk_screen_get_height(screen);
+        }
+#endif
+
         /* In relative mode check to see if client pointer hit
          * one of the screen edges, and if so move it back by
          * 200 pixels. This is important because the pointer
@@ -928,10 +947,10 @@ static gboolean gd_motion_event(GtkWidget *widget, GdkEventMotion *motion,
         if (y == 0) {
             y += 200;
         }
-        if (x == (gdk_screen_get_width(screen) - 1)) {
+        if (x == (screen_width - 1)) {
             x -= 200;
         }
-        if (y == (gdk_screen_get_height(screen) - 1)) {
+        if (y == (screen_height - 1)) {
             y -= 200;
         }
 
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Qemu-devel] [PULL 4/6] ui/gtk: Fix non-working DELETE key
  2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann
                   ` (2 preceding siblings ...)
  2016-10-28 12:11 ` [Qemu-devel] [PULL 3/6] gtk: fix compilation warning with gtk 3.22.2 Gerd Hoffmann
@ 2016-10-28 12:11 ` Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 5/6] curses: fix left/right arrow translation Gerd Hoffmann
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 19+ messages in thread
From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: Thomas Huth, Gerd Hoffmann

From: Thomas Huth <thuth@redhat.com>

GTK generates key events for the delete key with key->string[0] = 0x7f
... but this does not work right with the readline_handle_byte()
function in util/readline.c, since this treats the keycode 127 as
backspace. So let's add a special case for the GTK delete key to make
this key behave right in the monitor interface of the GTK ui.

Buglink: https://bugs.launchpad.net/qemu/+bug/1619438
Signed-off-by: Thomas Huth <thuth@redhat.com>
Message-id: 1477570647-7100-1-git-send-email-thuth@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/gtk.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/ui/gtk.c b/ui/gtk.c
index dd13982..ca737c4 100644
--- a/ui/gtk.c
+++ b/ui/gtk.c
@@ -1070,7 +1070,9 @@ static gboolean gd_text_key_down(GtkWidget *widget,
     VirtualConsole *vc = opaque;
     QemuConsole *con = vc->gfx.dcl.con;
 
-    if (key->length) {
+    if (key->keyval == GDK_KEY_Delete) {
+        kbd_put_qcode_console(con, Q_KEY_CODE_DELETE);
+    } else if (key->length) {
         kbd_put_string_console(con, key->string, key->length);
     } else {
         int num = gd_map_keycode(vc->s, gtk_widget_get_display(widget),
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Qemu-devel] [PULL 5/6] curses: fix left/right arrow translation
  2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann
                   ` (3 preceding siblings ...)
  2016-10-28 12:11 ` [Qemu-devel] [PULL 4/6] ui/gtk: Fix non-working DELETE key Gerd Hoffmann
@ 2016-10-28 12:11 ` Gerd Hoffmann
  2016-10-28 12:11 ` [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses Gerd Hoffmann
  2016-10-28 17:55 ` [Qemu-devel] [PULL 0/6] ui patch queue Peter Maydell
  6 siblings, 0 replies; 19+ messages in thread
From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: Samuel Thibault, Gerd Hoffmann

From: Samuel Thibault <samuel.thibault@ens-lyon.org>

In default VGA font, left/right arrow are glyphs 0x1a and 0x1b, not 0x0a and
0x0b.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-id: 20161015195308.20473-2-samuel.thibault@ens-lyon.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 ui/curses.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ui/curses.c b/ui/curses.c
index d06f724..2e132a7 100644
--- a/ui/curses.c
+++ b/ui/curses.c
@@ -369,10 +369,10 @@ static void curses_setup(void)
     /* ACS_* is not constant. So, we can't initialize statically. */
     vga_to_curses['\0'] = ' ';
     vga_to_curses[0x04] = ACS_DIAMOND;
-    vga_to_curses[0x0a] = ACS_RARROW;
-    vga_to_curses[0x0b] = ACS_LARROW;
     vga_to_curses[0x18] = ACS_UARROW;
     vga_to_curses[0x19] = ACS_DARROW;
+    vga_to_curses[0x1a] = ACS_RARROW;
+    vga_to_curses[0x1b] = ACS_LARROW;
     vga_to_curses[0x9c] = ACS_STERLING;
     vga_to_curses[0xb0] = ACS_BOARD;
     vga_to_curses[0xb1] = ACS_CKBOARD;
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann
                   ` (4 preceding siblings ...)
  2016-10-28 12:11 ` [Qemu-devel] [PULL 5/6] curses: fix left/right arrow translation Gerd Hoffmann
@ 2016-10-28 12:11 ` Gerd Hoffmann
  2016-10-31 11:45   ` Cornelia Huck
  2016-10-28 17:55 ` [Qemu-devel] [PULL 0/6] ui patch queue Peter Maydell
  6 siblings, 1 reply; 19+ messages in thread
From: Gerd Hoffmann @ 2016-10-28 12:11 UTC (permalink / raw)
  To: qemu-devel; +Cc: Samuel Thibault, Gerd Hoffmann

From: Samuel Thibault <samuel.thibault@ens-lyon.org>

Use ncursesw package instead of curses on non-mingw, and check a few
functions.
Also take cflags from pkg-config, since cursesw headers may be in a
separate, non-default directory.

Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
---
 configure | 29 ++++++++++++++++++++---------
 1 file changed, 20 insertions(+), 9 deletions(-)

diff --git a/configure b/configure
index 8e10059..5e44469 100755
--- a/configure
+++ b/configure
@@ -2917,27 +2917,38 @@ fi
 # curses probe
 if test "$curses" != "no" ; then
   if test "$mingw32" = "yes" ; then
-    curses_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses"
+    curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):"
+    curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses"
   else
-    curses_list="$($pkg_config --libs ncurses 2>/dev/null):-lncurses:-lcurses"
+    curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):"
+    curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw"
   fi
   curses_found=no
   cat > $TMPC << EOF
+#include <locale.h>
 #include <curses.h>
+#include <wchar.h>
 int main(void) {
   const char *s = curses_version();
+  wchar_t wch = L'w';
+  setlocale(LC_ALL, "");
   resize_term(0, 0);
+  addwstr(L"wide chars\n");
+  addnwstr(&wch, 1);
   return s != 0;
 }
 EOF
   IFS=:
-  for curses_lib in $curses_list; do
-    unset IFS
-    if compile_prog "" "$curses_lib" ; then
-      curses_found=yes
-      libs_softmmu="$curses_lib $libs_softmmu"
-      break
-    fi
+  for curses_inc in $curses_inc_list; do
+    for curses_lib in $curses_lib_list; do
+      unset IFS
+      if compile_prog "$curses_inc" "$curses_lib" ; then
+        curses_found=yes
+        QEMU_CFLAGS="$curses_inc $QEMU_CFLAGS"
+        libs_softmmu="$curses_lib $libs_softmmu"
+        break
+      fi
+    done
   done
   unset IFS
   if test "$curses_found" = "yes" ; then
-- 
1.8.3.1

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 0/6] ui patch queue.
  2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann
                   ` (5 preceding siblings ...)
  2016-10-28 12:11 ` [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses Gerd Hoffmann
@ 2016-10-28 17:55 ` Peter Maydell
  6 siblings, 0 replies; 19+ messages in thread
From: Peter Maydell @ 2016-10-28 17:55 UTC (permalink / raw)
  To: Gerd Hoffmann; +Cc: QEMU Developers

On 28 October 2016 at 13:11, Gerd Hoffmann <kraxel@redhat.com> wrote:
>   Hi,
>
> Here comes the UI patch queue with bugfixes for gtk and curses UIs and
> the baum braille support.
>
> I've cherry-picked from Samuel's patches the ones which are ready to
> merge.  There is more in the pipeline for better unicode support in
> curses, but those will probably not make the 2.8 freeze deadline.
>
> please pull,
>   Gerd
>
> The following changes since commit db4df20de86c6e8ecd6c9f042c029ffb9f9cddac:
>
>   trace: Fix 'char **' compilation error in simple backend (2016-10-27 19:24:15 +0100)
>
> are available in the git repository at:
>
>   git://git.kraxel.org/qemu tags/pull-ui-20161028-1
>
> for you to fetch changes up to 8ddc5bf9e5de51c2a4842c01dd3a97f5591776fd:
>
>   curses: Use cursesw instead of curses (2016-10-28 11:19:38 +0200)
>
> ----------------------------------------------------------------
> braille fixes and improvements.
> curses fix, switch to cursesw.
> gtk bugfixes.

Applied, thanks.

-- PMM

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-28 12:11 ` [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses Gerd Hoffmann
@ 2016-10-31 11:45   ` Cornelia Huck
  2016-10-31 12:01     ` Samuel Thibault
  0 siblings, 1 reply; 19+ messages in thread
From: Cornelia Huck @ 2016-10-31 11:45 UTC (permalink / raw)
  To: Gerd Hoffmann, Samuel Thibault; +Cc: qemu-devel

On Fri, 28 Oct 2016 14:11:38 +0200
Gerd Hoffmann <kraxel@redhat.com> wrote:

> From: Samuel Thibault <samuel.thibault@ens-lyon.org>
> 
> Use ncursesw package instead of curses on non-mingw, and check a few
> functions.
> Also take cflags from pkg-config, since cursesw headers may be in a
> separate, non-default directory.
> 
> Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org
> Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> ---
>  configure | 29 ++++++++++++++++++++---------
>  1 file changed, 20 insertions(+), 9 deletions(-)

This seems to break configure on one of the systems I use (which may or
may not have a broken setup). SLES12SP1 (s390x) without curses in the
output of pkg-config --list-all, but headers seem to be present (? --
I'm not the admin). Other systems (Fedora and Ubuntu) are fine.

Before this commit, configure detected curses=yes and all seemed well.

Now, configure barfs about -Werror. Some snippets from config.log:

# QEMU configure log Mon Oct 31 12:35:26 CET 2016
# Configured with: '/home/cohuck/git/qemu/build/../configure' '--target-list=s39
0x-softmmu s390x-linux-user' '--enable-kvm' '--enable-vhost-net' '--enable-linux
-aio'

cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-protot
ypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-s
trict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty
-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qual
ifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-prot
ector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-
conf.c -m64 -g
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
   addwstr(L"wide chars\n");
   ^
config-temp/qemu-conf.c:9:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs]
config-temp/qemu-conf.c:10:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration]
   addnwstr(&wch, 1);
   ^
config-temp/qemu-conf.c:10:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs]
/tmp/ccgsfoYo.o: In function `main':
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:5: undefined reference to `curses_version'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:8: undefined reference to `resize_term'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:9: undefined reference to `addwstr'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:10: undefined reference to `addnwstr'
collect2: error: ld returned 1 exit status
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
   addwstr(L"wide chars\n");
   ^
config-temp/qemu-conf.c:9:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs]
config-temp/qemu-conf.c:10:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration]
   addnwstr(&wch, 1);
   ^
config-temp/qemu-conf.c:10:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs]
/tmp/ccgsfoYo.o: In function `main':
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:5: undefined reference to `curses_version'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:8: undefined reference to `resize_term'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:9: undefined reference to `addwstr'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:10: undefined reference to `addnwstr'
collect2: error: ld returned 1 exit status
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
   addwstr(L"wide chars\n");
   ^
config-temp/qemu-conf.c:9:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs]
config-temp/qemu-conf.c:10:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration]
   addnwstr(&wch, 1);
   ^
config-temp/qemu-conf.c:10:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs]
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:9:3: error: implicit declaration of function ‘addwstr’ [-Werror=implicit-function-declaration]
   addwstr(L"wide chars\n");
   ^
config-temp/qemu-conf.c:9:3: error: nested extern declaration of ‘addwstr’ [-Werror=nested-externs]
config-temp/qemu-conf.c:10:3: error: implicit declaration of function ‘addnwstr’ [-Werror=implicit-function-declaration]
   addnwstr(&wch, 1);
   ^
config-temp/qemu-conf.c:10:3: error: nested extern declaration of ‘addnwstr’ [-Werror=nested-externs]
cc1: all warnings being treated as errors

As said, I'm not sure whether this system has a sane setup, and I'm
just a user there. Just noticed this new breakage (which goes away with
--disable-curses).

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 11:45   ` Cornelia Huck
@ 2016-10-31 12:01     ` Samuel Thibault
  2016-10-31 12:05       ` Samuel Thibault
  2016-10-31 12:08       ` Cornelia Huck
  0 siblings, 2 replies; 19+ messages in thread
From: Samuel Thibault @ 2016-10-31 12:01 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel

Cornelia Huck, on Mon 31 Oct 2016 12:45:30 +0100, wrote:
> > From: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > 
> > Use ncursesw package instead of curses on non-mingw, and check a few
> > functions.
> > Also take cflags from pkg-config, since cursesw headers may be in a
> > separate, non-default directory.
> > 
> > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org
> > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > ---
> >  configure | 29 ++++++++++++++++++++---------
> >  1 file changed, 20 insertions(+), 9 deletions(-)
> 
> This seems to break configure on one of the systems I use (which may or
> may not have a broken setup). SLES12SP1 (s390x) without curses in the
> output of pkg-config --list-all, but headers seem to be present (? --
> I'm not the admin). Other systems (Fedora and Ubuntu) are fine.

> config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]

Bleh.

Could you try to replace #include <curses.h> with #include <cursesw.h>
in ui/curses.c, to see whether that fixes the missing declaration on
that system?  We could be trying both headers to look for the wide
functions and include the one which works.

Samuel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 12:01     ` Samuel Thibault
@ 2016-10-31 12:05       ` Samuel Thibault
  2016-10-31 12:08       ` Cornelia Huck
  1 sibling, 0 replies; 19+ messages in thread
From: Samuel Thibault @ 2016-10-31 12:05 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel

Samuel Thibault, on Mon 31 Oct 2016 13:01:59 +0100, wrote:
> Cornelia Huck, on Mon 31 Oct 2016 12:45:30 +0100, wrote:
> > > From: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > > 
> > > Use ncursesw package instead of curses on non-mingw, and check a few
> > > functions.
> > > Also take cflags from pkg-config, since cursesw headers may be in a
> > > separate, non-default directory.
> > > 
> > > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > > Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org
> > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > > ---
> > >  configure | 29 ++++++++++++++++++++---------
> > >  1 file changed, 20 insertions(+), 9 deletions(-)
> > 
> > This seems to break configure on one of the systems I use (which may or
> > may not have a broken setup). SLES12SP1 (s390x) without curses in the
> > output of pkg-config --list-all, but headers seem to be present (? --
> > I'm not the admin). Other systems (Fedora and Ubuntu) are fine.
> 
> > config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
> 
> We could be trying both headers to look for the wide
> functions and include the one which works.

I'm however surprised that this didn't get catched by configure, we do
look for addwstr there. Could you also post the config.log?

Thanks,
Samuel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 12:01     ` Samuel Thibault
  2016-10-31 12:05       ` Samuel Thibault
@ 2016-10-31 12:08       ` Cornelia Huck
  2016-10-31 12:16         ` Samuel Thibault
  2016-10-31 12:39         ` Samuel Thibault
  1 sibling, 2 replies; 19+ messages in thread
From: Cornelia Huck @ 2016-10-31 12:08 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: Gerd Hoffmann, qemu-devel

On Mon, 31 Oct 2016 13:01:59 +0100
Samuel Thibault <samuel.thibault@gnu.org> wrote:

> Cornelia Huck, on Mon 31 Oct 2016 12:45:30 +0100, wrote:
> > > From: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > > 
> > > Use ncursesw package instead of curses on non-mingw, and check a few
> > > functions.
> > > Also take cflags from pkg-config, since cursesw headers may be in a
> > > separate, non-default directory.
> > > 
> > > Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
> > > Message-id: 20161015195308.20473-3-samuel.thibault@ens-lyon.org
> > > Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
> > > ---
> > >  configure | 29 ++++++++++++++++++++---------
> > >  1 file changed, 20 insertions(+), 9 deletions(-)
> > 
> > This seems to break configure on one of the systems I use (which may or
> > may not have a broken setup). SLES12SP1 (s390x) without curses in the
> > output of pkg-config --list-all, but headers seem to be present (? --
> > I'm not the admin). Other systems (Fedora and Ubuntu) are fine.
> 
> > config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
> 
> Bleh.
> 
> Could you try to replace #include <curses.h> with #include <cursesw.h>
> in ui/curses.c, to see whether that fixes the missing declaration on
> that system?  We could be trying both headers to look for the wide
> functions and include the one which works.

You mean in configure, right? Including cursesw.h in the test program
gets configure going again.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 12:08       ` Cornelia Huck
@ 2016-10-31 12:16         ` Samuel Thibault
  2016-10-31 12:39         ` Samuel Thibault
  1 sibling, 0 replies; 19+ messages in thread
From: Samuel Thibault @ 2016-10-31 12:16 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel

Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote:
> On Mon, 31 Oct 2016 13:01:59 +0100
> Samuel Thibault <samuel.thibault@gnu.org> wrote:
> 
> > Cornelia Huck, on Mon 31 Oct 2016 12:45:30 +0100, wrote:
> > > config-temp/qemu-conf.c:9:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
> > 
> > Bleh.
> > 
> > Could you try to replace #include <curses.h> with #include <cursesw.h>
> > in ui/curses.c, to see whether that fixes the missing declaration on
> > that system?  We could be trying both headers to look for the wide
> > functions and include the one which works.
> 
> You mean in configure, right?

Ah, sorry, I read too fast, I thought what you had was a build failure,
not a configuration failure.

> Including cursesw.h in the test program gets configure going again.

Ok, that makes sense, thanks.

Samuel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 12:08       ` Cornelia Huck
  2016-10-31 12:16         ` Samuel Thibault
@ 2016-10-31 12:39         ` Samuel Thibault
  2016-10-31 12:48           ` Cornelia Huck
  1 sibling, 1 reply; 19+ messages in thread
From: Samuel Thibault @ 2016-10-31 12:39 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel

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

Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote:
> You mean in configure, right? Including cursesw.h in the test program
> gets configure going again.

Could you try the attached patch which fixes both configure and
ui/curses.c?

Thanks,
Samuel

[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 1260 bytes --]

diff --git a/configure b/configure
index f83cdf8..bae01f0 100755
--- a/configure
+++ b/configure
@@ -2920,13 +2920,17 @@ if test "$curses" != "no" ; then
     curses_inc_list="$($pkg_config --cflags ncurses 2>/dev/null):"
     curses_lib_list="$($pkg_config --libs ncurses 2>/dev/null):-lpdcurses"
   else
-    curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):"
+    curses_inc_list="$($pkg_config --cflags ncursesw 2>/dev/null):-DCONFIG_CURSESW_H:"
     curses_lib_list="$($pkg_config --libs ncursesw 2>/dev/null):-lncursesw:-lcursesw"
   fi
   curses_found=no
   cat > $TMPC << EOF
 #include <locale.h>
+#ifdef CONFIG_CURSESW_H
+#include <cursesw.h>
+#else
 #include <curses.h>
+#endif
 #include <wchar.h>
 int main(void) {
   const char *s = curses_version();
@@ -2949,6 +2953,9 @@ EOF
         break
       fi
     done
+    if test "$curses_found" = yes ; then
+      break
+    fi
   done
   unset IFS
   if test "$curses_found" = "yes" ; then
diff --git a/ui/curses.c b/ui/curses.c
index 2e132a7..cb61073 100644
--- a/ui/curses.c
+++ b/ui/curses.c
@@ -22,7 +22,11 @@
  * THE SOFTWARE.
  */
 #include "qemu/osdep.h"
+#ifdef CONFIG_CURSESW_H
+#include <cursesw.h>
+#else
 #include <curses.h>
+#endif
 
 #ifndef _WIN32
 #include <sys/ioctl.h>

^ permalink raw reply related	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 12:39         ` Samuel Thibault
@ 2016-10-31 12:48           ` Cornelia Huck
  2016-10-31 14:03             ` Samuel Thibault
  0 siblings, 1 reply; 19+ messages in thread
From: Cornelia Huck @ 2016-10-31 12:48 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: Gerd Hoffmann, qemu-devel

On Mon, 31 Oct 2016 13:39:30 +0100
Samuel Thibault <samuel.thibault@gnu.org> wrote:

> Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote:
> > You mean in configure, right? Including cursesw.h in the test program
> > gets configure going again.
> 
> Could you try the attached patch which fixes both configure and
> ui/curses.c?

Sadly, this does not fix it for me. I get the same errors in the
configure test build as before.

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 14:03             ` Samuel Thibault
@ 2016-10-31 13:08               ` Cornelia Huck
  2016-10-31 15:39                 ` Samuel Thibault
  0 siblings, 1 reply; 19+ messages in thread
From: Cornelia Huck @ 2016-10-31 13:08 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: Gerd Hoffmann, qemu-devel

On Mon, 31 Oct 2016 15:03:33 +0100
Samuel Thibault <samuel.thibault@gnu.org> wrote:

> Cornelia Huck, on Mon 31 Oct 2016 13:48:01 +0100, wrote:
> > On Mon, 31 Oct 2016 13:39:30 +0100
> > Samuel Thibault <samuel.thibault@gnu.org> wrote:
> > 
> > > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote:
> > > > You mean in configure, right? Including cursesw.h in the test program
> > > > gets configure going again.
> > > 
> > > Could you try the attached patch which fixes both configure and
> > > ui/curses.c?
> > 
> > Sadly, this does not fix it for me. I get the same errors in the
> > configure test build as before.
> 
> Could you post the config.log so we get a better view at what is going
> wrong?

Attached.

# QEMU configure log Mon Oct 31 13:46:31 CET 2016
# Configured with: '/home/cohuck/git/qemu/build/../configure' '--target-list=s390x-softmmu s390x-linux-user' '--enable-kvm' '--enable-vhost-net' '--enable-linux-aio'
#
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __i386__ not defined
 #error __i386__ not defined
  ^
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __x86_64__ not defined
 #error __x86_64__ not defined
  ^
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __sparc__ not defined
 #error __sparc__ not defined
  ^
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error _ARCH_PPC not defined
 #error _ARCH_PPC not defined
  ^
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __mips__ not defined
 #error __mips__ not defined
  ^
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:2: error: #error __ia64__ not defined
 #error __ia64__ not defined
  ^
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
c++ -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wundef -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.cxx config-temp/qemu-conf.o -m64 -g
c++ -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wall -Wundef -Wwrite-strings -fno-strict-aliasing -fno-common -fwrapv -o config-temp/qemu-conf.exe config-temp/qemu-conf.cxx config-temp/qemu-conf.o -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Wstring-plus-int -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc: error: unrecognized command line option ‘-Wstring-plus-int’
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Winitializer-overrides -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc: error: unrecognized command line option ‘-Winitializer-overrides’
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Werror -Wendif-labels -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Werror -Wshift-negative-value -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc: error: unrecognized command line option ‘-Wshift-negative-value’
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Werror -Wmissing-include-dirs -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Werror -Wempty-body -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Werror -Wnested-externs -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Werror -Wformat-security -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Werror -Wformat-y2k -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Werror -Winit-self -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Werror -Wignored-qualifiers -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Werror -Wold-style-declaration -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Werror -Wold-style-definition -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Werror -Wtype-limits -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-strong -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc: error: unrecognized command line option ‘-fstack-protector-strong’
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -Werror -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Werror -fno-gcse -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
config-temp/qemu-conf.c:4:2: error: #error No bug in this compiler.
 #error No bug in this compiler.
  ^
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Werror -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -Werror -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
config-temp/qemu-conf.c:2:9: warning: #pragma GCC target is not supported for this machine [-Wpragmas]
 #pragma GCC target("avx2")
         ^
config-temp/qemu-conf.c:3:19: fatal error: cpuid.h: No such file or directory
 #include <cpuid.h>
                   ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lz
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lz
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -llzo2
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -llzo2
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lsnappy
config-temp/qemu-conf.c:1:22: fatal error: snappy-c.h: No such file or directory
 #include <snappy-c.h>
                      ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lbz2
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lbz2
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lxenstore -lxenctrl -lxenguest
config-temp/qemu-conf.c:1:21: fatal error: xenctrl.h: No such file or directory
 #include <xenctrl.h>
                     ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -c -o config-temp/qemu-conf.o config-temp/qemu-conf.c
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lrdmacm -libverbs
config-temp/qemu-conf.c:1:27: fatal error: rdma/rdma_cma.h: No such file or directory
 #include <rdma/rdma_cma.h>
                           ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lsasl2
config-temp/qemu-conf.c:1:23: fatal error: sasl/sasl.h: No such file or directory
 #include <sasl/sasl.h>
                       ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -ljpeg
config-temp/qemu-conf.c:2:21: fatal error: jpeglib.h: No such file or directory
 #include <jpeglib.h>
                     ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lpng16
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lpng16
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
config-temp/qemu-conf.c:2:21: fatal error: xfs/xfs.h: No such file or directory
 #include <xfs/xfs.h>
                     ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lvdeplug
config-temp/qemu-conf.c:1:24: fatal error: libvdeplug.h: No such file or directory
 #include <libvdeplug.h>
                        ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lcap-ng
config-temp/qemu-conf.c:1:20: fatal error: cap-ng.h: No such file or directory
 #include <cap-ng.h>
                    ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lbrlapi
config-temp/qemu-conf.c:1:20: fatal error: brlapi.h: No such file or directory
 #include <brlapi.h>
                    ^
compilation terminated.
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
   addwstr(L"wide chars\n");
   ^
config-temp/qemu-conf.c:13:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs]
config-temp/qemu-conf.c:14:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration]
   addnwstr(&wch, 1);
   ^
config-temp/qemu-conf.c:14:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs]
/tmp/ccMS5u3N.o: In function `main':
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:9: undefined reference to `curses_version'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:12: undefined reference to `resize_term'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:13: undefined reference to `addwstr'
/home/cohuck/git/qemu/build/config-temp/qemu-conf.c:14: undefined reference to `addnwstr'
collect2: error: ld returned 1 exit status
cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
   addwstr(L"wide chars\n");
   ^
config-temp/qemu-conf.c:13:3: warning: nested extern declaration of ‘addwstr’ [-Wnested-externs]
config-temp/qemu-conf.c:14:3: warning: implicit declaration of function ‘addnwstr’ [-Wimplicit-function-declaration]
   addnwstr(&wch, 1);
   ^
config-temp/qemu-conf.c:14:3: warning: nested extern declaration of ‘addnwstr’ [-Wnested-externs]
cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
config-temp/qemu-conf.c: In function ‘main’:
config-temp/qemu-conf.c:13:3: error: implicit declaration of function ‘addwstr’ [-Werror=implicit-function-declaration]
   addwstr(L"wide chars\n");
   ^
config-temp/qemu-conf.c:13:3: error: nested extern declaration of ‘addwstr’ [-Werror=nested-externs]
config-temp/qemu-conf.c:14:3: error: implicit declaration of function ‘addnwstr’ [-Werror=implicit-function-declaration]
   addnwstr(&wch, 1);
   ^
config-temp/qemu-conf.c:14:3: error: nested extern declaration of ‘addnwstr’ [-Werror=nested-externs]
cc1: all warnings being treated as errors

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 12:48           ` Cornelia Huck
@ 2016-10-31 14:03             ` Samuel Thibault
  2016-10-31 13:08               ` Cornelia Huck
  0 siblings, 1 reply; 19+ messages in thread
From: Samuel Thibault @ 2016-10-31 14:03 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel

Cornelia Huck, on Mon 31 Oct 2016 13:48:01 +0100, wrote:
> On Mon, 31 Oct 2016 13:39:30 +0100
> Samuel Thibault <samuel.thibault@gnu.org> wrote:
> 
> > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote:
> > > You mean in configure, right? Including cursesw.h in the test program
> > > gets configure going again.
> > 
> > Could you try the attached patch which fixes both configure and
> > ui/curses.c?
> 
> Sadly, this does not fix it for me. I get the same errors in the
> configure test build as before.

Could you post the config.log so we get a better view at what is going
wrong?

Thanks,
Samuel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 13:08               ` Cornelia Huck
@ 2016-10-31 15:39                 ` Samuel Thibault
  2016-11-02  9:09                   ` Cornelia Huck
  0 siblings, 1 reply; 19+ messages in thread
From: Samuel Thibault @ 2016-10-31 15:39 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: Gerd Hoffmann, qemu-devel

Cornelia Huck, on Mon 31 Oct 2016 14:08:48 +0100, wrote:
> On Mon, 31 Oct 2016 15:03:33 +0100
> Samuel Thibault <samuel.thibault@gnu.org> wrote:
> 
> > Cornelia Huck, on Mon 31 Oct 2016 13:48:01 +0100, wrote:
> > > On Mon, 31 Oct 2016 13:39:30 +0100
> > > Samuel Thibault <samuel.thibault@gnu.org> wrote:
> > > 
> > > > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote:
> > > > > You mean in configure, right? Including cursesw.h in the test program
> > > > > gets configure going again.
> > > > 
> > > > Could you try the attached patch which fixes both configure and
> > > > ui/curses.c?
> > > 
> > > Sadly, this does not fix it for me. I get the same errors in the
> > > configure test build as before.
> > 
> > Could you post the config.log so we get a better view at what is going
> > wrong?
> 
> Attached.

> cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
> config-temp/qemu-conf.c: In function ‘main’:
> config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
...
> cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
> config-temp/qemu-conf.c: In function ‘main’:
> config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
...
> cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
> config-temp/qemu-conf.c: In function ‘main’:
> config-temp/qemu-conf.c:13:3: error: implicit declaration of function ‘addwstr’ [-Werror=implicit-function-declaration]
>    addwstr(L"wide chars\n");
>    ^
> config-temp/qemu-conf.c:13:3: error: nested extern declaration of ‘addwstr’ [-Werror=nested-externs]
> config-temp/qemu-conf.c:14:3: error: implicit declaration of function ‘addnwstr’ [-Werror=implicit-function-declaration]
>    addnwstr(&wch, 1);
>    ^
> config-temp/qemu-conf.c:14:3: error: nested extern declaration of ‘addnwstr’ [-Werror=nested-externs]
> cc1: all warnings being treated as errors

These are expected

But doesn't configure also try with -DCONFIG_CURSESW_H?  Does it really
stop here?

Samuel

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses
  2016-10-31 15:39                 ` Samuel Thibault
@ 2016-11-02  9:09                   ` Cornelia Huck
  0 siblings, 0 replies; 19+ messages in thread
From: Cornelia Huck @ 2016-11-02  9:09 UTC (permalink / raw)
  To: Samuel Thibault; +Cc: Gerd Hoffmann, qemu-devel

On Mon, 31 Oct 2016 16:39:29 +0100
Samuel Thibault <samuel.thibault@gnu.org> wrote:

> Cornelia Huck, on Mon 31 Oct 2016 14:08:48 +0100, wrote:
> > On Mon, 31 Oct 2016 15:03:33 +0100
> > Samuel Thibault <samuel.thibault@gnu.org> wrote:
> > 
> > > Cornelia Huck, on Mon 31 Oct 2016 13:48:01 +0100, wrote:
> > > > On Mon, 31 Oct 2016 13:39:30 +0100
> > > > Samuel Thibault <samuel.thibault@gnu.org> wrote:
> > > > 
> > > > > Cornelia Huck, on Mon 31 Oct 2016 13:08:06 +0100, wrote:
> > > > > > You mean in configure, right? Including cursesw.h in the test program
> > > > > > gets configure going again.
> > > > > 
> > > > > Could you try the attached patch which fixes both configure and
> > > > > ui/curses.c?
> > > > 
> > > > Sadly, this does not fix it for me. I get the same errors in the
> > > > configure test build as before.
> > > 
> > > Could you post the config.log so we get a better view at what is going
> > > wrong?
> > 
> > Attached.
> 
> > cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g
> > config-temp/qemu-conf.c: In function ‘main’:
> > config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
> ...
> > cc -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
> > config-temp/qemu-conf.c: In function ‘main’:
> > config-temp/qemu-conf.c:13:3: warning: implicit declaration of function ‘addwstr’ [-Wimplicit-function-declaration]
> ...
> > cc -Werror -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -Wendif-labels -Wmissing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-declaration -Wold-style-definition -Wtype-limits -fstack-protector-all -I/usr/include/libpng16 -o config-temp/qemu-conf.exe config-temp/qemu-conf.c -m64 -g -lncursesw
> > config-temp/qemu-conf.c: In function ‘main’:
> > config-temp/qemu-conf.c:13:3: error: implicit declaration of function ‘addwstr’ [-Werror=implicit-function-declaration]
> >    addwstr(L"wide chars\n");
> >    ^
> > config-temp/qemu-conf.c:13:3: error: nested extern declaration of ‘addwstr’ [-Werror=nested-externs]
> > config-temp/qemu-conf.c:14:3: error: implicit declaration of function ‘addnwstr’ [-Werror=implicit-function-declaration]
> >    addnwstr(&wch, 1);
> >    ^
> > config-temp/qemu-conf.c:14:3: error: nested extern declaration of ‘addnwstr’ [-Werror=nested-externs]
> > cc1: all warnings being treated as errors
> 
> These are expected
> 
> But doesn't configure also try with -DCONFIG_CURSESW_H?  Does it really
> stop here?

Nothing more going on there. Maybe it is because it cannot pull the
relevant flags from pkg_config?

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2016-11-02  9:09 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-10-28 12:11 [Qemu-devel] [PULL 0/6] ui patch queue Gerd Hoffmann
2016-10-28 12:11 ` [Qemu-devel] [PULL 1/6] Add dots keypresses support to the baum braille device Gerd Hoffmann
2016-10-28 12:11 ` [Qemu-devel] [PULL 2/6] Defer BrlAPI tty acquisition to when guest starts using device Gerd Hoffmann
2016-10-28 12:11 ` [Qemu-devel] [PULL 3/6] gtk: fix compilation warning with gtk 3.22.2 Gerd Hoffmann
2016-10-28 12:11 ` [Qemu-devel] [PULL 4/6] ui/gtk: Fix non-working DELETE key Gerd Hoffmann
2016-10-28 12:11 ` [Qemu-devel] [PULL 5/6] curses: fix left/right arrow translation Gerd Hoffmann
2016-10-28 12:11 ` [Qemu-devel] [PULL 6/6] curses: Use cursesw instead of curses Gerd Hoffmann
2016-10-31 11:45   ` Cornelia Huck
2016-10-31 12:01     ` Samuel Thibault
2016-10-31 12:05       ` Samuel Thibault
2016-10-31 12:08       ` Cornelia Huck
2016-10-31 12:16         ` Samuel Thibault
2016-10-31 12:39         ` Samuel Thibault
2016-10-31 12:48           ` Cornelia Huck
2016-10-31 14:03             ` Samuel Thibault
2016-10-31 13:08               ` Cornelia Huck
2016-10-31 15:39                 ` Samuel Thibault
2016-11-02  9:09                   ` Cornelia Huck
2016-10-28 17:55 ` [Qemu-devel] [PULL 0/6] ui patch queue Peter Maydell

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.