From nobody Tue Feb 10 05:45:04 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=redhat.com Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1633456545293239.84834123149517; Tue, 5 Oct 2021 10:55:45 -0700 (PDT) Received: from localhost ([::1]:48354 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1mXofH-0001O8-6Y for importer@patchew.org; Tue, 05 Oct 2021 13:55:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:45140) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1mXnYJ-0007vx-0q for qemu-devel@nongnu.org; Tue, 05 Oct 2021 12:44:27 -0400 Received: from mail-ed1-x52a.google.com ([2a00:1450:4864:20::52a]:39692) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1mXnYD-0003zs-D0 for qemu-devel@nongnu.org; Tue, 05 Oct 2021 12:44:26 -0400 Received: by mail-ed1-x52a.google.com with SMTP id x7so1172692edd.6 for ; Tue, 05 Oct 2021 09:44:21 -0700 (PDT) Received: from avogadro.lan ([2001:b07:6468:f312:c8dd:75d4:99ab:290a]) by smtp.gmail.com with ESMTPSA id x14sm6101392edd.25.2021.10.05.09.44.19 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 Oct 2021 09:44:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=sender:from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=L7aq730I1ONq17GlXDCr+P8AQuo8sCuixTJDUPu3mOI=; b=nvbmlhUv9FU96q6qegcsFKE89wXMZTO65fxmU/XpMntzCOXnwdOhgeZId/UKoaLNVO PJCjHyhGNNhp1WDkB6+ewPS7UQ35vUdwqfYPSfVn9lhEF13IhbEkOGngvbZmNb2e4AsO rOl/0NvxN1QVjoRKfCbR5oBtwE4PG6+Se0uSoh702X9d49UTWckY0V68IZwCLx8pzglo 4CaXrCEgJ+USYvWUz1BdF5nUXQNJsazuHFtDc7BmTWe0RVBbnRkV2m4lujmlqoUxBQKk /eLS8XGsVyOnVm2DqE7QczHmvCOGT68yrzd07mWAGlLVyzAVx540ZWJR4dI4FWLu7S5q Dbog== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:sender:from:to:cc:subject:date:message-id :in-reply-to:references:mime-version:content-transfer-encoding; bh=L7aq730I1ONq17GlXDCr+P8AQuo8sCuixTJDUPu3mOI=; b=BKKzVJCE0g905HqrqW4Aksq/bvHrjseaXeMH3y6IIg2+jEX+N8zkSbUQW57IsW4SYG E23d0iryRYtCa7rTeoL+LFaJiyEM1dne2omeOy6ZhqTWGIHrqugPJgBqQBweAGswad7d yQO59qqaJBc4zMGFoCxoQ83Reiqig32tOY7w1ncec7jXQAXtGr1y4CHJCaiIXQKJMP5/ HrgOaRYzEsK22ofYlCmolCfhGnPh9N0jyDzuvQ1HTmA++DgDu+MFg0i/CvMUEGjUI4j/ lX18MU8ohCEmjRzI2oWaau3eZJVwbQ5Bt/p79Ys1qRRS+94KSVfKG9G8OhUqHRf38Imf oEog== X-Gm-Message-State: AOAM533TzsPbnUIUbyj4+rAcuLjDSu3APas9AbQH/ruclERO24njFqki y5jancUZUKhacsdgwhlgZ92UL6kWS8s= X-Google-Smtp-Source: ABdhPJzo8Diweh7VvuE1Ddz0BwLPap5kr9CFuVkfT6UIUPe5rNKxtFlO0ConfhcKnyMKFM6tS+UXfg== X-Received: by 2002:aa7:c2cd:: with SMTP id m13mr6211620edp.365.1633452259972; Tue, 05 Oct 2021 09:44:19 -0700 (PDT) From: Paolo Bonzini To: qemu-devel@nongnu.org Subject: [PULL 09/12] meson: switch minimum meson version to 0.58.2, minimum recommended to 0.59.2 Date: Tue, 5 Oct 2021 18:44:05 +0200 Message-Id: <20211005164408.288128-10-pbonzini@redhat.com> X-Mailer: git-send-email 2.31.1 In-Reply-To: <20211005164408.288128-1-pbonzini@redhat.com> References: <20211005164408.288128-1-pbonzini@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::52a; envelope-from=paolo.bonzini@gmail.com; helo=mail-ed1-x52a.google.com X-Spam_score_int: -11 X-Spam_score: -1.2 X-Spam_bar: - X-Spam_report: (-1.2 / 5.0 requ) BAYES_00=-1.9, DKIM_INVALID=0.1, DKIM_SIGNED=0.1, FREEMAIL_FORGED_FROMDOMAIN=0.249, FREEMAIL_FROM=0.001, HEADER_FROM_DIFFERENT_DOMAINS=0.249, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: =?UTF-8?q?Marc-Andr=C3=A9=20Lureau?= Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) X-ZM-MESSAGEID: 1633456547016100001 Meson 0.58.2 does not need b_staticpic=3D$pie anymore, and has stabilized the keyval module. Remove the workaround and use a few replacements for features deprecated in the 0.57.0 release cycle. One feature that we would like to use is passing dependencies to summary. However, that was broken in 0.59.0 and 0.59.1. Therefore, use the embedded Meson if the host has anything older than 0.59.2, but allow --meson=3D to use 0.58.2. Reviewed-by: Marc-Andr=C3=A9 Lureau Signed-off-by: Paolo Bonzini --- configure | 8 ++---- docs/meson.build | 14 ++++----- meson.build | 54 ++++++++++++++++------------------- plugins/meson.build | 4 +-- scripts/mtest2make.py | 7 ++--- tests/qapi-schema/meson.build | 4 +-- tests/qtest/meson.build | 2 +- tests/unit/meson.build | 2 +- trace/meson.build | 4 +-- 9 files changed, 44 insertions(+), 55 deletions(-) diff --git a/configure b/configure index 1d3f099498..877bf3d76a 100755 --- a/configure +++ b/configure @@ -1994,7 +1994,7 @@ python_version=3D$($python -c 'import sys; print("%d.= %d.%d" % (sys.version_info[0] python=3D"$python -B" =20 if test -z "$meson"; then - if test "$explicit_python" =3D no && has meson && version_ge "$(meson = --version)" 0.55.3; then + if test "$explicit_python" =3D no && has meson && version_ge "$(meson = --version)" 0.59.2; then meson=3Dmeson elif test $git_submodules_action !=3D 'ignore' ; then meson=3Dgit @@ -5163,10 +5163,6 @@ if test "$skip_meson" =3D no; then mv $cross config-meson.cross =20 rm -rf meson-private meson-info meson-logs - unset staticpic - if ! version_ge "$($meson --version)" 0.56.0; then - staticpic=3D$(if test "$pie" =3D yes; then echo true; else echo false;= fi) - fi NINJA=3D$ninja $meson setup \ --prefix "$prefix" \ --libdir "$libdir" \ @@ -5186,7 +5182,6 @@ if test "$skip_meson" =3D no; then -Dwerror=3D$(if test "$werror" =3D yes; then echo true; else echo = false; fi) \ -Dstrip=3D$(if test "$strip_opt" =3D yes; then echo true; else ech= o false; fi) \ -Db_pie=3D$(if test "$pie" =3D yes; then echo true; else echo fals= e; fi) \ - ${staticpic:+-Db_staticpic=3D$staticpic} \ -Db_coverage=3D$(if test "$gcov" =3D yes; then echo true; else ech= o false; fi) \ -Db_lto=3D$lto -Dcfi=3D$cfi -Dcfi_debug=3D$cfi_debug \ -Dmalloc=3D$malloc -Dmalloc_trim=3D$malloc_trim -Dsparse=3D$sparse= \ @@ -5222,6 +5217,7 @@ else perl -i -ne ' s/^gettext =3D true$/gettext =3D auto/; s/^gettext =3D false$/gettext =3D disabled/; + /^b_staticpic/ && next; print;' meson-private/cmd_line.txt fi fi diff --git a/docs/meson.build b/docs/meson.build index cffe1ecf1d..be4dc30f39 100644 --- a/docs/meson.build +++ b/docs/meson.build @@ -37,14 +37,14 @@ endif if build_docs SPHINX_ARGS +=3D ['-Dversion=3D' + meson.project_version(), '-Drelease= =3D' + config_host['PKGVERSION']] =20 - sphinx_extn_depends =3D [ meson.source_root() / 'docs/sphinx/depfile.py', - meson.source_root() / 'docs/sphinx/hxtool.py', - meson.source_root() / 'docs/sphinx/kerneldoc.py', - meson.source_root() / 'docs/sphinx/kernellog.py', - meson.source_root() / 'docs/sphinx/qapidoc.py', - meson.source_root() / 'docs/sphinx/qmp_lexer.py', + sphinx_extn_depends =3D [ meson.current_source_dir() / 'sphinx/depfile.p= y', + meson.current_source_dir() / 'sphinx/hxtool.py', + meson.current_source_dir() / 'sphinx/kerneldoc.p= y', + meson.current_source_dir() / 'sphinx/kernellog.p= y', + meson.current_source_dir() / 'sphinx/qapidoc.py', + meson.current_source_dir() / 'sphinx/qmp_lexer.p= y', qapi_gen_depends ] - sphinx_template_files =3D [ meson.source_root() / 'docs/_templates/foote= r.html' ] + sphinx_template_files =3D [ meson.project_source_root() / 'docs/_templat= es/footer.html' ] =20 have_ga =3D have_tools and config_host.has_key('CONFIG_GUEST_AGENT') =20 diff --git a/meson.build b/meson.build index 60f4f45165..17e77fe4ef 100644 --- a/meson.build +++ b/meson.build @@ -1,14 +1,10 @@ -project('qemu', ['c'], meson_version: '>=3D0.55.0', - default_options: ['warning_level=3D1', 'c_std=3Dgnu11', 'cpp_std= =3Dgnu++11', 'b_colorout=3Dauto'] + - (meson.version().version_compare('>=3D0.56.0') ? = [ 'b_staticpic=3Dfalse' ] : []), - version: run_command('head', meson.source_root() / 'VERSION').stdo= ut().strip()) +project('qemu', ['c'], meson_version: '>=3D0.58.2', + default_options: ['warning_level=3D1', 'c_std=3Dgnu11', 'cpp_std= =3Dgnu++11', 'b_colorout=3Dauto', + 'b_staticpic=3Dfalse'], + version: files('VERSION')) =20 not_found =3D dependency('', required: false) -if meson.version().version_compare('>=3D0.56.0') - keyval =3D import('keyval') -else - keyval =3D import('unstable-keyval') -endif +keyval =3D import('keyval') ss =3D import('sourceset') fs =3D import('fs') =20 @@ -1972,21 +1968,21 @@ genh +=3D configure_file(output: 'config-host.h', c= onfiguration: config_host_data) hxtool =3D find_program('scripts/hxtool') shaderinclude =3D find_program('scripts/shaderinclude.pl') qapi_gen =3D find_program('scripts/qapi-gen.py') -qapi_gen_depends =3D [ meson.source_root() / 'scripts/qapi/__init__.py', - meson.source_root() / 'scripts/qapi/commands.py', - meson.source_root() / 'scripts/qapi/common.py', - meson.source_root() / 'scripts/qapi/error.py', - meson.source_root() / 'scripts/qapi/events.py', - meson.source_root() / 'scripts/qapi/expr.py', - meson.source_root() / 'scripts/qapi/gen.py', - meson.source_root() / 'scripts/qapi/introspect.py', - meson.source_root() / 'scripts/qapi/parser.py', - meson.source_root() / 'scripts/qapi/schema.py', - meson.source_root() / 'scripts/qapi/source.py', - meson.source_root() / 'scripts/qapi/types.py', - meson.source_root() / 'scripts/qapi/visit.py', - meson.source_root() / 'scripts/qapi/common.py', - meson.source_root() / 'scripts/qapi-gen.py' +qapi_gen_depends =3D [ meson.current_source_dir() / 'scripts/qapi/__init__= .py', + meson.current_source_dir() / 'scripts/qapi/commands.p= y', + meson.current_source_dir() / 'scripts/qapi/common.py', + meson.current_source_dir() / 'scripts/qapi/error.py', + meson.current_source_dir() / 'scripts/qapi/events.py', + meson.current_source_dir() / 'scripts/qapi/expr.py', + meson.current_source_dir() / 'scripts/qapi/gen.py', + meson.current_source_dir() / 'scripts/qapi/introspect= .py', + meson.current_source_dir() / 'scripts/qapi/parser.py', + meson.current_source_dir() / 'scripts/qapi/schema.py', + meson.current_source_dir() / 'scripts/qapi/source.py', + meson.current_source_dir() / 'scripts/qapi/types.py', + meson.current_source_dir() / 'scripts/qapi/visit.py', + meson.current_source_dir() / 'scripts/qapi/common.py', + meson.current_source_dir() / 'scripts/qapi-gen.py' ] =20 tracetool =3D [ @@ -2635,14 +2631,14 @@ foreach target : target_dirs if target.endswith('-softmmu') execs =3D [{ 'name': 'qemu-system-' + target_name, - 'gui': false, + 'win_subsystem': 'console', 'sources': files('softmmu/main.c'), 'dependencies': [] }] if targetos =3D=3D 'windows' and (sdl.found() or gtk.found()) execs +=3D [{ 'name': 'qemu-system-' + target_name + 'w', - 'gui': true, + 'win_subsystem': 'windows', 'sources': files('softmmu/main.c'), 'dependencies': [] }] @@ -2651,7 +2647,7 @@ foreach target : target_dirs specific_fuzz =3D specific_fuzz_ss.apply(config_target, strict: fals= e) execs +=3D [{ 'name': 'qemu-fuzz-' + target_name, - 'gui': false, + 'win_subsystem': 'console', 'sources': specific_fuzz.sources(), 'dependencies': specific_fuzz.dependencies(), }] @@ -2659,7 +2655,7 @@ foreach target : target_dirs else execs =3D [{ 'name': 'qemu-' + target_name, - 'gui': false, + 'win_subsystem': 'console', 'sources': [], 'dependencies': [] }] @@ -2678,7 +2674,7 @@ foreach target : target_dirs link_language: link_language, link_depends: [block_syms, qemu_syms] + exe.get('link_depen= ds', []), link_args: link_args, - gui_app: exe['gui']) + win_subsystem: exe['win_subsystem']) =20 if targetos =3D=3D 'darwin' icon =3D 'pc-bios/qemu.rsrc' diff --git a/plugins/meson.build b/plugins/meson.build index bfd5c9822a..aeb386ebae 100644 --- a/plugins/meson.build +++ b/plugins/meson.build @@ -2,9 +2,9 @@ plugin_ldflags =3D [] # Modules need more symbols than just those in plugins/qemu-plugins.symbols if not enable_modules if 'CONFIG_HAS_LD_DYNAMIC_LIST' in config_host - plugin_ldflags =3D ['-Wl,--dynamic-list=3D' + (meson.build_root() / 'q= emu-plugins-ld.symbols')] + plugin_ldflags =3D ['-Wl,--dynamic-list=3D' + (meson.project_build_roo= t() / 'qemu-plugins-ld.symbols')] elif 'CONFIG_HAS_LD_EXPORTED_SYMBOLS_LIST' in config_host - plugin_ldflags =3D ['-Wl,-exported_symbols_list,' + (meson.build_root(= ) / 'qemu-plugins-ld64.symbols')] + plugin_ldflags =3D ['-Wl,-exported_symbols_list,' + (meson.project_bui= ld_root() / 'qemu-plugins-ld64.symbols')] endif endif =20 diff --git a/scripts/mtest2make.py b/scripts/mtest2make.py index ee072c0502..02c0453e67 100644 --- a/scripts/mtest2make.py +++ b/scripts/mtest2make.py @@ -60,11 +60,8 @@ def process_tests(test, targets, suites): if test['workdir'] is not None: print('.test.dir.%d :=3D %s' % (i, shlex.quote(test['workdir']))) =20 - if 'depends' in test: - deps =3D (targets.get(x, []) for x in test['depends']) - deps =3D itertools.chain.from_iterable(deps) - else: - deps =3D ['all'] + deps =3D (targets.get(x, []) for x in test['depends']) + deps =3D itertools.chain.from_iterable(deps) =20 print('.test.name.%d :=3D %s' % (i, test['name'])) print('.test.driver.%d :=3D %s' % (i, driver)) diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build index 6187efbd58..df5acfd08b 100644 --- a/tests/qapi-schema/meson.build +++ b/tests/qapi-schema/meson.build @@ -1,5 +1,5 @@ test_env =3D environment() -test_env.set('PYTHONPATH', meson.source_root() / 'scripts') +test_env.set('PYTHONPATH', meson.project_source_root() / 'scripts') test_env.set('PYTHONIOENCODING', 'utf-8') =20 schemas =3D [ @@ -248,7 +248,7 @@ if build_docs # clutter up the build dir with the cache. command: [SPHINX_ARGS, '-b', 'text', '-E', - '-c', meson.source_root() / 'docs= ', + '-c', meson.project_source_root()= / 'docs', '-D', 'master_doc=3Ddoc-good', meson.current_source_dir(), meson.current_build_dir()]) diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build index 19444d4752..c9d8458062 100644 --- a/tests/qtest/meson.build +++ b/tests/qtest/meson.build @@ -275,7 +275,7 @@ foreach dir : target_dirs qtest_env.set('QTEST_QEMU_IMG', './qemu-img') test_deps +=3D [qemu_img] endif - qtest_env.set('G_TEST_DBUS_DAEMON', meson.source_root() / 'tests/dbus-vm= state-daemon.sh') + qtest_env.set('G_TEST_DBUS_DAEMON', meson.project_source_root() / 'tests= /dbus-vmstate-daemon.sh') qtest_env.set('QTEST_QEMU_BINARY', './qemu-system-' + target_base) if have_tools and have_vhost_user_blk_server qtest_env.set('QTEST_QEMU_STORAGE_DAEMON_BINARY', './storage-daemon/qe= mu-storage-daemon') diff --git a/tests/unit/meson.build b/tests/unit/meson.build index 5736d285b2..7c297d7e5c 100644 --- a/tests/unit/meson.build +++ b/tests/unit/meson.build @@ -43,7 +43,7 @@ tests =3D { 'test-keyval': [testqapi], 'test-logging': [], 'test-uuid': [], - 'ptimer-test': ['ptimer-test-stubs.c', meson.source_root() / 'hw/core/pt= imer.c'], + 'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw= /core/ptimer.c'], 'test-qapi-util': [], } =20 diff --git a/trace/meson.build b/trace/meson.build index e401e7c415..b8f95de200 100644 --- a/trace/meson.build +++ b/trace/meson.build @@ -4,7 +4,7 @@ specific_ss.add(files('control-target.c')) trace_events_files =3D [] dtrace =3D find_program('dtrace', required: 'CONFIG_TRACE_DTRACE' in confi= g_host) foreach dir : [ '.' ] + trace_events_subdirs - trace_events_file =3D meson.source_root() / dir / 'trace-events' + trace_events_file =3D meson.project_source_root() / dir / 'trace-events' trace_events_files +=3D [ trace_events_file ] group_name =3D dir =3D=3D '.' ? 'root' : dir.underscorify() group =3D '--group=3D' + group_name @@ -70,7 +70,7 @@ foreach d : [ ] gen =3D custom_target(d[0], output: d[0], - input: meson.source_root() / 'trace-events', + input: meson.project_source_root() / 'trace-events', command: [ tracetool, '--group=3Droot', '--format=3D@0@'.f= ormat(d[1]), '@INPUT@', '@OUTPUT@' ], depend_files: tracetool_depends) specific_ss.add(when: 'CONFIG_TCG', if_true: gen) --=20 2.31.1