Hi On Wed, Sep 9, 2020 at 4:46 PM Miroslav Rezanina <mreza...@redhat.com> wrote: > > On Wed, Sep 09, 2020 at 02:13:25PM +0400, Marc-André Lureau wrote: > > Hi > > > > On Wed, Sep 9, 2020 at 1:51 PM Miroslav Rezanina <mreza...@redhat.com> > > wrote: > > > > > > On Wed, Aug 26, 2020 at 03:04:16PM +0400, marcandre.lur...@redhat.com > > > wrote: > > > > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > > > > > > > When cross-compiling, by default qemu_datadir is 'c:\Program > > > > Files\QEMU', which is not recognized as being an absolute path, and > > > > meson will end up adding the prefix again. > > > > > > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > > > --- > > > > contrib/vhost-user-gpu/meson.build | 2 +- > > > > meson.build | 3 ++- > > > > meson_options.txt | 2 +- > > > > pc-bios/descriptors/meson.build | 2 +- > > > > pc-bios/keymaps/meson.build | 6 +++--- > > > > pc-bios/meson.build | 2 +- > > > > tools/virtiofsd/meson.build | 2 +- > > > > trace/meson.build | 2 +- > > > > 8 files changed, 11 insertions(+), 10 deletions(-) > > > > > > > > diff --git a/contrib/vhost-user-gpu/meson.build > > > > b/contrib/vhost-user-gpu/meson.build > > > > index 6c1459f54a..8df4c13bc5 100644 > > > > --- a/contrib/vhost-user-gpu/meson.build > > > > +++ b/contrib/vhost-user-gpu/meson.build > > > > @@ -9,5 +9,5 @@ if 'CONFIG_TOOLS' in config_host and 'CONFIG_VIRGL' in > > > > config_host \ > > > > configure_file(input: '50-qemu-gpu.json.in', > > > > output: '50-qemu-gpu.json', > > > > configuration: config_host, > > > > - install_dir: config_host['qemu_datadir'] / > > > > 'vhost-user') > > > > + install_dir: qemu_datadir / 'vhost-user') > > > > endif > > > > diff --git a/meson.build b/meson.build > > > > index f0fe5f8799..9f0d7d3830 100644 > > > > --- a/meson.build > > > > +++ b/meson.build > > > > @@ -17,6 +17,7 @@ config_all_disas = > > > > keyval.load(meson.current_build_dir() / 'config-all-disas.mak > > > > enable_modules = 'CONFIG_MODULES' in config_host > > > > enable_static = 'CONFIG_STATIC' in config_host > > > > build_docs = 'BUILD_DOCS' in config_host > > > > +qemu_datadir = get_option('datadir') / get_option('qemu_suffix') > > > > config_host_data = configuration_data() > > > > genh = [] > > > > > > > > @@ -1039,7 +1040,7 @@ foreach target : target_dirs > > > > output: exe_name + stp['ext'], > > > > capture: true, > > > > install: stp['install'], > > > > - install_dir: config_host['qemu_datadir'] / > > > > '../systemtap/tapset', > > > > + install_dir: qemu_datadir / > > > > '../systemtap/tapset', > > > > command: [ > > > > tracetool, '--group=all', '--format=' + > > > > stp['fmt'], > > > > '--binary=' + stp['bin'], > > > > diff --git a/meson_options.txt b/meson_options.txt > > > > index 1ef822bab3..9e8db82995 100644 > > > > --- a/meson_options.txt > > > > +++ b/meson_options.txt > > > > @@ -1,4 +1,4 @@ > > > > -option('qemu_suffix', type : 'string', value: '/qemu', > > > > +option('qemu_suffix', type : 'string', value: 'qemu', > > > > description: 'Suffix for QEMU data/modules/config directories > > > > (can be empty)') > > > > option('gettext', type : 'boolean', value : true) > > > > option('sdl', type : 'feature', value : 'auto') > > > > diff --git a/pc-bios/descriptors/meson.build > > > > b/pc-bios/descriptors/meson.build > > > > index 7c715bace8..3798d32372 100644 > > > > --- a/pc-bios/descriptors/meson.build > > > > +++ b/pc-bios/descriptors/meson.build > > > > @@ -10,5 +10,5 @@ foreach f: [ > > > > output: f, > > > > configuration: {'DATADIR': > > > > config_host['qemu_datadir']}, > > > > install: install_blobs, > > > > - install_dir: config_host['qemu_datadir'] / 'firmware') > > > > + install_dir: qemu_datadir / 'firmware') > > > > endforeach > > > > diff --git a/pc-bios/keymaps/meson.build b/pc-bios/keymaps/meson.build > > > > index b737c82230..bbac83ece3 100644 > > > > --- a/pc-bios/keymaps/meson.build > > > > +++ b/pc-bios/keymaps/meson.build > > > > @@ -44,13 +44,13 @@ foreach km, args: keymaps > > > > build_by_default: true, > > > > output: km, > > > > command: [native_qemu_keymap, '-f', '@OUTPUT@', > > > > args.split()], > > > > - install_dir: config_host['qemu_datadir'] / > > > > 'keymaps') > > > > + install_dir: qemu_datadir / 'keymaps') > > > > endforeach > > > > if t.length() > 0 > > > > alias_target('update-keymaps', t) > > > > else > > > > # install from the source tree > > > > - install_data(keymaps.keys(), install_dir: > > > > config_host['qemu_datadir'] / 'keymaps') > > > > + install_data(keymaps.keys(), install_dir: qemu_datadir / 'keymaps') > > > > endif > > > > > > > > -install_data(['sl', 'sv'], install_dir: config_host['qemu_datadir'] / > > > > 'keymaps') > > > > +install_data(['sl', 'sv'], install_dir: qemu_datadir / 'keymaps') > > > > diff --git a/pc-bios/meson.build b/pc-bios/meson.build > > > > index b6389f5148..c11e52ba26 100644 > > > > --- a/pc-bios/meson.build > > > > +++ b/pc-bios/meson.build > > > > @@ -19,7 +19,7 @@ if 'DECOMPRESS_EDK2_BLOBS' in config_host > > > > input: '@0@.bz2'.format(f), > > > > capture: true, > > > > install: install_blobs, > > > > - install_dir: config_host['qemu_datadir'], > > > > + install_dir: qemu_datadir, > > > > command: [ bzip2, '-dc', '@INPUT0@' ]) > > > > endforeach > > > > endif > > > > diff --git a/tools/virtiofsd/meson.build b/tools/virtiofsd/meson.build > > > > index d1e23c5760..50022ed89e 100644 > > > > --- a/tools/virtiofsd/meson.build > > > > +++ b/tools/virtiofsd/meson.build > > > > @@ -16,4 +16,4 @@ executable('virtiofsd', files( > > > > configure_file(input: '50-qemu-virtiofsd.json.in', > > > > output: '50-qemu-virtiofsd.json', > > > > configuration: config_host, > > > > - install_dir: config_host['qemu_datadir'] / 'vhost-user') > > > > + install_dir: qemu_datadir / 'vhost-user') > > > > diff --git a/trace/meson.build b/trace/meson.build > > > > index 56e870848e..5f0bf11cb5 100644 > > > > --- a/trace/meson.build > > > > +++ b/trace/meson.build > > > > @@ -55,7 +55,7 @@ trace_events_all = custom_target('trace-events-all', > > > > command: [ 'cat', '@INPUT@' ], > > > > capture: true, > > > > install: true, > > > > - install_dir: > > > > config_host['qemu_datadir']) > > > > + install_dir: qemu_datadir) > > > > > > > > foreach d : [ > > > > ['generated-tcg-tracers.h', 'tcg-h'], > > > > -- > > > > 2.26.2 > > > > > > > > > > > > > > Is there any change in configuration/build needed as this change cause > > > that > > > meson use /qemu instead of $datadir/qemu_suffix in our build? > > > > Afaik, the install location shouldn't be changed after this. Do you > > see a breaking change? Could you give some details? > > > > After chat with Marc, we were able to identify the problem. I properly changed > --with-confsuffix to --with-suffix but pass wrong value in there as we used to > pass /qemu-kvm (so I use --with-suffix=/qemu-kvm). This was breaking the meson > handling. After update to -with-suffix=qemu build pass successfully.
I think this is due to meson peculiar / operator. 'a' / 'b' = 'a/b' but 'a' / '/b' = '/b' I propose to silently remove the leading '/' in --with-suffix argument, or warn/error about its presence.