]> xenbits.xensource.com Git - libvirt.git/commitdiff
vz: build driver as module and don't register it on client's side
authorMaxim Nestratov <mnestratov@virtuozzo.com>
Mon, 28 Mar 2016 13:03:00 +0000 (16:03 +0300)
committerMaxim Nestratov <mnestratov@virtuozzo.com>
Wed, 13 Apr 2016 15:48:43 +0000 (18:48 +0300)
Make it possible to build vz driver as a module and don't link it with
libvirt.so statically.
Remove registering it on client's side as far as we start relying on daemon

Signed-off-by: Maxim Nestratov <mnestratov@virtuozzo.com>
daemon/Makefile.am
daemon/libvirtd.c
src/Makefile.am
src/libvirt.c
src/libvirt_private.syms

index 2dbe81bf03fa579866159821dfd530a0683cf701..78d7d215c6490d4080a1e651dae70d5ae7141d08 100644 (file)
@@ -233,6 +233,10 @@ if WITH_VBOX
     libvirtd_LDADD += ../src/libvirt_driver_vbox.la
 endif WITH_VBOX
 
+if WITH_VZ
+    libvirtd_LDADD += ../src/libvirt_driver_vz.la
+endif WITH_VZ
+
 if WITH_STORAGE
     libvirtd_LDADD += ../src/libvirt_driver_storage.la
 endif WITH_STORAGE
index 3d38a46ee7d215dfa4ba1d4e608d3eb4acbf69a1..92b40801cd68d25c068eb4f973de486dec4e8749 100644 (file)
 #  include "nwfilter/nwfilter_driver.h"
 # endif
 #endif
+#ifdef WITH_VZ
+# include "vz/vz_driver.h"
+#endif
 
 #include "configmake.h"
 
@@ -390,6 +393,9 @@ static void daemonInitialize(void)
 # ifdef WITH_BHYVE
     virDriverLoadModule("bhyve");
 # endif
+# ifdef WITH_VZ
+    virDriverLoadModule("vz");
+# endif
 #else
 # ifdef WITH_NETWORK
     networkRegister();
@@ -430,6 +436,9 @@ static void daemonInitialize(void)
 # ifdef WITH_BHYVE
     bhyveRegister();
 # endif
+# ifdef WITH_VZ
+    vzRegister();
+# endif
 #endif
 }
 
index eda0365538e46091f66ad83391a820703a740896..08ff301ed4eab023ee5736a1deabf6f1cb25aea4 100644 (file)
@@ -630,6 +630,7 @@ DRIVER_SOURCE_FILES = \
        $(NULL)
 
 STATEFUL_DRIVER_SOURCE_FILES = \
+       $(VZ_DRIVER_SOURCES) \
        $(BHYVE_DRIVER_SOURCES) \
        $(INTERFACE_DRIVER_SOURCES) \
        $(LIBXL_DRIVER_SOURCES) \
@@ -886,7 +887,7 @@ HYPERV_DRIVER_EXTRA_DIST =                                                  \
                hyperv/hyperv_wmi_generator.py                                  \
                $(HYPERV_DRIVER_GENERATED)
 
-VZ_DRIVER_SOURCES =                                    \
+VZ_DRIVER_SOURCES =                            \
                vz/vz_driver.h                  \
                vz/vz_driver.c                  \
                vz/vz_utils.c                   \
@@ -1493,13 +1494,21 @@ libvirt_driver_hyperv_la_SOURCES = $(HYPERV_DRIVER_SOURCES)
 endif WITH_HYPERV
 
 if WITH_VZ
+noinst_LTLIBRARIES += libvirt_driver_vz_impl.la
+libvirt_driver_vz_la_SOURCES =
+libvirt_driver_vz_la_LIBADD = libvirt_driver_vz_impl.la
+if WITH_DRIVER_MODULES
+mod_LTLIBRARIES += libvirt_driver_vz.la
+libvirt_driver_vz_la_LIBADD += ../gnulib/lib/libgnu.la
+libvirt_driver_vz_la_LDFLAGS = -module -avoid-version $(AM_LDFLAGS)
+else ! WITH_DRIVER_MODULES
 noinst_LTLIBRARIES += libvirt_driver_vz.la
-libvirt_la_BUILT_LIBADD += libvirt_driver_vz.la
-libvirt_driver_vz_la_CFLAGS = \
+endif ! WITH_DRIVER_MODULES
+libvirt_driver_vz_impl_la_CFLAGS = \
                -I$(srcdir)/conf $(AM_CFLAGS) \
                $(PARALLELS_SDK_CFLAGS) $(LIBNL_CFLAGS)
-libvirt_driver_vz_la_LIBADD = $(PARALLELS_SDK_LIBS) $(LIBNL_LIBS)
-libvirt_driver_vz_la_SOURCES = $(VZ_DRIVER_SOURCES)
+libvirt_driver_vz_impl_la_SOURCES = $(VZ_DRIVER_SOURCES)
+libvirt_driver_vz_impl_la_LIBADD =  $(PARALLELS_SDK_LIBS) $(LIBNL_LIBS)
 endif WITH_VZ
 
 if WITH_BHYVE
index dd58e9c23d14cdf6bcaed7ab0b65395a2dba67ba..a21d00e4089a6422d0b801ce0cce569737b2ec31 100644 (file)
@@ -92,9 +92,6 @@
 #ifdef WITH_XENAPI
 # include "xenapi/xenapi_driver.h"
 #endif
-#ifdef WITH_VZ
-# include "vz/vz_driver.h"
-#endif
 #ifdef WITH_BHYVE
 # include "bhyve/bhyve_driver.h"
 #endif
@@ -433,10 +430,6 @@ virGlobalInit(void)
     if (xenapiRegister() == -1)
         goto error;
 # endif
-# ifdef WITH_VZ
-    if (vzRegister() == -1)
-        goto error;
-# endif
 #endif
 #ifdef WITH_REMOTE
     if (remoteRegister() == -1)
index e5bf9c614ae7ca7922acebe8c2840fba21dfdbc8..1bcb3af37b5badbcb8b1712ff9f843a86ae1aba7 100644 (file)
@@ -929,6 +929,11 @@ virGetSecret;
 virGetStoragePool;
 virGetStorageVol;
 virGetStream;
+virConnectCloseCallbackDataGetCallback;
+virNewConnectCloseCallbackData;
+virConnectCloseCallbackDataUnregister;
+virConnectCloseCallbackDataRegister;
+virConnectCloseCallbackDataCall;
 virInterfaceClass;
 virNetworkClass;
 virNodeDeviceClass;
@@ -937,6 +942,7 @@ virSecretClass;
 virStoragePoolClass;
 virStorageVolClass;
 virStreamClass;
+virConnectCloseCallbackDataClass;
 
 
 # fdstream.h
@@ -1304,6 +1310,7 @@ virCommandHandshakeWait;
 virCommandNew;
 virCommandNewArgList;
 virCommandNewArgs;
+virCommandNewVAList;
 virCommandNonblockingFDs;
 virCommandPassFD;
 virCommandPassFDGetFDIndex;