]> git.proxmox.com Git - mirror_qemu.git/commitdiff
Merge remote-tracking branch 'remotes/bonzini-gitlab/tags/for-upstream' into staging
authorPeter Maydell <peter.maydell@linaro.org>
Fri, 28 Jan 2022 14:04:01 +0000 (14:04 +0000)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 28 Jan 2022 14:04:01 +0000 (14:04 +0000)
* configure and meson fixes
* "meson test" switch for iotests
* deprecation of old SGX QAPI
* unexport InterruptStatsProviderClass-related functions

# gpg: Signature made Fri 28 Jan 2022 10:13:36 GMT
# gpg:                using RSA key F13338574B662389866C7682BFFBD25F78C7AE83
# gpg:                issuer "pbonzini@redhat.com"
# gpg: Good signature from "Paolo Bonzini <bonzini@gnu.org>" [full]
# gpg:                 aka "Paolo Bonzini <pbonzini@redhat.com>" [full]
# Primary key fingerprint: 46F5 9FBD 57D6 12E7 BFD4  E2F7 7E15 100C CD36 69B1
#      Subkey fingerprint: F133 3857 4B66 2389 866C  7682 BFFB D25F 78C7 AE83

* remotes/bonzini-gitlab/tags/for-upstream:
  configure: fix parameter expansion of --cross-cc-cflags options
  qapi: Cleanup SGX related comments and restore @section-size
  check-block: replace -makecheck with TAP output
  qemu-iotests: require at least an argument to check-block.sh
  build: make check-block a meson test
  scripts/mtest2make: add support for SPEED=thorough
  check-block.sh: passthrough -jN flag of make to -j N flag of check
  meson: Use find_program() to resolve the entitlement.sh script
  exec/cpu: Make host pages variables / macros 'target agnostic'
  meson.build: Use a function from libfdt 1.5.1 for the library check
  intc: Unexport InterruptStatsProviderClass-related functions
  docker: add msitools to Fedora/mingw cross
  build-sys: fix undefined ARCH error
  build-sys: fix a meson deprecation warning

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
1  2 
meson.build
qga/meson.build
tests/meson.build

diff --combined meson.build
index e0cfafe8d93532c88aed02f98a97908af8c4593d,f025623bab10af7199941b8bea0479a7f49812dd..5dbc9a7a3651bae0dcfa12f3fa1e7bad031a6780
@@@ -3,8 -3,9 +3,9 @@@ project('qemu', ['c'], meson_version: '
                            'b_staticpic=false', 'stdsplit=false'],
          version: files('VERSION'))
  
- add_test_setup('quick', exclude_suites: 'slow', is_default: true)
- add_test_setup('slow', env: ['G_TEST_SLOW=1', 'SPEED=slow'])
+ add_test_setup('quick', exclude_suites: ['block', 'slow', 'thorough'], is_default: true)
+ add_test_setup('slow', exclude_suites: ['block', 'thorough'], env: ['G_TEST_SLOW=1', 'SPEED=slow'])
+ add_test_setup('thorough', exclude_suites: ['block'], env: ['G_TEST_SLOW=1', 'SPEED=thorough'])
  
  not_found = dependency('', required: false)
  keyval = import('keyval')
@@@ -41,7 -42,6 +42,7 @@@ qemu_icondir = get_option('datadir') / 
  
  config_host_data = configuration_data()
  genh = []
 +qapi_trace_events = []
  
  target_dirs = config_host['TARGET_DIRS'].split()
  have_linux_user = false
