diff --git a/meson.build b/meson.build index 80ea60ffa7d91..323f70627151f 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 894378985fdff..fca06c4e61daa 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 df6e8b49dac7e..6cd04567b0d11 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 14b9e960360ab..2f5d1c6ddd7cd 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 e645b22b5fe27..82141d3d4e5a9 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()