[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [RFC PATCH v3 0/5] Shared Library Module Support
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [RFC PATCH v3 0/5] Shared Library Module Support |
Date: |
Tue, 10 Sep 2013 09:02:53 +0800 |
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).
v3: Support a new consistent syntax for per object cflags, libs, and module
object list:
foo.o-cflags := $(FOO_CFLAGS)
foo.o-libs := $(FOO_LIBS)
bar.mo-objs := biz.o qux.o
All without $(obj) now, as they are automa[gt]ically prefixed when unnesting
variables in top Makefile (foo.o should be listed in some nested var to expand
these variables correctly).
[01/05] make.rule: fix $(obj) to a real relative path
[Paolo] a different and cleaner fix as suggested, please review
again.
[02/05] rule.mak: allow per object cflags and libs
Cleaner syntax as described above, see patch 05 for example.
[03/05] Makefile: introduce common-obj-m and block-obj-m for DSO
Based on the object variable syntax.
[04/05] module: implement module loading function
[Paolo] Use g_strdup_printf and G_MODULE_BIND_LOCAL. Remove unused
#include's.
[05/05] block: build qed and curl as shared library
Fam Zheng (5):
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
block: build qed and curl as shared library
Makefile | 42 ++++++++++++++++++++++++++++++++++++++--
Makefile.objs | 19 +++++-------------
Makefile.target | 10 ++++++++--
block.c | 1 +
block/Makefile.objs | 7 ++++---
bsd-user/main.c | 3 +++
configure | 32 ++++++++++++++++++++-----------
include/qemu/module.h | 9 +++++++++
linux-user/main.c | 3 +++
rules.mak | 41 +++++++++++++++++++++++++++++++++------
scripts/create_config | 4 ++++
tests/Makefile | 5 +++++
util/module.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++
vl.c | 2 ++
14 files changed, 193 insertions(+), 38 deletions(-)
--
1.8.3.1
[Qemu-devel] [RFC PATCH v3 4/5] module: implement module loading function, Fam Zheng, 2013/09/09