From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34624) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJHla-0008Jn-Jj for qemu-devel@nongnu.org; Tue, 10 Sep 2013 02:49:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VJHlT-0005Wx-T5 for qemu-devel@nongnu.org; Tue, 10 Sep 2013 02:49:38 -0400 Received: from mail-ee0-x22b.google.com ([2a00:1450:4013:c00::22b]:35957) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJHlT-0005Ws-LK for qemu-devel@nongnu.org; Tue, 10 Sep 2013 02:49:31 -0400 Received: by mail-ee0-f43.google.com with SMTP id e52so3644733eek.30 for ; Mon, 09 Sep 2013 23:49:30 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <522EC100.1010807@redhat.com> Date: Tue, 10 Sep 2013 08:49:36 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1378774978-22602-1-git-send-email-famz@redhat.com> <1378774978-22602-6-git-send-email-famz@redhat.com> In-Reply-To: <1378774978-22602-6-git-send-email-famz@redhat.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC PATCH v3 5/5] block: build qed and curl as shared library List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: peter.maydell@linaro.org, mjt@tls.msk.ru, qemu-devel@nongnu.org, stefanha@redhat.com, vilanova@ac.upc.edu, rth@twiddle.net Il 10/09/2013 03:02, Fam Zheng ha scritto: > Curl and qed block drivers are built as shared object module. We have > per object cflags and libs support now, move CURL_CFLAGS and CURL_LIBS > from global option variables to a per object basis. > > "make install" is not installing them yet, manually copy it to > ${prefix}/qemu/block/ to make it loaded. > > Signed-off-by: Fam Zheng > --- > block/Makefile.objs | 7 ++++--- > configure | 5 ++--- > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/block/Makefile.objs b/block/Makefile.objs > index 3bb85b5..741b92f 100644 > --- a/block/Makefile.objs > +++ b/block/Makefile.objs > @@ -1,7 +1,6 @@ > block-obj-y += raw_bsd.o cow.o qcow.o vdi.o vmdk.o cloop.o dmg.o bochs.o vpc.o vvfat.o > block-obj-y += qcow2.o qcow2-refcount.o qcow2-cluster.o qcow2-snapshot.o qcow2-cache.o > -block-obj-y += qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o > -block-obj-y += qed-check.o > +block-obj-m += qed.mo > block-obj-y += vhdx.o > block-obj-y += parallels.o blkdebug.o blkverify.o > block-obj-y += snapshot.o qapi.o > @@ -23,4 +22,6 @@ common-obj-y += commit.o > common-obj-y += mirror.o > common-obj-y += backup.o > > -$(obj)/curl.o: QEMU_CFLAGS+=$(CURL_CFLAGS) > +curl.o-cflags := $(CURL_CFLAGS) > +curl.o-libs := $(CURL_LIBS) > +qed.mo-objs := qed.o qed-gencb.o qed-l2-cache.o qed-table.o qed-cluster.o qed-check.o > diff --git a/configure b/configure > index a2858c2..136ac1a 100755 > --- a/configure > +++ b/configure > @@ -2213,8 +2213,6 @@ EOF > curl_libs=`$curlconfig --libs 2>/dev/null` > if compile_prog "$curl_cflags" "$curl_libs" ; then > curl=yes > - libs_tools="$curl_libs $libs_tools" > - libs_softmmu="$curl_libs $libs_softmmu" > else > if test "$curl" = "yes" ; then > feature_not_found "curl" > @@ -3893,8 +3891,9 @@ if test "$bswap_h" = "yes" ; then > echo "CONFIG_MACHINE_BSWAP_H=y" >> $config_host_mak > fi > if test "$curl" = "yes" ; then > - echo "CONFIG_CURL=y" >> $config_host_mak > + echo "CONFIG_CURL=m" >> $config_host_mak > echo "CURL_CFLAGS=$curl_cflags" >> $config_host_mak > + echo "CURL_LIBS=$curl_libs" >> $config_host_mak > fi > if test "$brlapi" = "yes" ; then > echo "CONFIG_BRLAPI=y" >> $config_host_mak > Looks good. For v4, however, please introduce --enable-modules so we get closer to the final picture. The implementation can be as simple as if ($(CONFIG_MODULES),y) modules-m = $(block-obj-m) $(common-obj-m) else block-obj-y += $(block-obj-m) common-obj-y += $(common-obj-m) block-obj-m = common-obj-m endif Paolo