From patchwork Wed Sep 11 13:34:05 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Fam Zheng X-Patchwork-Id: 274294 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id B30A52C0112 for ; Thu, 12 Sep 2013 00:19:16 +1000 (EST) Received: from localhost ([::1]:35946 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJkbH-0002Ju-EX for incoming@patchwork.ozlabs.org; Wed, 11 Sep 2013 09:36:55 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44840) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJkZ7-0008Gf-A2 for qemu-devel@nongnu.org; Wed, 11 Sep 2013 09:34:47 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VJkZ1-00011E-Ah for qemu-devel@nongnu.org; Wed, 11 Sep 2013 09:34:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:12500) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJkZ1-00010v-2R for qemu-devel@nongnu.org; Wed, 11 Sep 2013 09:34:35 -0400 Received: from int-mx12.intmail.prod.int.phx2.redhat.com (int-mx12.intmail.prod.int.phx2.redhat.com [10.5.11.25]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id r8BDYV5F015145 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Wed, 11 Sep 2013 09:34:32 -0400 Received: from T430s.nay.redhat.com ([10.66.5.155]) by int-mx12.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id r8BDY9Li030737; Wed, 11 Sep 2013 09:34:29 -0400 From: Fam Zheng To: qemu-devel@nongnu.org Date: Wed, 11 Sep 2013 21:34:05 +0800 Message-Id: <1378906448-15834-6-git-send-email-famz@redhat.com> In-Reply-To: <1378906448-15834-1-git-send-email-famz@redhat.com> References: <1378906448-15834-1-git-send-email-famz@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.25 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x X-Received-From: 209.132.183.28 Cc: peter.maydell@linaro.org, famz@redhat.com, mjt@tls.msk.ru, stefanha@redhat.com, pbonzini@redhat.com, vilanova@ac.upc.edu, rth@twiddle.net Subject: [Qemu-devel] [PATCH v6 5/8] configure: introduce --enable-modules 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 The new option will enable support of shared object build. Otherwise objects are static linked to executables. Signed-off-by: Fam Zheng --- Makefile.target | 6 +++++- configure | 8 ++++++++ rules.mak | 6 +++++- 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Makefile.target b/Makefile.target index 87906ea..7fb9e4d 100644 --- a/Makefile.target +++ b/Makefile.target @@ -152,7 +152,11 @@ obj-y-save := $(obj-y) block-obj-y := common-obj-y := include $(SRC_PATH)/Makefile.objs -dummy := $(call unnest-vars,..,block-obj-y common-obj-y) +dummy := $(call unnest-vars,.., \ + block-obj-y \ + block-obj-m \ + common-obj-y \ + common-obj-m) # Now restore obj-y obj-y := $(obj-y-save) diff --git a/configure b/configure index a80f143..275b1a0 100755 --- a/configure +++ b/configure @@ -192,6 +192,7 @@ gcov_tool="gcov" EXESUF="" DSOSUF=".so" LDFLAGS_SHARED="-shared" +modules="no" prefix="/usr/local" mandir="\${prefix}/share/man" datadir="\${prefix}/share" @@ -651,6 +652,8 @@ for opt do ;; --disable-debug-info) ;; + --enable-modules) modules="yes" + ;; --cpu=*) ;; --target-list=*) target_list="$optarg" @@ -1056,6 +1059,7 @@ echo " --moddir=PATH install modules in PATH" echo " --sysconfdir=PATH install config in PATH$confsuffix" echo " --localstatedir=PATH install local state in PATH (set at runtime on win32)" echo " --with-confsuffix=SUFFIX suffix for QEMU data inside datadir and sysconfdir [$confsuffix]" +echo " --enable-modules enable modules support" echo " --enable-debug-tcg enable TCG debugging" echo " --disable-debug-tcg disable TCG debugging (default)" echo " --enable-debug-info enable debugging information (default)" @@ -3585,6 +3589,7 @@ echo "python $python" if test "$slirp" = "yes" ; then echo "smbd $smbd" fi +echo "module support $modules" echo "host CPU $cpu" echo "host big endian $bigendian" echo "target list $target_list" @@ -3703,6 +3708,9 @@ echo "libs_softmmu=$libs_softmmu" >> $config_host_mak echo "ARCH=$ARCH" >> $config_host_mak +if test "$modules" = "yes"; then + echo "CONFIG_MODULES=y" >> $config_host_mak +fi case "$cpu" in arm|i386|x86_64|x32|ppc|aarch64) # The TCG interpreter currently does not support ld/st optimization. diff --git a/rules.mak b/rules.mak index 9275d91..22492a9 100644 --- a/rules.mak +++ b/rules.mak @@ -187,6 +187,10 @@ $(if $1,$(foreach v,$(nested-vars),$(eval \ $(foreach v,$(filter %-m,$(nested-vars)), \ $(call add-modules,$v)) -$(eval modules: $(patsubst %.mo,%$(DSOSUF),$(modules-m))) +$(if $(CONFIG_MODULES), \ + $(eval modules: $(patsubst %.mo,%$(DSOSUF),$(modules-m))) \ + $(foreach v,$(filter %-m,$(nested-vars)), \ + $(eval $(patsubst %-m,%-y,$v) += $($v)) \ + $(eval $v := ))) endef