qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [PATCH] [RFC] Haiku host support and general configure issu


From: Andreas Färber
Subject: [Qemu-devel] [PATCH] [RFC] Haiku host support and general configure issues
Date: Sat, 28 Feb 2009 15:08:31 +0100

Hello,

Haiku recently got an experimental GCC 4.3, so I was curious how far QEMU would get there now. This uncovered some generic issues with our configure tests that I think should be tackled before the release.

We have undocumented --extra-cflags= and --extra-ldflags= options that don't work as expected. They are ignored by all the configure tests, so it seems there is no direct equivalent to autoconf's CPPFLAGS to pass in additional header include paths. The OS_CFLAGS come closest, but they are ignored for some of the tests, too. Any preferences how to fix this?

On Haiku, zlib and ncurses headers are not in the default include path, so the current situation does not allow to configure QEMU at all. The attached patch adds a Haiku section to configure to hardcode the path in OS_CFLAGS and adds ${OS_CFLAGS} where necessary for Haiku.

It further sets OS_LDFLAGS to reference libnetwork.so, which contains the socket functions.

The optional curses support relies on -lcurses but it's called libncurses.a on Haiku, so add a check for -lncurses if -lcurses fails. It is then detected.

Unresolved issues include that AIO is detected, and as a consequence AIOLIBS is set to -lpthread but that is not available on Haiku. The code still does not link qemu-img due to an unresolved symbol _IO in nbd code. Not sure if that's a missing check in QEMU or an issue in Haiku? There doesn't appear to be a switch to disable NBD altogether, so this seems like a blocker for now.

BTW, is it intentional that --disable-gfx-checks is not documented as part of --help, only when the checks do fail?

Andreas

Attachment: qemu-haiku-01.diff
Description: Binary data


---
Haiku support for configure

Add zlib include path to OS_CFLAGS and link against libnetwork.
Make the curses check respect OS_CFLAGS and check for -lncurses as well.

Signed-off-by: Andreas Faerber <address@hidden>


Index: configure
===================================================================
--- configure   (revision 6645)
+++ configure   (working copy)
@@ -297,6 +297,10 @@
 aix="yes"
 make="gmake"
 ;;
+Haiku)
+OS_CFLAGS="-I/boot/develop/headers/3rdparty"
+OS_LDFLAGS="-lnetwork"
+;;
 *)
 audio_drv_list="oss"
 audio_possible_drivers="oss alsa sdl esd pa"
@@ -933,8 +937,12 @@
 #include <curses.h>
 int main(void) { return curses_version(); }
 EOF
- if $cc $ARCH_CFLAGS -o $TMPE $TMPC -lcurses > /dev/null 2> /dev/ null ; then + if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lcurses > /dev/ null 2> /dev/null ; then
     curses=yes
+  else
+ if $cc $ARCH_CFLAGS -o $TMPE ${OS_CFLAGS} $TMPC -lncurses > /dev/ null 2> /dev/null ; then
+      curses=yes
+    fi
   fi
 fi # test "$curses"



reply via email to

[Prev in Thread] Current Thread [Next in Thread]