meson: deprecated 'true' and 'false' in combo options for 'enabled' and 'disabled'
To prepare to use meson's builtin feature options in the future, which
are more powerful and provide useful feature for packagers, like the
ability to turn all "automagic" features off, and then explicitly turn
on the ones they want.
This is designed to make the transition softer, since the 'true' and
'false' are still accepted, just with a warning.
Acked-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Eric Engestrom <eric@engestrom.ch>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4740>
diff --git a/meson.build b/meson.build
index 198d051..8d89bf9 100644
--- a/meson.build
+++ b/meson.build
@@ -51,8 +51,6 @@
with_vulkan_icd_dir = get_option('vulkan-icd-dir')
with_tests = get_option('build-tests')
-with_valgrind = get_option('valgrind')
-with_libunwind = get_option('libunwind')
with_glx_read_only_text = get_option('glx-read-only-text')
with_glx_direct = get_option('glx-direct')
with_osmesa = get_option('osmesa')
@@ -87,47 +85,68 @@
endif
with_gles1 = get_option('gles1')
+if with_gles1 == 'true'
+ with_gles1 = 'enabled'
+ warning('gles1 option "true" deprecated, please use "enabled" instead.')
+elif with_gles1 == 'false'
+ with_gles1 = 'disabled'
+ warning('gles1 option "false" deprecated, please use "disabled" instead.')
+endif
with_gles2 = get_option('gles2')
+if with_gles2 == 'true'
+ with_gles2 = 'enabled'
+ warning('gles2 option "true" deprecated, please use "enabled" instead.')
+elif with_gles2 == 'false'
+ with_gles2 = 'disabled'
+ warning('gles2 option "false" deprecated, please use "disabled" instead.')
+endif
if host_machine.system() == 'windows'
if with_gles1 == 'auto'
- with_gles1 = 'false'
+ with_gles1 = 'disabled'
endif
if with_gles2 == 'auto'
- with_gles2 = 'false'
+ with_gles2 = 'disabled'
endif
endif
with_opengl = get_option('opengl')
# Default shared glapi off for windows, on elsewhere.
_sg = get_option('shared-glapi')
+if _sg == 'true'
+ _sg = 'enabled'
+ warning('shared-glapi option "true" deprecated, please use "enabled" instead.')
+elif _sg == 'false'
+ _sg = 'disabled'
+ warning('shared-glapi option "false" deprecated, please use "disabled" instead.')
+endif
if _sg == 'auto'
with_shared_glapi = host_machine.system() != 'windows'
else
- with_shared_glapi = _sg == 'true'
+ with_shared_glapi = _sg == 'enabled'
endif
# shared-glapi is required if at least two OpenGL APIs are being built
if not with_shared_glapi
- if ((with_gles1 == 'true' and with_gles2 == 'true') or
- (with_gles1 == 'true' and with_opengl) or
- (with_gles2 == 'true' and with_opengl))
+ if ((with_gles1 == 'enabled' and with_gles2 == 'enabled') or
+ (with_gles1 == 'enabled' and with_opengl) or
+ (with_gles2 == 'enabled' and with_opengl))
error('shared-glapi required for building two or more of OpenGL, OpenGL ES 1.x, OpenGL ES 2.x')
endif
- with_gles1 = 'false'
- with_gles2 = 'false'
+ with_gles1 = 'disabled'
+ with_gles2 = 'disabled'
endif
# We require OpenGL for OpenGL ES
if not with_opengl
- if (with_gles1 == 'true' or with_gles2 == 'true') and not with_opengl
+ if (with_gles1 == 'enabled' or with_gles2 == 'enabled') and not with_opengl
error('building OpenGL ES without OpenGL is not supported.')
endif
- with_gles1 = 'false'
- with_gles2 = 'false'
+ with_gles1 = 'disabled'
+ with_gles2 = 'disabled'
endif
-with_gles1 = with_gles1 != 'false'
-with_gles2 = with_gles2 != 'false'
+with_gles1 = with_gles1 != 'disabled'
+with_gles2 = with_gles2 != 'disabled'
with_any_opengl = with_opengl or with_gles1 or with_gles2
# Only build shared_glapi if at least one OpenGL API is enabled
with_shared_glapi = with_shared_glapi and with_any_opengl
@@ -214,7 +233,7 @@
if with_gallium and system_has_kms_drm
_glx = get_option('glx')
_egl = get_option('egl')
- if _glx == 'dri' or _egl == 'true' or (_glx == 'disabled' and _egl != 'false')
+ if _glx == 'dri' or _egl == 'enabled' or (_glx == 'disabled' and _egl != 'disabled')
with_dri = true
endif
endif
@@ -306,10 +325,17 @@
endif
_xlib_lease = get_option('xlib-lease')
+if _xlib_lease == 'true'
+ _xlib_lease = 'enabled'
+ warning('xlib_lease option "true" deprecated, please use "enabled" instead.')
+elif _xlib_lease == 'false'
+ _xlib_lease = 'disabled'
+ warning('xlib_lease option "false" deprecated, please use "disabled" instead.')
+endif
if _xlib_lease == 'auto'
with_xlib_lease = with_platform_x11 and with_platform_drm
else
- with_xlib_lease = _xlib_lease == 'true'
+ with_xlib_lease = _xlib_lease == 'enabled'
endif
with_glx = get_option('glx')
@@ -346,22 +372,36 @@
endif
_gbm = get_option('gbm')
+if _gbm == 'true'
+ _gbm = 'enabled'
+ warning('gbm option "true" deprecated, please use "enabled" instead.')
+elif _gbm == 'false'
+ _gbm = 'disabled'
+ warning('gbm option "false" deprecated, please use "disabled" instead.')
+endif
if _gbm == 'auto'
with_gbm = system_has_kms_drm and with_dri
else
- with_gbm = _gbm == 'true'
+ with_gbm = _gbm == 'enabled'
endif
if with_gbm and not system_has_kms_drm
error('GBM only supports DRM/KMS platforms')
endif
_egl = get_option('egl')
+if _egl == 'true'
+ _egl = 'enabled'
+ warning('egl option "true" deprecated, please use "enabled" instead.')
+elif _egl == 'false'
+ _egl = 'disabled'
+ warning('egl option "false" deprecated, please use "disabled" instead.')
+endif
if _egl == 'auto'
with_egl = (
not ['darwin', 'windows'].contains(host_machine.system()) and
with_dri and with_shared_glapi and with_platforms
)
-elif _egl == 'true'
+elif _egl == 'enabled'
if not with_dri
error('EGL requires dri')
elif not with_shared_glapi
@@ -436,10 +476,17 @@
with_dri2 = (with_dri or with_any_vk) and (with_dri_platform == 'drm' or
host_machine.system() == 'gnu')
_dri3 = get_option('dri3')
+if _dri3 == 'true'
+ _dri3 = 'enabled'
+ warning('dri3 option "true" deprecated, please use "enabled" instead.')
+elif _dri3 == 'false'
+ _dri3 = 'disabled'
+ warning('dri3 option "false" deprecated, please use "disabled" instead.')
+endif
if _dri3 == 'auto'
with_dri3 = system_has_kms_drm and with_dri2
else
- with_dri3 = _dri3 == 'true'
+ with_dri3 = _dri3 == 'enabled'
endif
if with_any_vk and (with_platform_x11 and not with_dri3)
@@ -452,30 +499,37 @@
endif
_vdpau = get_option('gallium-vdpau')
+if _vdpau == 'true'
+ _vdpau = 'enabled'
+ warning('gallium-vdpau option "true" deprecated, please use "enabled" instead.')
+elif _vdpau == 'false'
+ _vdpau = 'disabled'
+ warning('gallium-vdpau option "false" deprecated, please use "disabled" instead.')
+endif
if not system_has_kms_drm
- if _vdpau == 'true'
+ if _vdpau == 'enabled'
error('VDPAU state tracker can only be build on unix-like OSes.')
else
- _vdpau = 'false'
+ _vdpau = 'disabled'
endif
elif not with_platform_x11
- if _vdpau == 'true'
+ if _vdpau == 'enabled'
error('VDPAU state tracker requires X11 support.')
else
- _vdpau = 'false'
+ _vdpau = 'disabled'
endif
elif not (with_gallium_r300 or with_gallium_r600 or with_gallium_radeonsi or
with_gallium_nouveau)
- if _vdpau == 'true'
+ if _vdpau == 'enabled'
error('VDPAU state tracker requires at least one of the following gallium drivers: r300, r600, radeonsi, nouveau.')
else
- _vdpau = 'false'
+ _vdpau = 'disabled'
endif
endif
dep_vdpau = null_dep
with_gallium_vdpau = false
-if _vdpau != 'false'
- dep_vdpau = dependency('vdpau', version : '>= 1.1', required : _vdpau == 'true')
+if _vdpau != 'disabled'
+ dep_vdpau = dependency('vdpau', version : '>= 1.1', required : _vdpau == 'enabled')
if dep_vdpau.found()
dep_vdpau = dep_vdpau.partial_dependency(compile_args : true)
with_gallium_vdpau = true
@@ -495,31 +549,38 @@
endif
_xvmc = get_option('gallium-xvmc')
+if _xvmc == 'true'
+ _xvmc = 'enabled'
+ warning('gallium-xvmc option "true" deprecated, please use "enabled" instead.')
+elif _xvmc == 'false'
+ _xvmc = 'disabled'
+ warning('gallium-xvmc option "false" deprecated, please use "disabled" instead.')
+endif
if not system_has_kms_drm
- if _xvmc == 'true'
+ if _xvmc == 'enabled'
error('XVMC state tracker can only be build on unix-like OSes.')
else
- _xvmc = 'false'
+ _xvmc = 'disabled'
endif
elif not with_platform_x11
- if _xvmc == 'true'
+ if _xvmc == 'enabled'
error('XVMC state tracker requires X11 support.')
else
- _xvmc = 'false'
+ _xvmc = 'disabled'
endif
elif not (with_gallium_r600 or with_gallium_nouveau)
- if _xvmc == 'true'
+ if _xvmc == 'enabled'
error('XVMC state tracker requires at least one of the following gallium drivers: r600, nouveau.')
else
- _xvmc = 'false'
+ _xvmc = 'disabled'
endif
endif
dep_xvmc = null_dep
dep_xv = null_dep
with_gallium_xvmc = false
-if _xvmc != 'false'
- dep_xvmc = dependency('xvmc', version : '>= 1.0.6', required : _xvmc == 'true')
- dep_xv = dependency('xv', required : _xvmc == 'true')
+if _xvmc != 'disabled'
+ dep_xvmc = dependency('xvmc', version : '>= 1.0.6', required : _xvmc == 'enabled')
+ dep_xv = dependency('xv', required : _xvmc == 'enabled')
with_gallium_xvmc = dep_xvmc.found() and dep_xv.found()
endif
@@ -609,23 +670,30 @@
endif
_va = get_option('gallium-va')
+if _va == 'true'
+ _va = 'enabled'
+ warning('gallium-va option "true" deprecated, please use "enabled" instead.')
+elif _va == 'false'
+ _va = 'disabled'
+ warning('gallium-va option "false" deprecated, please use "disabled" instead.')
+endif
if not system_has_kms_drm
- if _va == 'true'
+ if _va == 'enabled'
error('VA state tracker can only be built on unix-like OSes.')
else
- _va = 'false'
+ _va = 'disabled'
endif
elif not (with_gallium_r600 or with_gallium_radeonsi or with_gallium_nouveau)
- if _va == 'true'
+ if _va == 'enabled'
error('VA state tracker requires at least one of the following gallium drivers: r600, radeonsi, nouveau.')
else
- _va = 'false'
+ _va = 'disabled'
endif
endif
with_gallium_va = false
dep_va = null_dep
-if _va != 'false'
- dep_va = dependency('libva', version : '>= 0.38.0', required : _va == 'true')
+if _va != 'disabled'
+ dep_va = dependency('libva', version : '>= 0.38.0', required : _va == 'enabled')
if dep_va.found()
dep_va_headers = dep_va.partial_dependency(compile_args : true)
with_gallium_va = true
@@ -638,21 +706,28 @@
endif
_xa = get_option('gallium-xa')
+if _xa == 'true'
+ _xa = 'enabled'
+ warning('gallium-xa option "true" deprecated, please use "enabled" instead.')
+elif _xa == 'false'
+ _xa = 'disabled'
+ warning('gallium-xa option "false" deprecated, please use "disabled" instead.')
+endif
if not system_has_kms_drm
- if _xa == 'true'
+ if _xa == 'enabled'
error('XA state tracker can only be built on unix-like OSes.')
else
- _xa = 'false'
+ _xa = 'disabled'
endif
elif not (with_gallium_nouveau or with_gallium_freedreno or with_gallium_i915
or with_gallium_svga)
- if _xa == 'true'
+ if _xa == 'enabled'
error('XA state tracker requires at least one of the following gallium drivers: nouveau, freedreno, i915, svga.')
else
- _xa = 'false'
+ _xa = 'disabled'
endif
endif
-with_gallium_xa = _xa != 'false'
+with_gallium_xa = _xa != 'disabled'
d3d_drivers_path = get_option('d3d-drivers-path')
if d3d_drivers_path == ''
@@ -672,8 +747,15 @@
error('Using nine with wine requires dri3')
endif
endif
-
-if get_option('power8') != 'false'
+_power8 = get_option('power8')
+if _power8 == 'true'
+ _power8 = 'enabled'
+ warning('power8 option "true" deprecated, please use "enabled" instead.')
+elif _power8 == 'disabled'
+ _power8 = 'disabled'
+ warning('power8 option "false" deprecated, please use "disabled" instead.')
+endif
+if _power8 != 'disabled'
# on old versions of meson the cpu family would return as ppc64le on little
# endian power8, this was changed in 0.48 such that the family would always
# be ppc64 regardless of endianness, and then the machine.endian() value
@@ -694,7 +776,7 @@
args : '-mpower8-vector',
name : 'POWER8 intrinsics')
pre_args += ['-D_ARCH_PWR8', '-mpower8-vector']
- elif get_option('power8') == 'true'
+ elif get_option('power8') == 'enabled'
error('POWER8 intrinsic support required but not found.')
endif
endif
@@ -816,9 +898,16 @@
with_shader_cache = false
_shader_cache = get_option('shader-cache')
-if _shader_cache != 'false'
+if _shader_cache == 'true'
+ _shader_cache = 'enabled'
+ warning('shader_cache option "true" deprecated, please use "enabled" instead.')
+elif _shader_cache == 'false'
+ _shader_cache = 'disabled'
+ warning('shader_cache option "false" deprecated, please use "disabled" instead.')
+endif
+if _shader_cache != 'disabled'
if host_machine.system() == 'windows'
- if _shader_cache == 'true'
+ if _shader_cache == 'enabled'
error('Shader Cache does not currently work on Windows')
endif
else
@@ -1232,8 +1321,15 @@
pre_args += '-DHAVE_ZLIB'
_zstd = get_option('zstd')
-if _zstd != 'false'
- dep_zstd = dependency('libzstd', required : _zstd == 'true')
+if _zstd == 'true'
+ _zstd = 'enabled'
+ warning('zstd option "true" deprecated, please use "enabled" instead.')
+elif _zstd == 'false'
+ _zstd = 'disabled'
+ warning('zstd option "false" deprecated, please use "disabled" instead.')
+endif
+if _zstd != 'disabled'
+ dep_zstd = dependency('libzstd', required : _zstd == 'enabled')
if dep_zstd.found()
pre_args += '-DHAVE_ZSTD'
endif
@@ -1362,12 +1458,26 @@
endif
_shared_llvm = get_option('shared-llvm')
+if _shared_llvm == 'true'
+ _shared_llvm = 'enabled'
+ warning('shared_llvm option "true" deprecated, please use "enabled" instead.')
+elif _shared_llvm == 'false'
+ _shared_llvm = 'disabled'
+ warning('shared_llvm option "false" deprecated, please use "disabled" instead.')
+endif
if _shared_llvm == 'auto'
_shared_llvm = (host_machine.system() != 'windows')
else
- _shared_llvm = (_shared_llvm == 'true')
+ _shared_llvm = (_shared_llvm == 'enabled')
endif
_llvm = get_option('llvm')
+if _llvm == 'true'
+ _llvm = 'enabled'
+ warning('llvm option "true" deprecated, please use "enabled" instead.')
+elif _llvm == 'false'
+ _llvm = 'disabled'
+ warning('llvm option "false" deprecated, please use "disabled" instead.')
+endif
# the cmake method can only link statically, so don't attempt to use it if we
# want to link dynamically. Before 0.54.0 meson will try cmake even when shared
@@ -1381,7 +1491,7 @@
dep_llvm = null_dep
with_llvm = false
-if _llvm != 'false'
+if _llvm != 'disabled'
dep_llvm = dependency(
'llvm',
version : _llvm_version,
@@ -1389,7 +1499,7 @@
optional_modules : llvm_optional_modules,
required : (
with_amd_vk or with_gallium_radeonsi or with_gallium_swr or
- with_gallium_opencl or _llvm == 'true'
+ with_gallium_opencl or _llvm == 'enabled'
),
static : not _shared_llvm,
method : _llvm_method,
@@ -1448,8 +1558,16 @@
pre_args += '-DUSE_LIBGLVND=1'
endif
-if with_valgrind != 'false'
- dep_valgrind = dependency('valgrind', required : with_valgrind == 'true')
+_valgrind = get_option('valgrind')
+if _valgrind == 'true'
+ _valgrind = 'enabled'
+ warning('valgrind option "true" deprecated, please use "enabled" instead.')
+elif _valgrind == 'false'
+ _valgrind = 'disabled'
+ warning('valgrind option "false" deprecated, please use "disabled" instead.')
+endif
+if _valgrind != 'disabled'
+ dep_valgrind = dependency('valgrind', required : _valgrind == 'enabled')
if dep_valgrind.found()
pre_args += '-DHAVE_VALGRIND'
endif
@@ -1499,8 +1617,16 @@
pre_args += '-DMESA_SELINUX'
endif
-if with_libunwind != 'false'
- dep_unwind = dependency('libunwind', required : with_libunwind == 'true')
+_libunwind = get_option('libunwind')
+if _libunwind == 'true'
+ _libunwind = 'enabled'
+ warning('libunwind option "true" deprecated, please use "enabled" instead.')
+elif _libunwind == 'false'
+ _libunwind = 'disabled'
+ warning('libunwind option "false" deprecated, please use "disabled" instead.')
+endif
+if _libunwind != 'disabled'
+ dep_unwind = dependency('libunwind', required : _libunwind == 'enabled')
if dep_unwind.found()
pre_args += '-DHAVE_LIBUNWIND'
endif
@@ -1634,8 +1760,15 @@
endif
_sensors = get_option('lmsensors')
-if _sensors != 'false'
- dep_lmsensors = cc.find_library('sensors', required : _sensors == 'true')
+if _sensors == 'true'
+ _sensors = 'enabled'
+ warning('sensors option "true" deprecated, please use "enabled" instead.')
+elif _sensors == 'false'
+ _sensors = 'disabled'
+ warning('sensors option "false" deprecated, please use "disabled" instead.')
+endif
+if _sensors != 'disabled'
+ dep_lmsensors = cc.find_library('sensors', required : _sensors == 'enabled')
if dep_lmsensors.found()
pre_args += '-DHAVE_LIBSENSORS=1'
endif