From patchwork Thu Jan 31 08:53:43 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Wayne Xia X-Patchwork-Id: 217126 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id 70AAD2C008D for ; Thu, 31 Jan 2013 19:56:23 +1100 (EST) Received: from localhost ([::1]:40018 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U0pwT-0003L4-Kc for incoming@patchwork.ozlabs.org; Thu, 31 Jan 2013 03:56:21 -0500 Received: from eggs.gnu.org ([208.118.235.92]:38848) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U0pw2-0002xo-6K for qemu-devel@nongnu.org; Thu, 31 Jan 2013 03:55:55 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1U0pvw-0003eY-JC for qemu-devel@nongnu.org; Thu, 31 Jan 2013 03:55:54 -0500 Received: from e23smtp07.au.ibm.com ([202.81.31.140]:42731) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1U0pvw-0003e8-0F for qemu-devel@nongnu.org; Thu, 31 Jan 2013 03:55:48 -0500 Received: from /spool/local by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 31 Jan 2013 18:49:05 +1000 Received: from d23dlp03.au.ibm.com (202.81.31.214) by e23smtp07.au.ibm.com (202.81.31.204) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Thu, 31 Jan 2013 18:49:03 +1000 Received: from d23relay04.au.ibm.com (d23relay04.au.ibm.com [9.190.234.120]) by d23dlp03.au.ibm.com (Postfix) with ESMTP id 7D9773578050 for ; Thu, 31 Jan 2013 19:55:41 +1100 (EST) Received: from d23av03.au.ibm.com (d23av03.au.ibm.com [9.190.234.97]) by d23relay04.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r0V8hj0b64552976 for ; Thu, 31 Jan 2013 19:43:45 +1100 Received: from d23av03.au.ibm.com (loopback [127.0.0.1]) by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r0V8teYP013134 for ; Thu, 31 Jan 2013 19:55:40 +1100 Received: from RH63Wenchao (wenchaox.cn.ibm.com [9.115.122.102]) by d23av03.au.ibm.com (8.14.4/8.13.1/NCO v10.0 AVin) with ESMTP id r0V8rvOO010911; Thu, 31 Jan 2013 19:55:39 +1100 From: Wenchao Xia To: qemu-devel@nongnu.org Date: Thu, 31 Jan 2013 16:53:43 +0800 Message-Id: <1359622430-3936-4-git-send-email-xiawenc@linux.vnet.ibm.com> X-Mailer: git-send-email 1.7.1 In-Reply-To: <1359622430-3936-1-git-send-email-xiawenc@linux.vnet.ibm.com> References: <1359622430-3936-1-git-send-email-xiawenc@linux.vnet.ibm.com> X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13013108-0260-0000-0000-000002795F85 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic] X-Received-From: 202.81.31.140 Cc: kwolf@redhat.com, pbonzini@redhat.com, aliguori@us.ibm.com, Wenchao Xia , stefanha@gmail.com Subject: [Qemu-devel] [PATCH V17 03/10] libqblock: build: add configure support X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Rule for libqblock.la will be included if it is enabled, and will be added to 'all' to be automatically built. Only support Linux now, to save trouble in building on windows. Signed-off-by: Wenchao Xia --- Makefile | 3 +++ configure | 34 ++++++++++++++++++++++++++++++++++ libqblock/Makefile | 4 ++++ 3 files changed, 41 insertions(+), 0 deletions(-) create mode 100644 libqblock/Makefile diff --git a/Makefile b/Makefile index b2d7798..a472fd3 100644 --- a/Makefile +++ b/Makefile @@ -114,6 +114,9 @@ endif ifeq ($(CONFIG_SMARTCARD_NSS),y) include $(SRC_PATH)/libcacard/Makefile endif +ifeq ($(CONFIG_LIBQBLOCK),y) +include $(SRC_PATH)/libqblock/Makefile +endif all: $(DOCS) $(TOOLS) $(HELPERS-y) recurse-all diff --git a/configure b/configure index 64bde7b..3ce9166 100755 --- a/configure +++ b/configure @@ -226,6 +226,8 @@ coroutine="" seccomp="" glusterfs="" virtio_blk_data_plane="" +libqblock="" +libqblock_requires_y="" # parse CC options first for opt do @@ -898,6 +900,10 @@ for opt do ;; --enable-virtio-blk-data-plane) virtio_blk_data_plane="yes" ;; + --disable-libqblock) libqblock="no" + ;; + --enable-libqblock) libqblock="yes" + ;; *) echo "ERROR: unknown option $opt"; show_help="yes" ;; esac @@ -1147,6 +1153,8 @@ echo " --enable-glusterfs enable GlusterFS backend" echo " --disable-glusterfs disable GlusterFS backend" echo " --enable-gcov enable test coverage analysis with gcov" echo " --gcov=GCOV use specified gcov [$gcov_tool]" +echo " --enable-libqblock enable shared library libqblock" +echo " --disable-libqblock disable shared library libqblock" echo "" echo "NOTE: The object files are built at the place where configure is launched" exit 1 @@ -2445,6 +2453,25 @@ EOF fi fi +########################################## +# libqblock probe +if test "$libqblock" != "no"; then + if test -n "$libtool" && + $pkg_config --atleast-version=$glib_req_ver glib-2.0 > /dev/null 2>&1 && \ + $pkg_config --atleast-version=$glib_req_ver gthread-2.0 > /dev/null 2>&1 && \ + test "$linux" = "yes" \ + ; then + # Only support Linux now, check for librt and libz are missing, add it later. + libqblock="yes" + libqblock_requires_y="gthread-2.0 glib-2.0 rt z" + else + if test "$libqblock" = "yes"; then + feature_not_found "libqblock" + fi + libqblock="no" + fi +fi + # # Check for xxxat() functions when we are building linux-user # emulator. This is done because older glibc versions don't @@ -3361,6 +3388,7 @@ echo "GlusterFS support $glusterfs" echo "virtio-blk-data-plane $virtio_blk_data_plane" echo "gcov $gcov_tool" echo "gcov enabled $gcov" +echo "libqblock support $libqblock" if test "$sdl_too_old" = "yes"; then echo "-> Your SDL version is too old - please upgrade to have SDL support" @@ -3717,6 +3745,11 @@ if test "$virtio_blk_data_plane" = "yes" ; then echo "CONFIG_VIRTIO_BLK_DATA_PLANE=y" >> $config_host_mak fi +if test "$libqblock" = "yes" ; then + echo "CONFIG_LIBQBLOCK=y" >> $config_host_mak + echo "libqblock-requires-y=$libqblock_requires_y" >> $config_host_mak +fi + # USB host support case "$usb" in linux) @@ -4301,6 +4334,7 @@ DIRS="tests tests/tcg tests/tcg/cris tests/tcg/lm32" DIRS="$DIRS pc-bios/optionrom pc-bios/spapr-rtas" DIRS="$DIRS roms/seabios roms/vgabios" DIRS="$DIRS qapi-generated" +DIRS="$DIRS libqblock" FILES="Makefile tests/tcg/Makefile qdict-test-data.txt" FILES="$FILES tests/tcg/cris/Makefile tests/tcg/cris/.gdbinit" FILES="$FILES tests/tcg/lm32/Makefile" diff --git a/libqblock/Makefile b/libqblock/Makefile new file mode 100644 index 0000000..8173da7 --- /dev/null +++ b/libqblock/Makefile @@ -0,0 +1,4 @@ +all: libqblock.la + +libqblock.la: + @true