OpenBSD display various warnings about the use of an undefined __HAIKU__:

    CC      ui/egl-context.o
  In file included from /usr/X11R6/include/epoxy/egl_generated.h:10:0,
                   from /usr/X11R6/include/epoxy/egl.h:46,
                   from include/ui/egl-helpers.h:5,
                   from include/ui/egl-context.h:5,
                   from ui/egl-context.c:3:
  /usr/X11R6/include/EGL/eglplatform.h:128:7: warning: "__HAIKU__" is not 
defined [-Wundef]
   #elif __HAIKU__
         ^
  CC      ui/egl-helpers.o
/usr/X11R6/include/EGL/eglplatform.h:128:7: warning: "__HAIKU__" is not defined 
[-Wundef]
  CC      ui/egl-headless.o
/usr/X11R6/include/EGL/eglplatform.h:128:7: warning: "__HAIKU__" is not defined 
[-Wundef]

This is due to a old <epoxy/egl_generated.h>:

     70 #if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && 
!defined(__SCITECH_SNAP__) /* Win32 and WinCE */
        ...
    108 #elif defined(__unix__) || defined(__APPLE__)
    128 #elif __HAIKU__
    134 #else
    135 #error "Platform not recognized"
    136 #endif

Kludge this by adding a check to ./configure: if this warning occurs,
define __HAIKU__ from the CFLAGS.

Signed-off-by: Philippe Mathieu-Daudé <phi...@redhat.com>
---
This is ugly, hopefully someone can come with a clever idea :)

 configure | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/configure b/configure
index 8f312ac3e2..7c7eee44da 100755
--- a/configure
+++ b/configure
@@ -4036,6 +4036,17 @@ EOF
   if compile_prog "" "" ; then
     opengl_dmabuf=yes
   fi
+  cat > $TMPC << EOF
+#include <epoxy/egl.h>
+int main(void) { return 0; }
+EOF
+  if test "$targetos" = "OpenBSD" ; then
+    if ! compile_prog "-Wundef -Werror" "" ; then
+      if compile_prog "-Wundef -Werror -D__HAIKU__=0" "" ; then
+        QEMU_CFLAGS="$QEMU_CFLAGS -D__HAIKU__=0"
+      fi
+    fi
+  fi
 fi
 
 ##########################################
-- 
2.20.1


Reply via email to