From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56388) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJwIo-0001Qu-3U for qemu-devel@nongnu.org; Wed, 11 Sep 2013 22:06:44 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VJwIh-0007MF-V8 for qemu-devel@nongnu.org; Wed, 11 Sep 2013 22:06:38 -0400 Received: from mx1.redhat.com ([209.132.183.28]:31903) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJwIh-0007M1-MZ for qemu-devel@nongnu.org; Wed, 11 Sep 2013 22:06:31 -0400 Date: Thu, 12 Sep 2013 10:06:25 +0800 From: Fam Zheng Message-ID: <20130912020625.GD9134@T430s.nay.redhat.com> References: <1378906448-15834-1-git-send-email-famz@redhat.com> <1378906448-15834-6-git-send-email-famz@redhat.com> <5230743E.20009@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5230743E.20009@redhat.com> Subject: Re: [Qemu-devel] [PATCH v6 5/8] configure: introduce --enable-modules Reply-To: famz@redhat.com List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: peter.maydell@linaro.org, mjt@tls.msk.ru, qemu-devel@nongnu.org, stefanha@redhat.com, vilanova@ac.upc.edu, rth@twiddle.net On Wed, 09/11 15:46, Paolo Bonzini wrote: > Il 11/09/2013 15:34, Fam Zheng ha scritto: > > 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) > > > > This would have to be in patch 3; in fact, it probably makes sense to > squash the two together. > OK, will do it. > > # 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))) \ Missing comma here: ^ Objects won't be static linked without --enable-modules. Fam > > + $(foreach v,$(filter %-m,$(nested-vars)), \ > > + $(eval $(patsubst %-m,%-y,$v) += $($v)) \ > > + $(eval $v := ))) > > > > endef > > >