Module: Mesa
Branch: master
Commit: d7235ef83b92175537e3b538634ffcff29bf0dce
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=d7235ef83b92175537e3b538634ffcff29bf0dce

Author: Dylan Baker <dy...@pnwbakers.com>
Date:   Tue Jan 16 10:36:28 2018 -0800

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 <imir...@alum.mit.edu>
Signed-off-by: Dylan Baker <dylan.c.ba...@intel.com>
Reviewed-by: Eric Anholt <e...@anholt.net> (v2)
Reviewed-by: Eric Engestrom <e...@engestrom.ch> (v3)

---

 meson.build         | 4 ++++
 meson_options.txt   | 8 +++++++-
 src/egl/meson.build | 2 +-
 src/gbm/meson.build | 2 +-
 src/glx/meson.build | 4 ++--
 5 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/meson.build b/meson.build
index 80ea60ffa7..323f706271 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 894378985f..fca06c4e61 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 df6e8b49da..6cd04567b0 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 14b9e96036..2f5d1c6ddd 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 e645b22b5f..82141d3d4e 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()

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

Reply via email to