Commit d7235ef8 authored by Dylan Baker's avatar Dylan Baker

meson: Don't confuse the install and search paths for dri drivers

Currently there is not a separate option for setting the search path of
DRI drivers in meson, like there is in scons and autotools. This is an
oversight and needs to be fixed. This adds an extra option
`dri-search-path`, which will default to the value of
`dri-drivers-path`, like autotools does.

v2: - Split input list before joining.
v3: - use : instead of ; as the delimiter. The autotools help string
      incorrectly says ; but the code uses :
v4: - Take list in pre : delimited form (Ilia)
    - Ensure that the dri-search-path is absolute when using
      dri_drivers_path

Fixes: db978842 ("meson: Add support for configuring dri drivers directory.")
Reported-by: Ilia Mirkin's avatarIlia Mirkin <imirkin@alum.mit.edu>
Signed-off-by: Dylan Baker's avatarDylan Baker <dylan.c.baker@intel.com>
Reviewed-by: Eric Anholt <eric@anholt.net> (v2)
Reviewed-by: Eric Engestrom <eric@engestrom.ch> (v3)
parent 847d0a39
......@@ -57,6 +57,10 @@ dri_drivers_path = get_option('dri-drivers-path')
if dri_drivers_path == ''
dri_drivers_path = join_paths(get_option('libdir'), 'dri')
endif
dri_search_path = get_option('dri-search-path')
if dri_search_path == ''
dri_search_path = join_paths(get_option('prefix'), dri_drivers_path)
endif
with_gles1 = get_option('gles1')
with_gles2 = get_option('gles2')
......
......@@ -41,7 +41,13 @@ option(
'dri-drivers-path',
type : 'string',
value : '',
description : 'Location of dri drivers. Default: $libdir/dri.'
description : 'Location to install dri drivers. Default: $libdir/dri.'
)
option(
'dri-search-path',
type : 'string',
value : '',
description : 'Locations to search for dri drivers, passed as colon separated list. Default: dri-drivers-path.'
)
option(
'gallium-drivers',
......
......@@ -160,7 +160,7 @@ libegl = shared_library(
c_args : [
c_vis_args,
c_args_for_egl,
'-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir),
'-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path),
'-D_EGL_BUILT_IN_DRIVER_DRI2',
'-D_EGL_NATIVE_PLATFORM=_EGL_PLATFORM_@0@'.format(egl_native_platform.to_upper()),
],
......
......@@ -38,7 +38,7 @@ incs_gbm = [
if with_dri2
files_gbm += files('backends/dri/gbm_dri.c', 'backends/dri/gbm_driint.h')
deps_gbm += dep_libdrm # TODO: pthread-stubs
args_gbm += '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir)
args_gbm += '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path)
endif
if with_platform_wayland
deps_gbm += dep_wayland_server
......
......@@ -113,7 +113,6 @@ elif with_dri_platform == 'windows'
extra_ld_args_libgl = '-Wl,--disable-stdcall-fixup'
endif
dri_driver_dir = join_paths(get_option('prefix'), dri_drivers_path)
if not with_glvnd
gl_lib_name = 'GL'
gl_lib_version = '1.2.0'
......@@ -130,7 +129,8 @@ else
endif
gl_lib_cargs = [
'-D_REENTRANT', '-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_driver_dir),
'-D_REENTRANT',
'-DDEFAULT_DRIVER_DIR="@0@"'.format(dri_search_path),
]
if dep_xxf86vm != [] and dep_xxf86vm.found()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment