On Wed, Dec 16, 2020 at 8:24 PM Paolo Bonzini <[email protected]> wrote:
> Meson 0.56.0 does not need b_staticpic=$pie anymore, and has > stabilized the keyval module. Remove the workaround and use a few > replacements for features deprecated in that release cycle. > > Signed-off-by: Paolo Bonzini <[email protected]> > Reviewed-by: Marc-André Lureau <[email protected]> --- > configure | 5 ---- > docs/meson.build | 12 ++++---- > meson.build | 54 ++++++++++++++++------------------- > plugins/meson.build | 4 +-- > tests/meson.build | 2 +- > tests/qapi-schema/meson.build | 4 +-- > tests/qtest/meson.build | 2 +- > trace/meson.build | 4 +-- > 8 files changed, 39 insertions(+), 48 deletions(-) > > diff --git a/configure b/configure > index 8d12b715e3..708cf365f0 100755 > --- a/configure > +++ b/configure > @@ -6965,10 +6965,6 @@ fi > mv $cross config-meson.cross > > rm -rf meson-private meson-info meson-logs > -unset staticpic > -if ! version_ge "$($meson --version)" 0.56.0; then > - staticpic=$(if test "$pie" = yes; then echo true; else echo false; fi) > -fi > NINJA=$ninja $meson setup \ > --prefix "$prefix" \ > --libdir "$libdir" \ > @@ -6988,7 +6984,6 @@ NINJA=$ninja $meson setup \ > -Dwerror=$(if test "$werror" = yes; then echo true; else echo > false; fi) \ > -Dstrip=$(if test "$strip_opt" = yes; then echo true; else echo > false; fi) \ > -Db_pie=$(if test "$pie" = yes; then echo true; else echo false; > fi) \ > - ${staticpic:+-Db_staticpic=$staticpic} \ > -Db_coverage=$(if test "$gcov" = yes; then echo true; else echo > false; fi) \ > -Db_lto=$lto -Dcfi=$cfi -Dcfi_debug=$cfi_debug \ > -Dmalloc=$malloc -Dmalloc_trim=$malloc_trim -Dsparse=$sparse \ > diff --git a/docs/meson.build b/docs/meson.build > index bb8fe4c9e4..4e88ed7516 100644 > --- a/docs/meson.build > +++ b/docs/meson.build > @@ -38,12 +38,12 @@ endif > if build_docs > SPHINX_ARGS += ['-Dversion=' + meson.project_version(), '-Drelease=' + > config_host['PKGVERSION']] > > - sphinx_extn_depends = [ 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 = [ meson.current_source_dir() / > 'sphinx/depfile.py', > + meson.current_source_dir() / 'sphinx/hxtool.py', > + meson.current_source_dir() / > 'sphinx/kerneldoc.py', > + meson.current_source_dir() / > 'sphinx/kernellog.py', > + meson.current_source_dir() / > 'sphinx/qapidoc.py', > + meson.current_source_dir() / > 'sphinx/qmp_lexer.py', > qapi_gen_depends ] > > configure_file(output: 'index.html', > diff --git a/meson.build b/meson.build > index 77ac9ec01b..39fc9b7143 100644 > --- a/meson.build > +++ b/meson.build > @@ -1,14 +1,10 @@ > -project('qemu', ['c'], meson_version: '>=0.55.0', > - default_options: ['warning_level=1', 'c_std=gnu99', > 'cpp_std=gnu++11', 'b_colorout=auto'] + > - (meson.version().version_compare('>=0.56.0') ? [ > 'b_staticpic=false' ] : []), > - version: run_command('head', meson.source_root() / > 'VERSION').stdout().strip()) > +project('qemu', ['c'], meson_version: '>=0.56.0', > + default_options: ['warning_level=1', 'c_std=gnu99', > 'cpp_std=gnu++11', 'b_colorout=auto', > + 'b_staticpic=false'], > + version: run_command('head', meson.project_source_root() / > 'VERSION').stdout().strip()) > > not_found = dependency('', required: false) > -if meson.version().version_compare('>=0.56.0') > - keyval = import('keyval') > -else > - keyval = import('unstable-keyval') > -endif > +keyval = import('keyval') > ss = import('sourceset') > fs = import('fs') > > @@ -1372,21 +1368,21 @@ genh += configure_file(output: 'config-host.h', > configuration: config_host_data) > hxtool = find_program('scripts/hxtool') > shaderinclude = find_program('scripts/shaderinclude.pl') > qapi_gen = find_program('scripts/qapi-gen.py') > -qapi_gen_depends = [ 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 = [ meson.current_source_dir() / > 'scripts/qapi/__init__.py', > + meson.current_source_dir() / > 'scripts/qapi/commands.py', > + 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' > ] > > tracetool = [ > @@ -1894,14 +1890,14 @@ foreach target : target_dirs > if target.endswith('-softmmu') > execs = [{ > 'name': 'qemu-system-' + target_name, > - 'gui': false, > + 'win_subsystem': 'console', > 'sources': files('softmmu/main.c'), > 'dependencies': [] > }] > if targetos == 'windows' and (sdl.found() or gtk.found()) > execs += [{ > 'name': 'qemu-system-' + target_name + 'w', > - 'gui': true, > + 'win_subsystem': 'windows', > 'sources': files('softmmu/main.c'), > 'dependencies': [] > }] > @@ -1910,7 +1906,7 @@ foreach target : target_dirs > specific_fuzz = specific_fuzz_ss.apply(config_target, strict: false) > execs += [{ > 'name': 'qemu-fuzz-' + target_name, > - 'gui': false, > + 'win_subsystem': 'console', > 'sources': specific_fuzz.sources(), > 'dependencies': specific_fuzz.dependencies(), > }] > @@ -1918,7 +1914,7 @@ foreach target : target_dirs > else > execs = [{ > 'name': 'qemu-' + target_name, > - 'gui': false, > + 'win_subsystem': 'console', > 'sources': [], > 'dependencies': [] > }] > @@ -1933,7 +1929,7 @@ foreach target : target_dirs > link_language: link_language, > link_depends: [block_syms, qemu_syms] + > exe.get('link_depends', []), > link_args: link_args, > - gui_app: exe['gui']) > + win_subsystem: exe['win_subsystem']) > } > > if 'CONFIG_TRACE_SYSTEMTAP' in config_host > diff --git a/plugins/meson.build b/plugins/meson.build > index e77723010e..d58efc980e 100644 > --- a/plugins/meson.build > +++ b/plugins/meson.build > @@ -1,7 +1,7 @@ > if 'CONFIG_HAS_LD_DYNAMIC_LIST' in config_host > - plugin_ldflags = ['-Wl,--dynamic-list=' + (meson.build_root() / > 'qemu-plugins-ld.symbols')] > + plugin_ldflags = ['-Wl,--dynamic-list=' + (meson.project_build_root() / > 'qemu-plugins-ld.symbols')] > elif 'CONFIG_HAS_LD_EXPORTED_SYMBOLS_LIST' in config_host > - plugin_ldflags = ['-Wl,-exported_symbols_list,' + (meson.build_root() / > 'qemu-plugins-ld64.symbols')] > + plugin_ldflags = ['-Wl,-exported_symbols_list,' + > (meson.project_build_root() / 'qemu-plugins-ld64.symbols')] > else > plugin_ldflags = [] > endif > diff --git a/tests/meson.build b/tests/meson.build > index 1fa068f27b..0b8c3c6f32 100644 > --- a/tests/meson.build > +++ b/tests/meson.build > @@ -113,7 +113,7 @@ tests = { > 'test-keyval': [testqapi], > 'test-logging': [], > 'test-uuid': [], > - 'ptimer-test': ['ptimer-test-stubs.c', meson.source_root() / > 'hw/core/ptimer.c'], > + 'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / > 'hw/core/ptimer.c'], > 'test-qapi-util': [], > } > > diff --git a/tests/qapi-schema/meson.build b/tests/qapi-schema/meson.build > index 304ef939bd..26588396d2 100644 > --- a/tests/qapi-schema/meson.build > +++ b/tests/qapi-schema/meson.build > @@ -1,5 +1,5 @@ > test_env = environment() > -test_env.set('PYTHONPATH', meson.source_root() / 'scripts') > +test_env.set('PYTHONPATH', meson.project_source_root() / 'scripts') > test_env.set('PYTHONIOENCODING', 'utf-8') > > schemas = [ > @@ -240,7 +240,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=doc-good', > meson.current_source_dir(), > meson.current_build_dir()]) > diff --git a/tests/qtest/meson.build b/tests/qtest/meson.build > index 6a67c538be..450af3e51c 100644 > --- a/tests/qtest/meson.build > +++ b/tests/qtest/meson.build > @@ -237,7 +237,7 @@ foreach dir : target_dirs > qtest_env.set('QTEST_QEMU_IMG', './qemu-img') > test_deps += [qemu_img] > endif > - qtest_env.set('G_TEST_DBUS_DAEMON', meson.source_root() / > 'tests/dbus-vmstate-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) > > foreach test : target_qtests > diff --git a/trace/meson.build b/trace/meson.build > index b19309b327..012d0dbceb 100644 > --- a/trace/meson.build > +++ b/trace/meson.build > @@ -2,7 +2,7 @@ specific_ss.add(files('control-target.c')) > > trace_events_files = [] > foreach dir : [ '.' ] + trace_events_subdirs > - trace_events_file = meson.source_root() / dir / 'trace-events' > + trace_events_file = meson.project_source_root() / dir / 'trace-events' > trace_events_files += [ trace_events_file ] > group_name = dir == '.' ? 'root' : dir.underscorify() > group = '--group=' + group_name > @@ -68,7 +68,7 @@ foreach d : [ > ] > gen = custom_target(d[0], > output: d[0], > - input: meson.source_root() / 'trace-events', > + input: meson.project_source_root() / 'trace-events', > command: [ tracetool, '--group=root', > '--format=@0@'.format(d[1]), > '@INPUT@' ], > capture: true) > specific_ss.add(when: 'CONFIG_TCG', if_true: gen) > -- > 2.29.2 > > > > -- Marc-André Lureau
