Rewrote the executable directory patch and added Darwin API in qemu_init_exec_dir().
v20: Dropped the argv0 passing patch from v19. Refactored qemu_get_exec_dir() in patch 01. Three patches are affected: [01/11] util: Split out exec_dir from os_find_datadir Rewritten. The exec_dir is a static global in os-{win32,posix}.c that is initialized in main() and later used with qemu_get_exec_dir(). [07/11] module: implement module loading Use glue(). Prefix hash with "_", so the preceding digit won't cause compile error now. [11/11] oslib: port qemu_init_exec_dir to Darwin New. Fam Zheng (10): util: Split out exec_dir from os_find_datadir rules.mak: fix $(obj) to a real relative path rules.mak: allow per object cflags and libs block: use per-object cflags and libs rules.mak: introduce DSO rules module: implement module loading Makefile: install modules with "make install" Makefile: introduce common-obj-m and block-obj-m for DSO block: convert block drivers linked with libs to modules oslib: port qemu_init_exec_dir to Darwin Paolo Bonzini (1): darwin: do not use -mdynamic-no-pic .gitignore | 3 ++ Makefile | 29 +++++++++- Makefile.objs | 19 ++----- Makefile.target | 21 ++++++-- block/Makefile.objs | 13 ++++- configure | 93 +++++++++++++++++++++----------- include/qemu-common.h | 2 +- include/qemu/module.h | 23 +++++++- include/qemu/osdep.h | 9 ++++ module-common.c | 10 ++++ os-posix.c | 42 +++------------ os-win32.c | 21 +------- qemu-img.c | 1 + qemu-io.c | 1 + qemu-nbd.c | 1 + rules.mak | 80 +++++++++++++++++++++++----- scripts/create_config | 3 ++ util/module.c | 145 +++++++++++++++++++++++++++++++++++++++++++++++++- util/oslib-posix.c | 69 ++++++++++++++++++++++++ util/oslib-win32.c | 30 +++++++++++ vl.c | 3 +- 21 files changed, 494 insertions(+), 124 deletions(-) create mode 100644 module-common.c -- 1.8.5.4