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

2011-07-27 Thread Kenneth Salerno
--- On Tue, 7/26/11, Kenneth Salerno  wrote:

> From: Kenneth Salerno 
> Subject: Re: [Qemu-devel] [PATCH v5 01/18] Add hard build dependency on glib
> To: qemu-devel@nongnu.org
> Date: Tuesday, July 26, 2011, 10:02 AM
> 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 
> >
> > 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 
> > Signed-off-by: Michael Roth 
> > ---
> > 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)...
> 


Ignore. My apologies - I didn't have pkg-config installed.

Ken



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

2011-07-26 Thread Kenneth Salerno
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 
>
> 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 
> Signed-off-by: Michael Roth 
> ---
> 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)...



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

2011-07-05 Thread Michael Roth
From: Anthony Liguori 

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 
Signed-off-by: Michael Roth 
---
 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