[Mesa-dev] [PATCH] opencl: improved auto-gen .icd
Tom Stellard
tom at stellard.net
Mon Jan 13 11:12:02 PST 2014
On Sun, Jan 12, 2014 at 03:08:56AM +0400, Igor Gnatenko wrote:
> From 5b2bf87f1238e44150492a39f5db0ae90d59459b Mon Sep 17 00:00:00 2001
> From: Igor Gnatenko <i.gnatenko.brain at gmail.com>
> Date: Sun, 12 Jan 2014 02:09:16 +0400
> Subject: [PATCH] opencl: improved auto-gen .icd
>
> v2: Use @OPENCL_VERSION@:0 for library
> replace /etc with @sysconfdir@ macros
>
> Reported-by: Fabian Deutsch <fabian.deutsch at gmx.de>
> Reference: https://bugs.freedesktop.org/show_bug.cgi?id=73512
> Signed-off-by: Igor Gnatenko <i.gnatenko.brain at gmail.com>
> ---
> configure.ac | 3 +++
> src/gallium/targets/opencl/Makefile.am | 4 ++--
> src/gallium/targets/opencl/mesa.icd | 1 -
> src/gallium/targets/opencl/mesa.icd.in | 1 +
> 4 files changed, 6 insertions(+), 3 deletions(-)
> delete mode 100644 src/gallium/targets/opencl/mesa.icd
> create mode 100644 src/gallium/targets/opencl/mesa.icd.in
>
> diff --git a/configure.ac b/configure.ac
> index 4b55140..3452e15 100644
> --- a/configure.ac
> +++ b/configure.ac
> @@ -25,6 +25,8 @@ m4_ifdef([AM_PROG_AR], [AM_PROG_AR])
> dnl Set internal versions
> OSMESA_VERSION=8
> AC_SUBST([OSMESA_VERSION])
> +OPENCL_VERSION=1
> +AC_SUBST([OPENCL_VERSION])
>
> dnl Versions for external dependencies
> LIBDRM_REQUIRED=2.4.24
> @@ -2023,6 +2025,7 @@ AC_CONFIG_FILES([Makefile
> src/gallium/targets/egl-static/Makefile
> src/gallium/targets/gbm/Makefile
> src/gallium/targets/opencl/Makefile
> + src/gallium/targets/opencl/mesa.icd
> src/gallium/targets/osmesa/Makefile
> src/gallium/targets/osmesa/osmesa.pc
> src/gallium/targets/pipe-loader/Makefile
> diff --git a/src/gallium/targets/opencl/Makefile.am b/src/gallium/targets/opencl/Makefile.am
> index 653302c..923316c 100644
> --- a/src/gallium/targets/opencl/Makefile.am
> +++ b/src/gallium/targets/opencl/Makefile.am
> @@ -4,7 +4,7 @@ lib_LTLIBRARIES = lib at OPENCL_LIBNAME@.la
>
> lib at OPENCL_LIBNAME@_la_LDFLAGS = \
> $(LLVM_LDFLAGS) \
> - -version-number 1:0
> + -version-number @OPENCL_VERSION@:0
>
> lib at OPENCL_LIBNAME@_la_LIBADD = \
> $(top_builddir)/src/gallium/auxiliary/pipe-loader/libpipe_loader.la \
> @@ -34,7 +34,7 @@ lib at OPENCL_LIBNAME@_la_SOURCES =
> nodist_EXTRA_lib at OPENCL_LIBNAME@_la_SOURCES = dummy.cpp
>
> if HAVE_CLOVER_ICD
> -icddir = /etc/OpenCL/vendors/
> +icddir = @sysconfdir@/OpenCL/vendors/
As I mentioned in the bug report, the ICD spec says that OpenCL/vendors/
should be in /etc/ I don't think we can change this and still be spec
compliant. Why do you want to install the *.icd files in sysconfdir?
> icd_DATA = mesa.icd
> endif
>
> diff --git a/src/gallium/targets/opencl/mesa.icd b/src/gallium/targets/opencl/mesa.icd
> deleted file mode 100644
> index 6a6a870..0000000
> --- a/src/gallium/targets/opencl/mesa.icd
> +++ /dev/null
> @@ -1 +0,0 @@
> -libMesaOpenCL.so
> diff --git a/src/gallium/targets/opencl/mesa.icd.in b/src/gallium/targets/opencl/mesa.icd.in
> new file mode 100644
> index 0000000..a0b6489
> --- /dev/null
> +++ b/src/gallium/targets/opencl/mesa.icd.in
> @@ -0,0 +1 @@
> + at libdir@/lib at OPENCL_LIBNAME@.so. at OPENCL_VERSION@
Again, the spec says only the library name should go here and not the full
path.
-Tom
> --
> 1.8.4.2
>
> --
> -Igor Gnatenko
>
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
More information about the mesa-dev
mailing list