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

Author: Kristian Høgsberg Kristensen <kristian.h.kristen...@intel.com>
Date:   Tue Feb 16 23:23:17 2016 -0800

anv: Make driver and icd file installable

Change the name of the .so to libvulkan_intel.so and add an installable
icd with the installed paths.  Keep the icd file with build-tree paths,
but rename to dev_icd.json to make it clear that it's for development
purposes.

---

 configure.ac                                    |  1 -
 src/vulkan/.gitignore                           |  3 +-
 src/vulkan/Makefile.am                          | 38 +++++++++++++++++++------
 src/vulkan/{anv_icd.json.in => dev_icd.json.in} |  3 +-
 src/vulkan/intel_icd.json.in                    |  7 +++++
 5 files changed, 39 insertions(+), 13 deletions(-)

diff --git a/configure.ac b/configure.ac
index acfca57..71bec62 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2541,7 +2541,6 @@ AC_CONFIG_FILES([Makefile
                src/mesa/drivers/x11/Makefile
                src/mesa/main/tests/Makefile
                src/vulkan/Makefile
-               src/vulkan/anv_icd.json
                src/vulkan/tests/Makefile
                src/util/Makefile
                src/util/tests/hash_table/Makefile])
diff --git a/src/vulkan/.gitignore b/src/vulkan/.gitignore
index 2980dbf..40afc2e 100644
--- a/src/vulkan/.gitignore
+++ b/src/vulkan/.gitignore
@@ -4,5 +4,6 @@
 /anv_entrypoints.h
 /wayland-drm-protocol.c
 /wayland-drm-client-protocol.h
-/anv_icd.json
+/dev_icd.json
+/intel_icd.json
 /gen*_pack.h
\ No newline at end of file
diff --git a/src/vulkan/Makefile.am b/src/vulkan/Makefile.am
index 081f6b6..220bdbf 100644
--- a/src/vulkan/Makefile.am
+++ b/src/vulkan/Makefile.am
@@ -34,7 +34,7 @@ VULKAN_ENTRYPOINT_CPPFLAGS = \
    -DVK_USE_PLATFORM_XCB_KHR \
    -DVK_USE_PLATFORM_WAYLAND_KHR
 
-lib_LTLIBRARIES = libvulkan.la
+lib_LTLIBRARIES = libvulkan_intel.la
 
 check_LTLIBRARIES = libvulkan-test.la
 
@@ -67,7 +67,7 @@ AM_CPPFLAGS = \
        -I$(top_builddir)/src/compiler/nir \
        -I$(top_builddir)/src/vulkan
 
-libvulkan_la_CFLAGS = $(CFLAGS) -Wno-override-init
+libvulkan_intel_la_CFLAGS = $(CFLAGS) -Wno-override-init
 
 VULKAN_SOURCES =                                        \
        anv_allocator.c                                 \
@@ -111,7 +111,7 @@ libanv_gen7_la_SOURCES =                                \
        gen7_cmd_buffer.c                               \
        gen7_pipeline.c                                 \
        gen7_state.c
-libanv_gen7_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=70
+libanv_gen7_la_CFLAGS = $(libvulkan_intel_la_CFLAGS) -DANV_GENx10=70
 
 libanv_gen75_la_SOURCES =                               \
        genX_cmd_buffer.c                               \
@@ -119,7 +119,7 @@ libanv_gen75_la_SOURCES =                               \
        gen7_cmd_buffer.c                               \
        gen7_pipeline.c                                 \
        gen7_state.c
-libanv_gen75_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=75
+libanv_gen75_la_CFLAGS = $(libvulkan_intel_la_CFLAGS) -DANV_GENx10=75
 
 libanv_gen8_la_SOURCES =                                       \
        genX_cmd_buffer.c                               \
@@ -127,7 +127,7 @@ libanv_gen8_la_SOURCES =                                    
\
        gen8_cmd_buffer.c                               \
        gen8_pipeline.c                                 \
        gen8_state.c
-libanv_gen8_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=80
+libanv_gen8_la_CFLAGS = $(libvulkan_intel_la_CFLAGS) -DANV_GENx10=80
 
 libanv_gen9_la_SOURCES =                                       \
        genX_cmd_buffer.c                               \
