[libvirt PATCH 216/351] meson: src: build libvirt_lxc binary

Pavel Hrdina phrdina at redhat.com
Thu Jul 16 09:57:32 UTC 2020


Signed-off-by: Pavel Hrdina <phrdina at redhat.com>
---
 src/lxc/Makefile.inc.am | 88 -----------------------------------------
 src/lxc/meson.build     | 46 +++++++++++++++++++++
 2 files changed, 46 insertions(+), 88 deletions(-)

diff --git a/src/lxc/Makefile.inc.am b/src/lxc/Makefile.inc.am
index 19546181e51..03f03ba13db 100644
--- a/src/lxc/Makefile.inc.am
+++ b/src/lxc/Makefile.inc.am
@@ -1,40 +1,5 @@
 # vim: filetype=automake
 
-LXC_MONITOR_PROTOCOL_GENERATED = \
-	lxc/lxc_monitor_protocol.h \
-	lxc/lxc_monitor_protocol.c \
-	$(NULL)
-
-LXC_MONITOR_GENERATED = \
-	lxc/lxc_monitor_dispatch.h \
-	$(NULL)
-
-LXC_CONTROLLER_GENERATED = \
-	lxc/lxc_controller_dispatch.h \
-	$(NULL)
-
-LXC_GENERATED = \
-	$(LXC_MONITOR_PROTOCOL_GENERATED) \
-	$(LXC_MONITOR_GENERATED) \
-	$(LXC_CONTROLLER_GENERATED) \
-	$(NULL)
-
-LXC_MONITOR_PROTOCOL = $(srcdir)/lxc/lxc_monitor_protocol.x
-
-LXC_CONTROLLER_SOURCES = \
-	lxc/lxc_conf.c \
-	lxc/lxc_conf.h \
-	lxc/lxc_container.c \
-	lxc/lxc_container.h \
-	lxc/lxc_cgroup.c \
-	lxc/lxc_cgroup.h \
-	lxc/lxc_domain.c \
-	lxc/lxc_domain.h \
-	lxc/lxc_fuse.c \
-	lxc/lxc_fuse.h \
-	lxc/lxc_controller.c \
-	$(NULL)
-
 DRIVER_SOURCE_FILES += \
 	$(LXC_MONITOR_PROTOCOL_GENERATED) \
 	$(LXC_MONITOR_GENERATED) \
@@ -44,7 +9,6 @@ STATEFUL_DRIVER_SOURCE_FILES += \
 	$(LXC_MONITOR_GENERATED) \
 	$(addprefix $(srcdir)/,$(LXC_DRIVER_SOURCES))
 
-
 if WITH_LXC
 
 nodist_conf_DATA += lxc/virtlxcd.conf
@@ -109,52 +73,6 @@ lxc/test_virtlxcd.aug: remote/test_libvirtd.aug.in \
 		-e 's/[@]DAEMON_NAME_UC[@]/Virtlxcd/' \
 		> $@ || rm -f $@
 
-libexec_PROGRAMS += libvirt_lxc
-
-libvirt_lxc_SOURCES = \
-	$(LXC_CONTROLLER_SOURCES) \
-	$(DATATYPES_SOURCES) \
-	$(NULL)
-nodist_libvirt_lxc_SOURCES = \
-	$(LXC_MONITOR_PROTOCOL_GENERATED) \
-	$(LXC_CONTROLLER_GENERATED) \
-	$(NULL)
-libvirt_lxc_LDFLAGS = \
-	$(AM_LDFLAGS) \
-	$(CAPNG_LIBS) \
-	$(LIBXML_LIBS) \
-	$(GLIB_LIBS) \
-	$(NULL)
-libvirt_lxc_LDADD = \
-	libvirt.la \
-	$(FUSE_LIBS) \
-	$(GLIB_LIBS) \
-	$(NULL)
-if WITH_DTRACE_PROBES
-libvirt_lxc_LDADD += libvirt_probes.lo
-endif WITH_DTRACE_PROBES
-libvirt_lxc_LDADD += $(SECDRIVER_LIBS)
-libvirt_lxc_CFLAGS = \
-	-I$(srcdir)/conf \
-	-I$(builddir)/lxc \
-	-I$(builddir)/rpc \
-	-I$(srcdir)/hypervisor \
-	$(AM_CFLAGS) \
-	$(CAPNG_CFLAGS) \
-	$(LIBXML_CFLAGS) \
-	$(GLIB_CFLAGS) \
-	$(LIBNL_CFLAGS) \
-	$(FUSE_CFLAGS) \
-	$(DBUS_CFLAGS) \
-	$(XDR_CFLAGS) \
-	$(NULL)
-if WITH_BLKID
-libvirt_lxc_CFLAGS += $(BLKID_CFLAGS)
-libvirt_lxc_LDADD += $(BLKID_LIBS)
-endif WITH_BLKID
-libvirt_lxc_CFLAGS += $(SECDRIVER_CFLAGS)
-
-
 if WITH_DTRACE_PROBES
 RPC_PROBE_FILES += $(srcdir)/lxc/lxc_monitor_protocol.x
 endif
@@ -182,12 +100,6 @@ uninstall-data-lxc:
 
 endif WITH_LXC
 
-lxc/lxc_controller_dispatch.h: $(srcdir)/rpc/gendispatch.pl \
-		$(REMOTE_PROTOCOL) Makefile.am
-	$(AM_V_GEN)$(PERL) -w $(srcdir)/rpc/gendispatch.pl --mode=server \
-	  virLXCMonitor VIR_LXC_MONITOR $(LXC_MONITOR_PROTOCOL) > \
-	  lxc/lxc_controller_dispatch.h
-
 .PHONY: \
 	install-data-lxc \
 	uninstall-data-lxc \
diff --git a/src/lxc/meson.build b/src/lxc/meson.build
index a90083cdc3d..cf1f976573a 100644
--- a/src/lxc/meson.build
+++ b/src/lxc/meson.build
@@ -40,6 +40,26 @@ lxc_monitor_generated = custom_target(
   capture: true,
 )
 
+lxc_controller_sources = files(
+  'lxc_conf.c',
+  'lxc_container.c',
+  'lxc_cgroup.c',
+  'lxc_domain.c',
+  'lxc_fuse.c',
+  'lxc_controller.c',
+)
+
+lxc_controller_generated = custom_target(
+  'lxc_controller_dispatch_h',
+  input: lxc_monitor_protocol,
+  output: 'lxc_controller_dispatch.h',
+  command: [
+    gendispatch_prog, '--mode=server',
+    'virLXCMonitor', 'VIR_LXC_MONITOR', '@INPUT@'
+  ],
+  capture: true,
+)
+
 if conf.has('WITH_LXC')
   lxc_driver_impl_lib = static_library(
     'virt_driver_lxc_impl',
@@ -82,4 +102,30 @@ if conf.has('WITH_LXC')
       '-DMODULE_NAME="lxc"',
     ],
   }
+
+  virt_helpers += {
+    'name': 'libvirt_lxc',
+    'sources': [
+      lxc_controller_sources,
+      lxc_monitor_protocol_generated,
+      lxc_controller_generated,
+      datatypes_sources,
+      dtrace_gen_objects,
+    ],
+    'include': [
+      conf_inc_dir,
+      hypervisor_inc_dir,
+      include_directories('.'),
+    ],
+    'deps': [
+      blkid_dep,
+      capng_dep,
+      dbus_dep,
+      fuse_dep,
+      libnl_dep,
+      rpc_dep,
+      secdriver_dep,
+      xdr_dep,
+    ],
+  }
 endif
-- 
2.26.2




More information about the libvir-list mailing list