]> git.ipfire.org Git - thirdparty/libvirt.git/commit
Only build server side drivers as modules
authorDaniel P. Berrange <berrange@redhat.com>
Wed, 1 Jun 2011 15:36:21 +0000 (16:36 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Thu, 24 May 2012 12:18:00 +0000 (13:18 +0100)
commit1c275e9afadc34e7a973897405f9e0a1370a112e
tree237c3daf741375d69d363285d6b29db653f2a8c5
parentaad1625da693f765af60ab0a184b23069cb5cb4e
Only build server side drivers as modules

The driver modules all use symbols which are defined in libvirt.so.
Thus for loading of modules to work, the binary that libvirt.so
is linked to must export its symbols back to modules. If the
libvirt.so itself is dlopen()d then the RTLD_GLOBAL flag must
be set. Unfortunately few, if any, programming languages use
the RTLD_GLOBAL flag when loading modules :-( This means is it
not practical to use driver modules for any libvirt client side
drivers (OpenVZ, VMWare, Hyper-V, Remote client, test).

This patch changes the build process so only server side drivers
are built as modules (Xen, QEMU, LXC, UML)

* daemon/libvirtd.c: Add missing load of 'interface' driver
* src/Makefile.am: Only build server side drivers as modules
* src/libvirt.c: Don't load any driver modules

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
daemon/libvirtd.c
src/Makefile.am
src/libvirt.c