Quoting Eric Engestrom (2018-01-31 03:47:25)
> The big comment is taken from the equivalent block in configure.ac
> 
> Signed-off-by: Eric Engestrom <eric.engest...@imgtec.com>
> ---
>  meson.build                                 | 30 
> +++++++++++++++++++++--------
>  src/gallium/targets/d3dadapter9/meson.build |  2 +-
>  src/mesa/drivers/dri/meson.build            |  2 +-
>  3 files changed, 24 insertions(+), 10 deletions(-)
> 
> diff --git a/meson.build b/meson.build
> index 80ea60ffa7d915654a89..30c2198d77dde383d7ac 100644
> --- a/meson.build
> +++ b/meson.build
> @@ -41,6 +41,20 @@ pre_args = [
>    
> '-DPACKAGE_BUGREPORT="https://bugs.freedesktop.org/enter_bug.cgi?product=Mesa";',
>  ]
>  
> +# The idea is that libdrm is distributed as one cohesive package, even
> +# though it is composed of multiple libraries. However some drivers
> +# may have different version requirements than others. This list
> +# codifies which drivers need which version of libdrm. Any libdrm
> +# version dependencies in non-driver-specific code should be reflected
> +# in the first entry.
> +libdrm_version           = '2.4.75'
> +libdrm_amdgpu_version    = '2.4.89'
> +libdrm_etnaviv_version   = '2.4.82'
> +libdrm_freedreno_version = '2.4.82'
> +libdrm_intel_version     = '2.4.75'
> +libdrm_nouveau_version   = '2.4.66'
> +libdrm_radeon_version    = '2.4.71'
> +
>  with_vulkan_icd_dir = get_option('vulkan-icd-dir')
>  with_tests = get_option('build-tests')
>  with_valgrind = get_option('valgrind')
> @@ -199,7 +213,7 @@ endif
>  
>  dep_libdrm_intel = []
>  if with_dri_i915 or with_gallium_i915
> -  dep_libdrm_intel = dependency('libdrm_intel', version : '>= 2.4.75')
> +  dep_libdrm_intel = dependency('libdrm_intel', version : '>= ' + 
> libdrm_intel_version)
>  endif
>  
>  system_has_kms_drm = ['openbsd', 'netbsd', 'freebsd', 'dragonfly', 
> 'linux'].contains(host_machine.system())
> @@ -922,7 +936,7 @@ else
>  endif
>  
>  with_gallium_drisw_kms = false
> -dep_libdrm = dependency('libdrm', version : '>= 2.4.75',
> +dep_libdrm = dependency('libdrm', version : '>= ' + libdrm_version,
>                          required : with_dri2 or with_dri3)
>  if dep_libdrm.found()
>    pre_args += '-DHAVE_LIBDRM'
> @@ -957,20 +971,20 @@ dep_libdrm_nouveau = []
>  dep_libdrm_etnaviv = []
>  dep_libdrm_freedreno = []
>  if with_amd_vk or with_gallium_radeonsi
> -  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= 2.4.89')
> +  dep_libdrm_amdgpu = dependency('libdrm_amdgpu', version : '>= ' + 
> libdrm_amdgpu_version)
>  endif
>  if (with_gallium_radeonsi or with_dri_r100 or with_dri_r200 or
>      with_gallium_r300 or with_gallium_r600)
> -  dep_libdrm_radeon = dependency('libdrm_radeon', version : '>= 2.4.71')
> +  dep_libdrm_radeon = dependency('libdrm_radeon', version : '>= ' + 
> libdrm_radeon_version)
>  endif
>  if with_gallium_nouveau or with_dri_nouveau
> -  dep_libdrm_nouveau = dependency('libdrm_nouveau', version : '>= 2.4.66')
> +  dep_libdrm_nouveau = dependency('libdrm_nouveau', version : '>= ' + 
> libdrm_nouveau_version)
>  endif
>  if with_gallium_etnaviv
> -  dep_libdrm_etnaviv = dependency('libdrm_etnaviv', version : '>= 2.4.82')
> +  dep_libdrm_etnaviv = dependency('libdrm_etnaviv', version : '>= ' + 
> libdrm_etnaviv_version)
>  endif
>  if with_gallium_freedreno
> -  dep_libdrm_freedreno = dependency('libdrm_freedreno', version : '>= 
> 2.4.89')
> +  dep_libdrm_freedreno = dependency('libdrm_freedreno', version : '>= ' + 
> libdrm_freedreno_version)
>  endif
>  
>  llvm_modules = ['bitwriter', 'engine', 'mcdisassembler', 'mcjit']
> @@ -1203,7 +1217,7 @@ gl_priv_reqs = [
>    'x11', 'xext', 'xdamage >= 1.1', 'xfixes', 'x11-xcb', 'xcb',
>    'xcb-glx >= 1.8.1']
>  if dep_libdrm.found()
> -  gl_priv_reqs += 'libdrm >= 2.4.75'
> +  gl_priv_reqs += 'libdrm >= ' + libdrm_version
>  endif
>  if dep_xxf86vm != [] and dep_xxf86vm.found()
>    gl_priv_reqs += 'xxf86vm'
> diff --git a/src/gallium/targets/d3dadapter9/meson.build 
> b/src/gallium/targets/d3dadapter9/meson.build
> index 5476e80e70cf9e2dba5a..498737d1edbf39b3bea2 100644
> --- a/src/gallium/targets/d3dadapter9/meson.build
> +++ b/src/gallium/targets/d3dadapter9/meson.build
> @@ -78,5 +78,5 @@ pkg.generate(
>    name : 'd3d',
>    description : 'Native D3D driver modules',
>    version : '.'.join(nine_version),
> -  requires_private : 'libdrm >= 2.4.75',
> +  requires_private : 'libdrm >= ' + libdrm_version,
>  )
> diff --git a/src/mesa/drivers/dri/meson.build 
> b/src/mesa/drivers/dri/meson.build
> index 87021fba885ab148988d..2a2757577828598489c9 100644
> --- a/src/mesa/drivers/dri/meson.build
> +++ b/src/mesa/drivers/dri/meson.build
> @@ -69,7 +69,7 @@ endif
>  if with_dri
>    dri_req_private = []
>    if dep_libdrm.found()
> -    dri_req_private = ['libdrm >= 2.4.75']  # FIXME: don't hardcode this
> +    dri_req_private += 'libdrm >= ' + libdrm_version
>    endif
>  
>    pkg.generate(
> -- 
> Cheers,
>   Eric
> 

I'm not going to say no because Emil requested it, but I think string
concatenation is just about the hardest syntax to read, much harder even
than meson's less than ideal @0@ syntax, and I'd real prefer not tot use it.A
It's certainly no easier to read than adding '>=' to the version number would
be.

for the series:
Acked-by: Dylan Baker <dy...@pnwbakers.com>

Attachment: signature.asc
Description: signature

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to