build: Switch to meson 0.56

And replace the deprecated meson API accordingly.

Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
This commit is contained in:
Olivier Fourdan 2023-10-23 17:39:33 +02:00 committed by Peter Hutterer
parent 515b240a24
commit 7fdef970c4
6 changed files with 32 additions and 34 deletions

View File

@ -27,7 +27,7 @@ shared_module(
) )
# Test that we don't have any unresolved symbols from our module to Xorg. # Test that we don't have any unresolved symbols from our module to Xorg.
xorg_build_root = join_paths(meson.build_root(), 'hw', 'xfree86') xorg_build_root = join_paths(meson.project_build_root(), 'hw', 'xfree86')
symbol_test_args = [] symbol_test_args = []
symbol_test_args += join_paths(xorg_build_root, 'libxorgserver.so') symbol_test_args += join_paths(xorg_build_root, 'libxorgserver.so')
symbol_test_args += join_paths(xorg_build_root, 'dixmods', 'libshadow.so') symbol_test_args += join_paths(xorg_build_root, 'dixmods', 'libshadow.so')

View File

@ -30,10 +30,10 @@ srcs = [
] ]
scanner_dep = dependency('wayland-scanner', native: true) scanner_dep = dependency('wayland-scanner', native: true)
scanner = find_program(scanner_dep.get_pkgconfig_variable('wayland_scanner')) scanner = find_program(scanner_dep.get_variable(pkgconfig : 'wayland_scanner'))
protocols_dep = dependency('wayland-protocols', version: wayland_protocols_req) protocols_dep = dependency('wayland-protocols', version: wayland_protocols_req)
protodir = protocols_dep.get_pkgconfig_variable('pkgdatadir') protodir = protocols_dep.get_variable(pkgconfig : 'pkgdatadir')
pointer_xml = join_paths(protodir, 'unstable', 'pointer-constraints', 'pointer-constraints-unstable-v1.xml') pointer_xml = join_paths(protodir, 'unstable', 'pointer-constraints', 'pointer-constraints-unstable-v1.xml')
relative_xml = join_paths(protodir, 'unstable', 'relative-pointer', 'relative-pointer-unstable-v1.xml') relative_xml = join_paths(protodir, 'unstable', 'relative-pointer', 'relative-pointer-unstable-v1.xml')
@ -111,7 +111,7 @@ if build_glamor
] ]
endif endif
if build_eglstream if build_eglstream
eglstream_protodir = eglstream_dep.get_pkgconfig_variable('pkgdatadir') eglstream_protodir = eglstream_dep.get_variable(pkgconfig : 'pkgdatadir')
eglstream_xml = join_paths(eglstream_protodir, 'wayland-eglstream.xml') eglstream_xml = join_paths(eglstream_protodir, 'wayland-eglstream.xml')
eglstream_controller_xml = join_paths(eglstream_protodir, 'wayland-eglstream-controller.xml') eglstream_controller_xml = join_paths(eglstream_protodir, 'wayland-eglstream-controller.xml')
@ -210,12 +210,9 @@ datadir = join_paths(get_option('prefix'), get_option('datadir'))
desktopdir = join_paths(datadir, 'applications') desktopdir = join_paths(datadir, 'applications')
install_data('desktop/org.freedesktop.Xwayland.desktop', install_dir : desktopdir) install_data('desktop/org.freedesktop.Xwayland.desktop', install_dir : desktopdir)
if meson.version().version_compare('>= 0.56.0') meson.override_find_program('Xwayland', xwayland_server)
meson.override_find_program('Xwayland', xwayland_server) meson.override_dependency('xwayland', declare_dependency(
variables: [
meson.override_dependency('xwayland', declare_dependency( 'xwayland=' + xwayland_server.full_path(),
variables: [ ] + xwayland_vars,
'xwayland=' + xwayland_server.full_path(), ))
] + xwayland_vars,
))
endif

View File

@ -2,11 +2,11 @@ python3 = import('python3')
# XWin requires OpenGL spec files in order to generate wrapper code for native GL functions # XWin requires OpenGL spec files in order to generate wrapper code for native GL functions
py3 = python3.find_python() py3 = python3.find_python()
if run_command(py3, '-c', 'import lxml;').returncode() != 0 if run_command(py3, '-c', 'import lxml;', check: false).returncode() != 0
error('python3 lxml module not found') error('python3 lxml module not found')
endif endif
khronos_spec_dir = dependency('khronos-opengl-registry').get_pkgconfig_variable('specdir') khronos_spec_dir = dependency('khronos-opengl-registry').get_variable(pkgconfig : 'specdir')
gen_gl_wrappers_opts= ['-nodebug'] gen_gl_wrappers_opts= ['-nodebug']
gen_gl_wrappers_cmd = ['env', 'PYTHONPATH=' + khronos_spec_dir, py3, files('./gen_gl_wrappers.py'), gen_gl_wrappers_opts] gen_gl_wrappers_cmd = ['env', 'PYTHONPATH=' + khronos_spec_dir, py3, files('./gen_gl_wrappers.py'), gen_gl_wrappers_opts]

