From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:53402) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJNo9-0001EY-W1 for qemu-devel@nongnu.org; Tue, 10 Sep 2013 09:16:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VJNo5-0000Nr-6i for qemu-devel@nongnu.org; Tue, 10 Sep 2013 09:16:41 -0400 Received: from mx1.redhat.com ([209.132.183.28]:14021) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VJNo4-0000Nk-VJ for qemu-devel@nongnu.org; Tue, 10 Sep 2013 09:16:37 -0400 From: Fam Zheng Date: Tue, 10 Sep 2013 21:16:19 +0800 Message-Id: <1378818985-12584-1-git-send-email-famz@redhat.com> Subject: [Qemu-devel] [RFC PATCH v4 0/6] Shared Library Module Support 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 This series implements feature of shared object building as described in: http://wiki.qemu.org/Features/Modules It's achieved in three steps, with extra bonus to change curl and qed to shared library modules in the end (only to demonstrate the usage, no "make install" support of .so files yet). v4: Added --enable-modules in the end of series. Make nested-vars and obj-base as arguemnts to unnest-vars. Take Paolo's idea in comments for v2 and switch back module objects syntax to: $(obj)/foo.mo : $(addprefix $(obj)/, bar.o biz.o qux.o) because this needs less duplication among Makefiles. Fam Zheng (6): make.rule: fix $(obj) to a real relative path rule.mak: allow per object cflags and libs Makefile: introduce common-obj-m and block-obj-m for DSO module: implement module loading function configure: introduce --enable-modules block: build qed and curl as shared library Makefile | 42 +++++++++++++++++++++++++++++++++++++++- Makefile.objs | 18 +++-------------- Makefile.target | 16 +++++++++++++--- block.c | 1 + block/Makefile.objs | 7 ++++--- bsd-user/main.c | 3 +++ configure | 40 +++++++++++++++++++++++++++----------- include/qemu/module.h | 9 +++++++++ linux-user/main.c | 3 +++ rules.mak | 53 ++++++++++++++++++++++++++++++++++++++------------- scripts/create_config | 4 ++++ tests/Makefile | 2 ++ util/module.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++ vl.c | 2 ++ 14 files changed, 207 insertions(+), 46 deletions(-) -- 1.8.3.1