@@@ -2280,7 -2280,7 +2281,7 @@@ if have_syste
      if fdt.found() and cc.links('''
         #include <libfdt.h>
         #include <libfdt_env.h>
-        int main(void) { fdt_check_full(NULL, 0); return 0; }''',
+        int main(void) { fdt_find_max_phandle(NULL, NULL); return 0; }''',
           dependencies: fdt)
        fdt_opt = 'system'
      elif fdt_opt == 'system'
@@@ -2558,8 -2558,6 +2559,8 @@@ if 'CONFIG_VHOST_USER' in config_hos
    vhost_user = libvhost_user.get_variable('vhost_user_dep')
  endif
  
 +# NOTE: the trace/ subdirectory needs the qapi_trace_events variable
 +# that is filled in by qapi/.
  subdir('qapi')
  subdir('qobject')
  subdir('stubs')
@@@ -3055,17 -3053,14 +3056,14 @@@ foreach target : target_dir
          install_input += meson.current_source_dir() / entitlements
        endif
  
+       entitlement = find_program('scripts/entitlement.sh')
        emulators += {exe['name'] : custom_target(exe['name'],
                     input: build_input,
                     output: exe['name'],
-                    command: [
-                      files('scripts/entitlement.sh'),
-                      '@OUTPUT@',
-                      '@INPUT@'
-                    ])
+                    command: [entitlement, '@OUTPUT@', '@INPUT@'])
        }
  
-       meson.add_install_script('scripts/entitlement.sh', '--install',
+       meson.add_install_script(entitlement, '--install',
                                 get_option('bindir') / exe['name'],
                                 install_input)
      else
diff --combined qga/meson.build
index f06b726ad3635401c6c460f28388798716403ce2,613ecb980286a7ed349b16c1e61d09fa88b6d27e..1ee9dca60b8b4e5de634ab03ad7b53a638540dca
@@@ -15,18 -15,10 +15,18 @@@ qga_qapi_outputs = 
    'qga-qapi-visit.h',
  ]
  
 +# Problem: to generate trace events, we'd have to add the .trace-events
 +# file to qapi_trace_events like we do in qapi/meson.build.  Since
 +# qapi_trace_events is used by trace/meson.build, we'd have to move
 +# subdir('qga') above subdir('trace') in the top-level meson.build.
 +# Can't, because it would break the dependency of qga on qemuutil (which
 +# depends on trace_ss).  Not worth solving now; simply suppress trace
 +# event generation instead.
  qga_qapi_files = custom_target('QGA QAPI files',
                                 output: qga_qapi_outputs,
                                 input: 'qapi-schema.json',
 -                               command: [ qapi_gen, '-o', 'qga', '-p', 'qga-', '@INPUT0@' ],
 +                               command: [ qapi_gen, '-o', 'qga', '-p', 'qga-', '@INPUT0@',
 +                                          '--suppress-tracing' ],
                                 depend_files: qapi_gen_depends)
  
  qga_ss = ss.source_set()
@@@ -83,7 -75,7 +83,7 @@@ if targetos == 'windows
      endif
      qga_msi = custom_target('QGA MSI',
                              input: files('installer/qemu-ga.wxs'),
-                             output: 'qemu-ga-@0@.msi'.format(config_host['ARCH']),
+                             output: 'qemu-ga-@0@.msi'.format(host_arch),
                              depends: deps,
                              command: [
                                find_program('env'),
diff --combined tests/meson.build
index 94a425d94a3d3310db0165ddc70356b0b0a0b8a5,d5e168d714747a62ace1255ee4fedf53b1440665..079c8f372772b876053314e7d469075b576fb1d7
@@@ -1,6 -1,7 +1,7 @@@
  py3 = import('python').find_installation()
  
  subdir('bench')
+ subdir('qemu-iotests')
  
  test_qapi_outputs = [
    'qapi-builtin-types.c',
    'test-qapi-visit.h',
  ]
  
 +# Problem: to generate trace events, we'd have to add the .trace-events
 +# file to qapi_trace_events like we do in qapi/meson.build.  Since
 +# qapi_trace_events is used by trace/meson.build, we'd have to move
 +# subdir('tests') above subdir('trace') in the top-level meson.build.
 +# Can't, because it would break the dependency of qga on qemuutil (which
 +# depends on trace_ss).  Not worth solving now; simply suppress trace
 +# event generation instead.
  test_qapi_files = custom_target('Test QAPI files',
                                  output: test_qapi_outputs,
                                  input: files('qapi-schema/qapi-schema-test.json',
                                               'qapi-schema/include/sub-module.json',
                                               'qapi-schema/sub-sub-module.json'),
                                  command: [ qapi_gen, '-o', meson.current_build_dir(),
 -                                           '-b', '-p', 'test-', '@INPUT0@' ],
 +                                           '-b', '-p', 'test-', '@INPUT0@',
 +                                           '--suppress-tracing' ],
                                  depend_files: qapi_gen_depends)
  
  # meson doesn't like generated output in other directories