View File

@ -212,7 +212,7 @@ conf_data.set('DPMSExtension', build_dpms ? '1' : false)
conf_data.set('DRI2', build_dri2 ? '1' : false) conf_data.set('DRI2', build_dri2 ? '1' : false)
conf_data.set('DRI3', build_dri3 ? '1' : false) conf_data.set('DRI3', build_dri3 ? '1' : false)
if build_glx if build_glx
conf_data.set_quoted('DRI_DRIVER_PATH', dri_dep.get_pkgconfig_variable('dridriverdir')) conf_data.set_quoted('DRI_DRIVER_PATH', dri_dep.get_variable(pkgconfig : 'dridriverdir'))
endif endif
conf_data.set('HAS_SHM', build_mitshm ? '1' : false) conf_data.set('HAS_SHM', build_mitshm ? '1' : false)
conf_data.set('MITSHM', build_mitshm ? '1' : false) conf_data.set('MITSHM', build_mitshm ? '1' : false)

View File

@ -4,7 +4,7 @@ project('xserver', 'c',
'c_std=gnu99', 'c_std=gnu99',
], ],
version: '21.1.99.1', version: '21.1.99.1',
meson_version: '>= 0.52.0', meson_version: '>= 0.56.0',
) )
release_date = '2021-07-05' release_date = '2021-07-05'
@ -120,7 +120,7 @@ build_hashtable = false
xkb_dir = get_option('xkb_dir') xkb_dir = get_option('xkb_dir')
if xkb_dir == '' if xkb_dir == ''
if xkbcomp_dep.found() and xkbcomp_dep.type_name() == 'pkgconfig' if xkbcomp_dep.found() and xkbcomp_dep.type_name() == 'pkgconfig'
xkb_dir = xkbcomp_dep.get_pkgconfig_variable('xkbconfigdir') xkb_dir = xkbcomp_dep.get_variable(pkgconfig : 'xkbconfigdir')
endif endif
if xkb_dir == '' if xkb_dir == ''
xkb_dir = join_paths(get_option('prefix'), 'share/X11/xkb') xkb_dir = join_paths(get_option('prefix'), 'share/X11/xkb')
@ -135,7 +135,7 @@ endif
xkb_bin_dir = get_option('xkb_bin_dir') xkb_bin_dir = get_option('xkb_bin_dir')
if xkb_bin_dir == '' if xkb_bin_dir == ''
if xkbcomp_dep.found() and xkbcomp_dep.type_name() == 'pkgconfig' if xkbcomp_dep.found() and xkbcomp_dep.type_name() == 'pkgconfig'
xkb_bin_dir = xkbcomp_dep.get_pkgconfig_variable('bindir') xkb_bin_dir = xkbcomp_dep.get_variable(pkgconfig : 'bindir')
endif endif
if xkb_bin_dir == '' if xkb_bin_dir == ''
xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir')) xkb_bin_dir = join_paths(get_option('prefix'), get_option('bindir'))
@ -148,7 +148,7 @@ if dfp == ''
if fontrootdir == '' if fontrootdir == ''
fontutil_dep = dependency('fontutil', required: false) fontutil_dep = dependency('fontutil', required: false)
if fontutil_dep.found() if fontutil_dep.found()
fontrootdir = fontutil_dep.get_pkgconfig_variable('fontrootdir') fontrootdir = fontutil_dep.get_variable(pkgconfig : 'fontrootdir')
else else
fontrootdir = join_paths(get_option('prefix'), get_option('datadir'), 'fonts', 'X11') fontrootdir = join_paths(get_option('prefix'), get_option('datadir'), 'fonts', 'X11')
endif endif
@ -753,24 +753,21 @@ build_docs_pdf = (get_option('docs-pdf') != 'false' and
fop.found()) fop.found())
if build_docs or build_docs_devel if build_docs or build_docs_devel
doc_sgml_path = sgml_doctools_dep.get_pkgconfig_variable('sgmlrootdir') doc_sgml_path = sgml_doctools_dep.get_variable(pkgconfig : 'sgmlrootdir')
doc_stylesheet_srcdir = join_paths(doc_sgml_path, 'X11') doc_stylesheet_srcdir = join_paths(doc_sgml_path, 'X11')
# once we bump meson dependency to 0.56.0 we can use
# meson.project_build_root() instead of meson.build_root()
# Meson does not and will not support functions so we are copy-pasting # Meson does not and will not support functions so we are copy-pasting
# documentation build code around which is unfortunate # documentation build code around which is unfortunate
# See https://mesonbuild.com/FAQ.html#why-doesnt-meson-have-user-defined-functionsmacros # See https://mesonbuild.com/FAQ.html#why-doesnt-meson-have-user-defined-functionsmacros
docs_xmlto_search_flags = [ docs_xmlto_search_flags = [
'--searchpath', doc_stylesheet_srcdir, '--searchpath', doc_stylesheet_srcdir,
'--searchpath', meson.build_root(), '--searchpath', meson.project_build_root(),
] ]
docs_xslt_search_flags = [ docs_xslt_search_flags = [
'--path', doc_stylesheet_srcdir, '--path', doc_stylesheet_srcdir,
'--path', meson.build_root(), '--path', meson.project_build_root(),
] ]
endif endif
@ -867,25 +864,29 @@ if build_xorg
sdkconfig.set('abi_ansic', sdkconfig.set('abi_ansic',
run_command(awk, '-F', '[(,)]', run_command(awk, '-F', '[(,)]',
'/^#define ABI_ANSIC.*SET/ { printf "%d.%d", $2, $3 }', '/^#define ABI_ANSIC.*SET/ { printf "%d.%d", $2, $3 }',
files('hw/xfree86/common/xf86Module.h') files('hw/xfree86/common/xf86Module.h'),
check: false
).stdout() ).stdout()
) )
sdkconfig.set('abi_videodrv', sdkconfig.set('abi_videodrv',
run_command(awk, '-F', '[(,)]', run_command(awk, '-F', '[(,)]',
'/^#define ABI_VIDEODRV.*SET/ { printf "%d.%d", $2, $3 }', '/^#define ABI_VIDEODRV.*SET/ { printf "%d.%d", $2, $3 }',
files('hw/xfree86/common/xf86Module.h') files('hw/xfree86/common/xf86Module.h'),
check: false
).stdout() ).stdout()
) )
sdkconfig.set('abi_xinput', sdkconfig.set('abi_xinput',
run_command(awk, '-F', '[(,)]', run_command(awk, '-F', '[(,)]',
'/^#define ABI_XINPUT.*SET/ { printf "%d.%d", $2, $3 }', '/^#define ABI_XINPUT.*SET/ { printf "%d.%d", $2, $3 }',
files('hw/xfree86/common/xf86Module.h') files('hw/xfree86/common/xf86Module.h'),
check: false
).stdout() ).stdout()
) )
sdkconfig.set('abi_extension', sdkconfig.set('abi_extension',
run_command(awk, '-F', '[(,)]', run_command(awk, '-F', '[(,)]',
'/^#define ABI_EXTENSION.*SET/ { printf "%d.%d", $2, $3 }', '/^#define ABI_EXTENSION.*SET/ { printf "%d.%d", $2, $3 }',
files('hw/xfree86/common/xf86Module.h') files('hw/xfree86/common/xf86Module.h'),
check: false
).stdout() ).stdout()
) )

View File

@ -5,12 +5,12 @@ simple_xinit = executable(
) )
piglit_env = environment() piglit_env = environment()
piglit_env.set('XSERVER_DIR', meson.source_root()) piglit_env.set('XSERVER_DIR', meson.project_source_root())
piglit_env.set('XSERVER_BUILDDIR', meson.build_root()) piglit_env.set('XSERVER_BUILDDIR', meson.project_build_root())
gles20_env = environment() gles20_env = environment()
gles20_env.set('XSERVER_DIR', meson.source_root()) gles20_env.set('XSERVER_DIR', meson.project_source_root())
gles20_env.set('XSERVER_BUILDDIR', meson.build_root()) gles20_env.set('XSERVER_BUILDDIR', meson.project_build_root())
gles20_env.set('MESA_GLES_VERSION_OVERRIDE', '2.0') gles20_env.set('MESA_GLES_VERSION_OVERRIDE', '2.0')
some_ops = ' -o clear,src,dst,over,xor,disjointover' some_ops = ' -o clear,src,dst,over,xor,disjointover'