diff mbox series

[v2,2/5] meson: use meson datadir instead of qemu_datadir

Message ID 20200825175827.355940-3-marcandre.lureau@redhat.com
State New
Headers show
Series meson: mingw installation fixes & nsis conversion | expand

Commit Message

Marc-André Lureau Aug. 25, 2020, 5:58 p.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 ++-
 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 +-
 7 files changed, 10 insertions(+), 9 deletions(-)

Comments

Daniel P. Berrangé Aug. 26, 2020, 8:29 a.m. UTC | #1
On Tue, Aug 25, 2020 at 09:58:24PM +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 ++-
>  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 +-
>  7 files changed, 10 insertions(+), 9 deletions(-)
> 

> diff --git a/meson.build b/meson.build
> index f0fe5f8799..20f20a7bfc 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('confsuffix')

This needs to be

   get_option('datadir') / get_option('confsuffix')

to add the dir separator if we're using the default meson value
for "confsuffix" which lacks a leading "/".


Regards,
Daniel
Marc-André Lureau Aug. 26, 2020, 8:53 a.m. UTC | #2
Hi

On Wed, Aug 26, 2020 at 12:30 PM Daniel P. Berrangé <berrange@redhat.com>
wrote:

> On Tue, Aug 25, 2020 at 09:58:24PM +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 ++-
> >  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 +-
> >  7 files changed, 10 insertions(+), 9 deletions(-)
> >
>
> > diff --git a/meson.build b/meson.build
> > index f0fe5f8799..20f20a7bfc 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('confsuffix')
>
> This needs to be
>
>    get_option('datadir') / get_option('confsuffix')
>
> to add the dir separator if we're using the default meson value
> for "confsuffix" which lacks a leading "/".
>

right, fixed
Paolo Bonzini Aug. 26, 2020, 9:45 a.m. UTC | #3
You'd need to check first if it works correctly if confsuffix "looks like"
an absolute path ('/qemu'). So + looks correct to me.

(Sorry for top posting).

Paolo

Il mer 26 ago 2020, 10:53 Marc-André Lureau <marcandre.lureau@gmail.com> ha
scritto:

> Hi
>
> On Wed, Aug 26, 2020 at 12:30 PM Daniel P. Berrangé <berrange@redhat.com>
> wrote:
>
>> On Tue, Aug 25, 2020 at 09:58:24PM +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 ++-
>> >  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 +-
>> >  7 files changed, 10 insertions(+), 9 deletions(-)
>> >
>>
>> > diff --git a/meson.build b/meson.build
>> > index f0fe5f8799..20f20a7bfc 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('confsuffix')
>>
>> This needs to be
>>
>>    get_option('datadir') / get_option('confsuffix')
>>
>> to add the dir separator if we're using the default meson value
>> for "confsuffix" which lacks a leading "/".
>>
>
> right, fixed
>
> --
> Marc-André Lureau
>
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..20f20a7bfc 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('confsuffix')
 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/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'],