From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=48375 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PwY9t-0003hT-Lu for qemu-devel@nongnu.org; Mon, 07 Mar 2011 05:59:27 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PwY9r-0004TP-8E for qemu-devel@nongnu.org; Mon, 07 Mar 2011 05:59:24 -0500 Received: from mx1.redhat.com ([209.132.183.28]:34162) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PwY9q-0004SW-Vx for qemu-devel@nongnu.org; Mon, 07 Mar 2011 05:59:23 -0500 Date: Mon, 7 Mar 2011 10:59:17 +0000 From: "Daniel P. Berrange" Subject: Re: [Qemu-devel] [PATCH 01/22] Add hard build dependency on glib Message-ID: <20110307105917.GG21899@redhat.com> References: <1299460984-15849-1-git-send-email-aliguori@us.ibm.com> <1299460984-15849-2-git-send-email-aliguori@us.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <1299460984-15849-2-git-send-email-aliguori@us.ibm.com> Reply-To: "Daniel P. Berrange" List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: Markus Armbruster , Luiz Capitulino , qemu-devel@nongnu.org, Adam Litke On Sun, Mar 06, 2011 at 07:22:43PM -0600, Anthony Liguori wrote: > 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 > > diff --git a/Makefile b/Makefile > index eca4c76..6b1d716 100644 > --- a/Makefile > +++ b/Makefile > @@ -104,6 +104,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 9e98a66..0ba02c7 100644 > --- a/Makefile.objs > +++ b/Makefile.objs > @@ -322,3 +322,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 220589e..0bd42da 100644 > --- a/Makefile.target > +++ b/Makefile.target > @@ -204,6 +204,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-$(CONFIG_XEN) += xen_machine_pv.o xen_domainbuild.o > diff --git a/configure b/configure > index ef51a58..e1305ae 100755 > --- a/configure > +++ b/configure > @@ -1662,6 +1662,18 @@ EOF > fi > > ########################################## > +# glib support probe > +if $pkg_config --modversion gthread-2.0 > /dev/null 2>&1 ; then > + glib_cflags=`$pkg_config --cflags gthread-2.0 2>/dev/null` > + glib_libs=`$pkg_config --libs gthread-2.0 2>/dev/null` > + libs_softmmu="$glib_libs $libs_softmmu" > + libs_tools="$glib_libs $libs_softmmu" > +else > + echo "glib-2.0 required to compile QEMU" > + exit 1 > +fi It would be preferable to specify an explicit '--atleast-version=2.xxx' since I doubt QEMU will work with all 2.x versions of glib. Obviously the min version will limit what platforms QEMU can easily be deployed on, so we need to be as flexible as possible. Regards, Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|