diff mbox series

[v3,5/8] meson: use meson datadir instead of qemu_datadir

Message ID 20200826110419.528931-6-marcandre.lureau@redhat.com
State Superseded
Headers show
Series None | expand

Commit Message

Marc-André Lureau Aug. 26, 2020, 11:04 a.m. UTC
From: Marc-André Lureau <marcandre.lureau@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.lureau@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(-)

Comments

Marc-André Lureau Sept. 9, 2020, 10:13 a.m. UTC | #1
Hi

On Wed, Sep 9, 2020 at 1:51 PM Miroslav Rezanina <mrezanin@redhat.com> wrote:
>
> On Wed, Aug 26, 2020 at 03:04:16PM +0400, marcandre.lureau@redhat.com wrote:
> > From: Marc-André Lureau <marcandre.lureau@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.lureau@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?
Paolo Bonzini Sept. 9, 2020, 1:21 p.m. UTC | #2
Il mer 9 set 2020, 15:18 Marc-André Lureau <marcandre.lureau@redhat.com> ha
scritto:

> I propose to silently remove the leading '/' in --with-suffix
> argument, or warn/error about its presence.
>

Sounds good to just remove it; recent meson has a substring method so we
can do that in meson.build too.

Paolo


>
<div dir="auto"><div><br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">Il mer 9 set 2020, 15:18 Marc-André Lureau &lt;<a href="mailto:marcandre.lureau@redhat.com">marcandre.lureau@redhat.com</a>&gt; ha scritto:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I propose to silently remove the leading &#39;/&#39; in --with-suffix<br>
argument, or warn/error about its presence.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">Sounds good to just remove it; recent meson has a substring method so we can do that in meson.build too.</div><div dir="auto"><br></div><div dir="auto">Paolo</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
</blockquote></div></div></div>
diff mbox series

Patch

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'],