meson: libdrm shouldn't appear in Requires.private: if it wasn't found
authorJon Turney <jon.turney@dronecode.org.uk>
Thu, 25 Jan 2018 18:53:08 +0000 (18:53 +0000)
committerJon Turney <jon.turney@dronecode.org.uk>
Sat, 27 Jan 2018 18:13:18 +0000 (18:13 +0000)
Otherwise, using pkg-config to retrieve flags will fail, e.g.

$ pkg-config gl --cflags
Package libdrm was not found in the pkg-config search path.
Perhaps you should add the directory containing `libdrm.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libdrm', required by 'gl', not found

Fixes: 3218056e0eb3 ("meson: Build i965 and dri stack")
Reviewed-by: Dylan Baker <dylan@pnwbakers.com>
Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
meson.build
src/mesa/drivers/dri/meson.build

index bc5996992a3aee1a5520cbb9cf3248d14ad63b6f..824e3c46bc5524b743ded186e0de8fc945409f90 100644 (file)
@@ -1213,8 +1213,10 @@ inc_include = include_directories('include')
 
 gl_priv_reqs = [
   'x11', 'xext', 'xdamage >= 1.1', 'xfixes', 'x11-xcb', 'xcb',
-  'xcb-glx >= 1.8.1', 'libdrm >= 2.4.75',
-]
+  'xcb-glx >= 1.8.1']
+if dep_libdrm.found()
+  gl_priv_reqs += 'libdrm >= 2.4.75'
+endif
 if dep_xxf86vm != [] and dep_xxf86vm.found()
   gl_priv_reqs += 'xxf86vm'
 endif
index 94798b0f5dadccb651ab772d302380ab020a9512..87021fba885ab148988d1afcb06358d8b60b5c6b 100644 (file)
@@ -67,12 +67,17 @@ endif
 # This needs to be installed if any dri drivers (including gallium dri drivers)
 # are built.
 if with_dri
+  dri_req_private = []
+  if dep_libdrm.found()
+    dri_req_private = ['libdrm >= 2.4.75']  # FIXME: don't hardcode this
+  endif
+
   pkg.generate(
     name : 'dri',
     filebase : 'dri',
     description : 'Direct Rendering Infrastructure',
     version : meson.project_version(),
     variables : ['dridriverdir=${prefix}/' + dri_drivers_path],
-    requires_private : ['libdrm >= 2.4.75'],  # FIXME: don't hardcode this
+    requires_private : dri_req_private,
   )
 endif