qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v5 01/18] Add hard build dependency on glib


From: Kenneth Salerno
Subject: Re: [Qemu-devel] [PATCH v5 01/18] Add hard build dependency on glib
Date: Tue, 26 Jul 2011 07:02:01 -0700 (PDT)

From:   Michael Roth
Subject:        [Qemu-devel] [PATCH v5 01/18] Add hard build dependency on glib
Date:   Tue, 5 Jul 2011 08:02:28 -0500

> From: Anthony Liguori <address@hidden>
>
> GLib is an extremely common library that has a portable thread implementation
> along with tons of other goodies.
>
> GLib and GObject have a fantastic amount of infrastructure we can leverage in
> QEMU including an object oriented programming infrastructure.
>
> Short term, it has a very nice thread pool implementation that we could 
> leverage
> in something like virtio-9p.  It also has a test harness implementation that
> this series will use.
>
> Signed-off-by: Anthony Liguori <address@hidden>
> Signed-off-by: Michael Roth <address@hidden>
> ---
> Makefile        |    2 ++
> Makefile.objs   |    2 ++
> Makefile.target |    1 +
> configure       |   13 +++++++++++++
> 4 files changed, 18 insertions(+), 0 deletions(-)
>
> diff --git a/Makefile b/Makefile
> index b3ffbe2..42ae4e5 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -106,6 +106,8 @@ audio/audio.o audio/fmodaudio.o: QEMU_CFLAGS += 
> $(FMOD_CFLAGS)
> 
> QEMU_CFLAGS+=$(CURL_CFLAGS)
> 
> +QEMU_CFLAGS+=$(GLIB_CFLAGS)
> +
> ui/cocoa.o: ui/cocoa.m
> 
> ui/sdl.o audio/sdlaudio.o ui/sdl_zoom.o baum.o: QEMU_CFLAGS += $(SDL_CFLAGS)
> diff --git a/Makefile.objs b/Makefile.objs
> index cea15e4..493c988 100644
> --- a/Makefile.objs
> +++ b/Makefile.objs
> @@ -376,3 +376,5 @@ vl.o: QEMU_CFLAGS+=$(GPROF_CFLAGS)
>  
>  vl.o: QEMU_CFLAGS+=$(SDL_CFLAGS)
>  
> +vl.o: QEMU_CFLAGS+=$(GLIB_CFLAGS)
> +
> diff --git a/Makefile.target b/Makefile.target
> index a53a2ff..b8256ae 100644
> --- a/Makefile.target
> +++ b/Makefile.target
> @@ -203,6 +203,7 @@ QEMU_CFLAGS += $(VNC_TLS_CFLAGS)
>  QEMU_CFLAGS += $(VNC_SASL_CFLAGS)
>  QEMU_CFLAGS += $(VNC_JPEG_CFLAGS)
>  QEMU_CFLAGS += $(VNC_PNG_CFLAGS)
> +QEMU_CFLAGS += $(GLIB_CFLAGS)
>  
>  # xen backend driver support
>  obj-i386-$(CONFIG_XEN) += xen_machine_pv.o xen_domainbuild.o
> diff --git a/configure b/configure
> index 88159ac..63156a2 100755
> --- a/configure
> +++ b/configure
> @@ -1803,6 +1803,18 @@ EOF
>  fi
 
>  ##########################################
> +# glib support probe
> +if $pkg_config --modversion gthread-2.0 gio-2.0 > /dev/null 2>&1 ; then
> +    glib_cflags=`$pkg_config --cflags gthread-2.0 gio-2.0 2>/dev/null`
> +    glib_libs=`$pkg_config --libs gthread-2.0 gio-2.0 2>/dev/null`
> +    libs_softmmu="$glib_libs $libs_softmmu"
> +    libs_tools="$glib_libs $libs_tools"
> +else
> +    echo "glib-2.0 required to compile QEMU"
> +    exit 1
> +fi
> +
> +##########################################
>  # pthread probe
>  PTHREADLIBS_LIST="-lpthread -lpthreadGC2"
>  
> @@ -2849,6 +2861,7 @@ if test "$bluez" = "yes" ; then
>    echo "CONFIG_BLUEZ=y" >> $config_host_mak
>    echo "BLUEZ_CFLAGS=$bluez_cflags" >> $config_host_mak
>  fi
> +echo "GLIB_CFLAGS=$glib_cflags" >> $config_host_mak
>  if test "$xen" = "yes" ; then
>    echo "CONFIG_XEN=y" >> $config_host_mak
>    echo "CONFIG_XEN_CTRL_INTERFACE_VERSION=$xen_ctrl_version" >> 
> $config_host_mak
> -- 
> 1.7.0.4



That sounds like a good idea, especially if it will help resolve the 
multi-threading issue in Cygwin which creates the need to pin QEMU to one CPU 
core.

However, this has broken the MinGW build in Cygwin because there is no Glib2 
(or gettext or libiconv) built and distributed for MinGW by the Cygwin project 
which means I now have to compile those packages myself as a prerequisite if I 
want to try to build the latest snapshot of QEMU development code (and future 
releases of QEMU stable for that matter)...



reply via email to

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