libvirt/docs/images
Michal Privoznik ac7f3667f2 meson: Work around configure_file(copy:true) deprecation
In our meson scripts, we use configure_file(copy:true) to copy
files from srcdir into builddir. However, as of meson-0.64.0,
this is deprecated [1] in favor of using:

  fs = import('fs')
  fs.copyfile(in, out)

Except, the submodule's new method wasn't introduced until
0.64.0. And since we can't bump the minimal meson version we
require, we have to work with both: new and old versions.

Now, the fun part: fs.copyfile() is not a drop in replacement as
it returns different type (a custom_target object). This is
incompatible with places where we store the configure_file()
retval in a variable to process it further.

While we could just replace 'copy:true' with a dummy
'configuration:...' (say 'configuration: configmake_conf') we
can't do that for binary files (like src/fonts/ or src/images/).

Therefore, places where we are not interested in the retval can
be switched to fs.copyfile() and places where we are interested
in the retval will just use a dummy 'configuration:'.

Except, src/network/meson.build. In here we not just copy the
file but also specify alternative install dir and that's not
something that fs.copyfile() can handle. Yet, using 'copy: true'
is viewed wrong [2].

1: https://mesonbuild.com/Release-notes-for-0-64-0.html#fscopyfile-to-replace-configure_filecopy-true
2: https://github.com/mesonbuild/meson/pull/10042

Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Martin Kletzander <mkletzan@redhat.com>
2023-04-20 15:30:18 +02:00
..
event_loop_simple.png
event_loop_simple.svg
event_loop_worker.png
event_loop_worker.svg
libvirt-daemon-arch.png
libvirt-daemon-arch.svg
libvirt-driver-arch.png
libvirt-driver-arch.svg
libvirt-object-model.png
libvirt-object-model.svg
libvirt-virConnect-example.png
libvirt-virConnect-example.svg
meson.build meson: Work around configure_file(copy:true) deprecation 2023-04-20 15:30:18 +02:00
migration-managed-direct.png
migration-managed-direct.svg
migration-managed-p2p.png
migration-managed-p2p.svg
migration-native.png
migration-native.svg
migration-tunnel.png
migration-tunnel.svg
migration-unmanaged-direct.png
migration-unmanaged-direct.svg