[Mesa-dev] [PATCH 1/2] anv: Add a --disable-vulkan-icd-full-driver-path option

Jason Ekstrand jason at jlekstrand.net
Tue Aug 23 01:11:41 UTC 2016


This option makes installed Vulkan ICD files contain only a driver library
name and not a path.  This is intended for distros to help them work around
multi-arch issues.
---
 configure.ac                       | 7 +++++++
 src/intel/vulkan/Makefile.am       | 8 +++++++-
 src/intel/vulkan/intel_icd.json.in | 2 +-
 3 files changed, 15 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index 3a8afe6..bcddca2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1645,6 +1645,13 @@ AC_ARG_WITH([vulkan-icddir],
     [VULKAN_ICD_INSTALL_DIR='${datarootdir}/vulkan/icd.d'])
 AC_SUBST([VULKAN_ICD_INSTALL_DIR])
 
+AC_ARG_ENABLE([vulkan-icd-full-driver-path],
+   [AS_HELP_STRING([--disable-vulkan-icd-full-driver-path],
+                   [create Vulkan ICD files with just a .so name and no path])],
+   [vulkan_icd_driver_path="$enableval"],
+   [vulkan_icd_driver_path="yes"])
+AM_CONDITIONAL(VULKAN_ICD_DRIVER_PATH, test "x$vulkan_icd_driver_path" = xyes)
+
 if test -n "$with_vulkan_drivers"; then
     VULKAN_DRIVERS=`IFS=', '; echo $with_vulkan_drivers`
     for driver in $VULKAN_DRIVERS; do
diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am
index 3300189..2d20de9 100644
--- a/src/intel/vulkan/Makefile.am
+++ b/src/intel/vulkan/Makefile.am
@@ -171,9 +171,15 @@ dev_icd.json : dev_icd.json.in
 		-e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
 		< $(srcdir)/dev_icd.json.in > $@
 
+if VULKAN_ICD_DRIVER_PATH
+ICD_DRIVER_PATH="${libdir}/libvulkan_intel.so"
+else
+ICD_DRIVER_PATH="libvulkan_intel.so"
+endif
+
 intel_icd.json : intel_icd.json.in
 	$(AM_V_GEN) $(SED) \
-		-e "s#@install_libdir@#${libdir}#" \
+		-e "s#@ICD_DRIVER_PATH@#${ICD_DRIVER_PATH}#" \
 		< $(srcdir)/intel_icd.json.in > $@
 
 # Libvulkan with dummy gem. Used for unit tests.
diff --git a/src/intel/vulkan/intel_icd.json.in b/src/intel/vulkan/intel_icd.json.in
index d9b363a..4f50866 100644
--- a/src/intel/vulkan/intel_icd.json.in
+++ b/src/intel/vulkan/intel_icd.json.in
@@ -1,7 +1,7 @@
 {
     "file_format_version": "1.0.0",
     "ICD": {
-        "library_path": "@install_libdir@/libvulkan_intel.so",
+        "library_path": "@ICD_DRIVER_PATH@",
         "abi_versions": "1.0.3"
     }
 }
-- 
2.5.0.400.gff86faf



More information about the mesa-dev mailing list