[PATCH] add build dependency on lxc_protocol.h to remote_daemon

Joe Slater joe.slater at windriver.com
Thu Mar 10 20:53:10 UTC 2022


remote_daemon.c and others need the generated header lxc_protocol.h,
but do not have it as a dependency in meson.build.  This means that
builds will randomly (ok, very occasionally) fail.  Restructure how the
header is built so that remote_daemon can have it as a dependency.

Signed-off-by: Joe Slater <joe.slater at windriver.com>

---
 src/remote/meson.build | 48 ++++++++++++++++++++++++------------------
 1 file changed, 28 insertions(+), 20 deletions(-)

diff --git a/src/remote/meson.build b/src/remote/meson.build
index 0a18826..31a30ee 100644
--- a/src/remote/meson.build
+++ b/src/remote/meson.build
@@ -1,27 +1,11 @@
-remote_driver_sources = [
-  'remote_driver.c',
-  'remote_sockets.c',
-]
-
-remote_driver_generated = []
+remote_xxx_generated = []
 
 foreach name : [ 'remote', 'qemu', 'lxc' ]
-  client_bodies_h = '@0 at _client_bodies.h'.format(name)
   protocol_c = '@0 at _protocol.c'.format(name)
   protocol_h = '@0 at _protocol.h'.format(name)
   protocol_x = '@0 at _protocol.x'.format(name)
 
-  remote_driver_generated += custom_target(
-    client_bodies_h,
-    input: protocol_x,
-    output: client_bodies_h,
-    command: [
-      gendispatch_prog, '--mode=client', name, name.to_upper(), '@INPUT@',
-    ],
-    capture: true,
-  )
-
-  remote_driver_generated += custom_target(
+  remote_xxx_generated += custom_target(
     protocol_h,
     input: protocol_x,
     output: protocol_h,
@@ -30,7 +14,7 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
     ],
   )
 
-  remote_driver_generated += custom_target(
+  remote_xxx_generated += custom_target(
     protocol_c,
     input: protocol_x,
     output: protocol_c,
@@ -42,6 +26,30 @@ foreach name : [ 'remote', 'qemu', 'lxc' ]
   rpc_probe_files += files(protocol_x)
 endforeach
 
+
+remote_driver_sources = [
+  'remote_driver.c',
+  'remote_sockets.c',
+]
+
+remote_driver_generated =remote_xxx_generated
+
+foreach name : [ 'remote', 'qemu', 'lxc' ]
+  client_bodies_h = '@0 at _client_bodies.h'.format(name)
+  protocol_x = '@0 at _protocol.x'.format(name)
+
+  remote_driver_generated += custom_target(
+    client_bodies_h,
+    input: protocol_x,
+    output: client_bodies_h,
+    command: [
+      gendispatch_prog, '--mode=client', name, name.to_upper(), '@INPUT@',
+    ],
+    capture: true,
+  )
+
+endforeach
+
 remote_daemon_sources = files(
   'remote_daemon.c',
   'remote_daemon_config.c',
@@ -49,7 +57,7 @@ remote_daemon_sources = files(
   'remote_daemon_stream.c',
 )
 
-remote_daemon_generated = []
+remote_daemon_generated = remote_xxx_generated
 
 virt_ssh_helper_sources = files(
   'remote_sockets.c',
-- 
2.32.0



More information about the libvir-list mailing list