From patchwork Mon Mar 7 01:22:43 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Anthony Liguori X-Patchwork-Id: 85633 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [199.232.76.165]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 4B9CAB7100 for ; Mon, 7 Mar 2011 12:55:08 +1100 (EST) Received: from localhost ([127.0.0.1]:57503 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PwPa8-0003ej-4L for incoming@patchwork.ozlabs.org; Sun, 06 Mar 2011 20:49:56 -0500 Received: from [140.186.70.92] (port=47633 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PwPAc-0007bN-VU for qemu-devel@nongnu.org; Sun, 06 Mar 2011 20:23:39 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PwPAP-0000Nm-Sw for qemu-devel@nongnu.org; Sun, 06 Mar 2011 20:23:34 -0500 Received: from e1.ny.us.ibm.com ([32.97.182.141]:58607) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PwPAP-0000MS-I0 for qemu-devel@nongnu.org; Sun, 06 Mar 2011 20:23:21 -0500 Received: from d01dlp01.pok.ibm.com (d01dlp01.pok.ibm.com [9.56.224.56]) by e1.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p271DNjm029896 for ; Sun, 6 Mar 2011 20:13:23 -0500 Received: from d01relay01.pok.ibm.com (d01relay01.pok.ibm.com [9.56.227.233]) by d01dlp01.pok.ibm.com (Postfix) with ESMTP id 20CC538C8038 for ; Sun, 6 Mar 2011 20:23:10 -0500 (EST) Received: from d01av01.pok.ibm.com (d01av01.pok.ibm.com [9.56.224.215]) by d01relay01.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p271NBRM402810 for ; Sun, 6 Mar 2011 20:23:11 -0500 Received: from d01av01.pok.ibm.com (loopback [127.0.0.1]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p271NBxR020414 for ; Sun, 6 Mar 2011 20:23:11 -0500 Received: from localhost.localdomain (sig-9-65-217-198.mts.ibm.com [9.65.217.198]) by d01av01.pok.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id p271N9MI020370; Sun, 6 Mar 2011 20:23:10 -0500 From: Anthony Liguori To: qemu-devel@nongnu.org Date: Sun, 6 Mar 2011 19:22:43 -0600 Message-Id: <1299460984-15849-2-git-send-email-aliguori@us.ibm.com> X-Mailer: git-send-email 1.7.0.4 In-Reply-To: <1299460984-15849-1-git-send-email-aliguori@us.ibm.com> References: <1299460984-15849-1-git-send-email-aliguori@us.ibm.com> X-Content-Scanned: Fidelis XPS MAILER X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6, seldom 2.4 (older, 4) X-Received-From: 32.97.182.141 Cc: Adam Litke , Anthony Liguori , Markus Armbruster , Luiz Capitulino Subject: [Qemu-devel] [PATCH 01/22] Add hard build dependency on glib X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org 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 + +########################################## # kvm probe if test "$kvm" != "no" ; then cat > $TMPC <> $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 fi