diff options
author | Dylan Baker <[email protected]> | 2018-01-16 10:36:28 -0800 |
---|---|---|
committer | Dylan Baker <[email protected]> | 2018-02-02 11:01:42 -0800 |
commit | d7235ef83b92175537e3b538634ffcff29bf0dce (patch) | |
tree | 7bab3c8d00f6e2d50123685ff59e17de6957be50 | |
parent | 847d0a393d7f0f967f39302900d5330f32b804c8 (diff) |
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: db9788420d4bc7b4 ("meson: Add support for configuring dri drivers directory.")
Reported-by: Ilia Mirkin <[email protected]>
Signed-off-by: Dylan Baker <[email protected]>
Reviewed-by: Eric Anholt <[email protected]> (v2)
Reviewed-by: Eric Engestrom <[email protected]> (v3)
-rw-r--r-- | meson.build | 4 | ||||
-rw-r--r-- | meson_options.txt | 8 | ||||
-rw-r--r-- | src/egl/meson.build | 2 | ||||
-rw-r--r-- | src/gbm/meson.build | 2 | ||||
-rw-r--r-- | src/glx/meson.build | 4 |
5 files changed, 15 insertions, 5 deletions
diff --git a/meson.build b/meson.build index 80ea60ffa7d..323f7062715 100644 --- a/meson.build +++ b/meson.build @@ -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') diff --git a/meson_options.txt b/meson_options.txt index 894378985fd..fca06c4e61d 100644 --- a/meson_options.txt +++ b/meson_options.txt @@ -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', diff --git a/src/egl/meson.build b/src/egl/meson.build index df6e8b49dac..6cd04567b0d 100644 --- a/src/egl/meson.build +++ b/src/egl/meson.build @@ -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()), ], diff --git a/src/gbm/meson.build b/src/gbm/meson.build index 14b9e960360..2f5d1c6ddd7 100644 --- a/src/gbm/meson.build +++ b/src/gbm/meson.build @@ -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 diff --git a/src/glx/meson.build b/src/glx/meson.build index e645b22b5fe..82141d3d4e5 100644 --- a/src/glx/meson.build +++ b/src/glx/meson.build @@ -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() |