From mboxrd@z Thu Jan 1 00:00:00 1970 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 From: Fam Zheng 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> Subject: [Qemu-devel] [PATCH v6 5/8] configure: introduce --enable-modules List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org 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 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 -- 1.8.3.1