On 3/14/22 15:58, Slater, Joseph wrote: > I was really only wanting to make sure that both remote_driver and remote_daemon have access to lxc_protocol.h. I am not an expert in meson builds but I think the only way to do that is have a loop outside of remote_daemon_generated and remote_driver_generated. You could start with an empty remote_daemon_generated and append remote_xxx_generated after the foreach loop instead of initializing the way I did. > > So, your 1) is just a side-effect, not something I was explicitly seeking. > Hey, I'm no meson expert either, but one thing that I've noticed is that with this patch I'm seeing more tasks that meson wants to run: Without the patch: 1410 With the patch: 1447 (note, that your numbers may be different as they depend on what features are enabled, but you should see the same increase in tasks) My understanding was that we need only to order tasks not add new ones. Now, looking at generated build.ninja I can see why: libvirt.git $ grep "^build.*lxc_protocol.c.o:" build/build.ninja | cut -d':' -f1 build src/remote/libvirt_remote_driver.a.p/meson-generated_.._lxc_protocol.c.o build src/libvirtd.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtproxyd.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtinterfaced.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtnetworkd.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtnodedevd.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtnwfilterd.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtsecretd.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtstoraged.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtxend.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtlxcd.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtchd.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtqemud.p/meson-generated_.._remote_lxc_protocol.c.o build src/virtvboxd.p/meson-generated_.._remote_lxc_protocol.c.o Meson decided it's faster to compile remote_lxc_protocol.c multiple times, for different daemons, each time with the same set of arguments (not shown in my paste above), than to compile it just once. I'm sure virqemud is going to be happy with understanding LXC driver protocol, but I am not happy about that. Le sigh. Pavel, since you introduced meson, can you please shed more light into here? How should we set up ORDERING and not DEPENDENCY? In Makefile it's as easy as: target: dependency | x y z Michal