]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: src: build virtlogd daemon binary
authorPavel Hrdina <phrdina@redhat.com>
Mon, 27 Jul 2020 06:46:16 +0000 (08:46 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 3 Aug 2020 07:27:05 +0000 (09:27 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
src/logging/Makefile.inc.am
src/logging/meson.build

index 61a07f8e1239b88dfd2e8bceae6d834a514efab4..8adec645d363f4cd04bca2a7faba43b37535b9f8 100644 (file)
@@ -1,32 +1,5 @@
 # vim: filetype=automake
 
-LOG_PROTOCOL_GENERATED = \
-       logging/log_protocol.h \
-       logging/log_protocol.c \
-       $(NULL)
-
-LOG_DAEMON_GENERATED = \
-       logging/log_daemon_dispatch_stubs.h
-       $(NULL)
-
-LOG_DAEMON_SOURCES = \
-       logging/log_daemon.h \
-       logging/log_daemon.c \
-       logging/log_daemon_config.h \
-       logging/log_daemon_config.c \
-       logging/log_daemon_dispatch.c \
-       logging/log_daemon_dispatch.h \
-       logging/log_handler.c \
-       logging/log_handler.h \
-       $(NULL)
-
-LOG_PROTOCOL = $(srcdir)/logging/log_protocol.x
-
-BUILT_SOURCES += \
-       $(LOG_PROTOCOL_GENERATED) \
-       $(LOG_DAEMON_GENERATED) \
-       $(NULL)
-
 SYSCONF_FILES += logging/virtlogd.sysconf
 
 VIRTLOGD_UNIT_FILES_IN = \
@@ -46,42 +19,6 @@ OPENRC_INIT_FILES_IN += \
        $(NULL)
 
 if WITH_LIBVIRTD
-sbin_PROGRAMS += virtlogd
-
-
-virtlogd_SOURCES = \
-               $(LOG_DAEMON_SOURCES) \
-               $(NULL)
-nodist_virtlogd_SOURCES = \
-               $(LOG_PROTOCOL_GENERATED) \
-               $(LOG_DAEMON_GENERATED) \
-               $(NULL)
-virtlogd_CFLAGS = \
-               -I$(builddir)/logging \
-               -I$(builddir)/rpc \
-               $(AM_CFLAGS) \
-               $(XDR_CFLAGS) \
-               $(NULL)
-virtlogd_LDFLAGS = \
-               $(AM_LDFLAGS) \
-               $(XDR_LIBS) \
-               $(NO_UNDEFINED_LDFLAGS) \
-               $(NULL)
-virtlogd_LDADD = \
-               libvirt_driver_admin.la \
-               libvirt.la \
-               $(GLIB_LIBS) \
-               $(NULL)
-if WITH_DTRACE_PROBES
-virtlogd_LDADD += libvirt_probes.lo
-endif WITH_DTRACE_PROBES
-
-if WITH_SASL
-virtlogd_CFLAGS += \
-       $(SASL_CFLAGS) \
-       $(NULL)
-endif WITH_SASL
-
 conf_DATA += logging/virtlogd.conf
 
 augeas_DATA += logging/virtlogd.aug
@@ -93,12 +30,6 @@ logging/test_virtlogd.aug: logging/test_virtlogd.aug.in \
 
 endif WITH_LIBVIRTD
 
-logging/log_daemon_dispatch_stubs.h: $(LOG_PROTOCOL) \
-               $(srcdir)/rpc/gendispatch.pl Makefile.am
-       $(AM_V_GEN)perl -w $(srcdir)/rpc/gendispatch.pl --mode=server \
-           virLogManagerProtocol VIR_LOG_MANAGER_PROTOCOL \
-           $(LOG_PROTOCOL) > logging/log_daemon_dispatch_stubs.h
-
 virtlogd.init: logging/virtlogd.init.in $(top_builddir)/config.status
        $(AM_V_GEN)$(SED) $(COMMON_UNIT_VARS) $< > $@-t && mv $@-t $@
 
index 295f07d4e2f31e6cde12e9305a127225add6d2e3..328a0422a9e017c8a062415fe97012234b647f12 100644 (file)
@@ -25,6 +25,13 @@ log_protocol_generated += custom_target(
   ],
 )
 
+log_daemon_sources = files(
+  'log_daemon.c',
+  'log_daemon_config.c',
+  'log_daemon_dispatch.c',
+  'log_handler.c',
+)
+
 log_driver_lib = static_library(
   'virt_log_driver',
   [
@@ -40,6 +47,31 @@ log_driver_lib = static_library(
 
 libvirt_libs += log_driver_lib
 
+if conf.has('WITH_LIBVIRTD')
+  log_daemon_generated = custom_target(
+    'log_daemon_dispatch_stubs.h',
+    input: log_protocol,
+    output: 'log_daemon_dispatch_stubs.h',
+    command: [
+      gendispatch_prog, '--mode=server',
+      'virLogManagerProtocol', 'VIR_LOG_MANAGER_PROTOCOL', '@INPUT@',
+    ],
+    capture: true,
+  )
+
+  virt_daemons += {
+    'name': 'virtlogd',
+    'sources': [
+      log_daemon_sources,
+      log_daemon_generated,
+      log_protocol_generated,
+    ],
+    'include': [
+      include_directories('.'),
+    ],
+  }
+endif
+
 log_inc_dir = include_directories('.')
 
 log_dep = declare_dependency(