From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:52316) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VS6fm-000669-J7 for qemu-devel@nongnu.org; Fri, 04 Oct 2013 10:48:11 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VS6fk-0001dE-Bk for qemu-devel@nongnu.org; Fri, 04 Oct 2013 10:48:06 -0400 Received: from mail-qa0-x231.google.com ([2607:f8b0:400d:c00::231]:36835) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VS6fk-0001d4-6q for qemu-devel@nongnu.org; Fri, 04 Oct 2013 10:48:04 -0400 Received: by mail-qa0-f49.google.com with SMTP id k15so1081315qaq.8 for ; Fri, 04 Oct 2013 07:48:03 -0700 (PDT) MIME-Version: 1.0 In-Reply-To: <20130926132625.GA26743@T430s.nay.redhat.com> References: <1379408075-12685-1-git-send-email-famz@redhat.com> <20130926132625.GA26743@T430s.nay.redhat.com> Date: Fri, 4 Oct 2013 16:48:03 +0200 Message-ID: From: Stefan Hajnoczi Content-Type: text/plain; charset=ISO-8859-1 Subject: Re: [Qemu-devel] [PATCH v11 0/8] Shared Library Module Support List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Fam Zheng Cc: Kevin Wolf , Peter Maydell , Alex Bligh , Michael Tokarev , qemu-devel , =?ISO-8859-1?Q?Llu=EDs_Vilanova?= , Gerd Hoffmann , Stefan Hajnoczi , Anthony Liguori , Paolo Bonzini , Wayne Xia , Richard Henderson On Thu, Sep 26, 2013 at 3:26 PM, Fam Zheng wrote: > On Tue, 09/17 16:54, Fam Zheng wrote: >> This series implements feature of shared object building as described in: >> >> http://wiki.qemu.org/Features/Modules >> >> The main idea behind modules is to isolate dependencies on third party >> libraries from qemu executables, such as libglusterfs or librbd, so that the >> end users can install core qemu package with fewer dependencies. And only for >> those who want to use particular modules, need they install qemu-foo >> sub-package, which in turn requires libbar and libbiz packages. >> >> It's implemented in three steps: >> >> 1. The first patches fix current build system to correctly handle nested >> variables and object specific options: >> >> [01/08] ui/Makefile.objs: delete unnecessary cocoa.o dependency >> [02/08] make.rule: fix $(obj) to a real relative path >> [03/08] rule.mak: allow per object cflags and libs >> >> 2. The Makefile changes adds necessary options and rules to build DSO objects: >> >> [04/08] build-sys: introduce common-obj-m and block-obj-m for DSO >> >> 3. The next patch adds code to load modules from installed directory: >> >> [05/08] module: implement module loading >> >> A few more changes are following to complete it: >> >> [06/08] Makefile: install modules with "make install" >> [07/08] .gitignore: ignore module related files (dll, so, mo) >> >> In the end of series, the block drivers are converted: >> >> [08/08] block: convert block drivers linked with libs to modules >> > > Ping? > >> v11: >> [04] Link DSO with -Wl,--enable-new-dtags -Wl,-rpath,'$$ORIGIN' (Richard) > > I don't fully understand the portability issue with this flag yet, is this OK > to keep or should be dropped? Any opinions? Ping^2 This series will be useful for enabling block drivers with library dependencies, so I hope we can merge it soon. Today, package maintainers must make a choice about the "right" set of features to include in their QEMU build. With modules they can simply build everything and ship individual packages. Stefan