@@ -135,7 +135,7 @@ libanv_gen9_la_SOURCES =                                    
\
        gen8_cmd_buffer.c                               \
        gen8_pipeline.c                                 \
        gen8_state.c
-libanv_gen9_la_CFLAGS = $(libvulkan_la_CFLAGS) -DANV_GENx10=90
+libanv_gen9_la_CFLAGS = $(libvulkan_intel_la_CFLAGS) -DANV_GENx10=90
 
 if HAVE_EGL_PLATFORM_WAYLAND
 BUILT_SOURCES += \
@@ -152,10 +152,10 @@ AM_CPPFLAGS += -I$(top_srcdir)/src/egl/wayland/wayland-drm
 VULKAN_SOURCES += \
        wayland-drm-protocol.c \
        anv_wsi_wayland.c
-libvulkan_la_CFLAGS += -DHAVE_WAYLAND_PLATFORM
+libvulkan_intel_la_CFLAGS += -DHAVE_WAYLAND_PLATFORM
 endif
 
-libvulkan_la_SOURCES =                                  \
+libvulkan_intel_la_SOURCES =                            \
        $(VULKAN_SOURCES)                               \
        anv_gem.c
 
@@ -170,7 +170,7 @@ anv_entrypoints.c : anv_entrypoints_gen.py 
$(vulkan_include_HEADERS)
 
 CLEANFILES = $(BUILT_SOURCES)
 
-libvulkan_la_LIBADD = $(WAYLAND_LIBS) -lxcb -lxcb-dri3 \
+libvulkan_intel_la_LIBADD = $(WAYLAND_LIBS) -lxcb -lxcb-dri3 \
        $(top_builddir)/src/isl/libisl.la \
        $(top_builddir)/src/mesa/drivers/dri/i965/libi965_compiler.la \
        ../mesa/libmesa.la \
@@ -178,6 +178,26 @@ libvulkan_la_LIBADD = $(WAYLAND_LIBS) -lxcb -lxcb-dri3 \
        -lpthread -ldl -lstdc++ \
         $(PER_GEN_LIBS)
 
+libvulkan_intel_la_LDFLAGS = \
+        -module -avoid-version -shared -shrext .so
+
+
+# Generate icd files. It would be nice to just be able to add these to
+# AC_CONFIG_FILES, but @libdir@ typically expands to '${exec_prefix}/lib64',
+# which we can't put in the icd file. When running sed from the Makefile we
+# can use ${libdir}, which expands completely and we avoid putting Makefile
+# variables in the icd file.
+
+icdconfdir=$(sysconfdir)/vulkan/icd.d
+icdconf_DATA = intel_icd.json
+noinst_DATA = dev_icd.json
+
+%.json : %.json.in
+       $(AM_V_GEN) $(SED) \
+               -e "s#@build_libdir@#${abs_top_builddir}/${LIB_DIR}#" \
+               -e "s#@install_libdir@#${libdir}#" < $< > $@
+
+
 # Libvulkan with dummy gem. Used for unit tests.
 
 libvulkan_test_la_SOURCES =                             \
diff --git a/src/vulkan/anv_icd.json.in b/src/vulkan/dev_icd.json.in
similarity index 54%
rename from src/vulkan/anv_icd.json.in
rename to src/vulkan/dev_icd.json.in
index 40de043..8492036 100644
--- a/src/vulkan/anv_icd.json.in
+++ b/src/vulkan/dev_icd.json.in
@@ -1,8 +1,7 @@
 {
     "file_format_version": "1.0.0",
     "ICD": {
-        "library_path": "@abs_top_builddir@/@LIB_DIR@/libvulkan.so.0.0.0",
+        "library_path": "@build_libdir@/libvulkan_intel.so",
         "abi_versions": "1.0.3"
     }
 }
-
diff --git a/src/vulkan/intel_icd.json.in b/src/vulkan/intel_icd.json.in
new file mode 100644
index 0000000..d9b363a
--- /dev/null
+++ b/src/vulkan/intel_icd.json.in
@@ -0,0 +1,7 @@
+{
+    "file_format_version": "1.0.0",
+    "ICD": {
+        "library_path": "@install_libdir@/libvulkan_intel.so",
+        "abi_versions": "1.0.3"
+    }
+}

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

Reply via email to