I'm not sure what the final consensus will be on how to do this, but FWIW: Tested-By: Aaron Watry <awa...@gmail.com>
I've tested this with 4 combinations: no --with-opencl-icd option specified : libOpenCL.so gets installed in ${prefix}/lib --with-opencl-icd=no : libOpenCL.so gets installed in ${prefix}/lib --with-opencl-icd=standard : libMesaOpenCL.so installed in ${prefix}/lib, icd in /etc/OpenCL/vendors/mesa.icd --with-opencl-icd=sysconfdir : libMesaOpenCL.so installed in ${prefix}/lib, icd in ${prefix}/etc//mesa.icd. I only specified --prefix, no other directories overridden in configure command. --Aaron On Wed, May 6, 2015 at 4:34 PM, EdB <edb+m...@sigluy.net> wrote: > The standard ICD file path is /etc/OpenCL/vendor/. > However it doesn't fit well with custom build. > This option allow ICD vendor file installation path override > --- > configure.ac | 46 > +++++++++++++++++++++++----------- > src/gallium/targets/opencl/Makefile.am | 2 +- > 2 files changed, 33 insertions(+), 15 deletions(-) > > diff --git a/configure.ac b/configure.ac > index 095e23e..90dba4e 100644 > --- a/configure.ac > +++ b/configure.ac > @@ -804,12 +804,6 @@ AC_ARG_ENABLE([opencl], > [enable OpenCL library @<:@default=disabled@:>@])], > [enable_opencl="$enableval"], > [enable_opencl=no]) > -AC_ARG_ENABLE([opencl_icd], > - [AS_HELP_STRING([--enable-opencl-icd], > - [Build an OpenCL ICD library to be loaded by an ICD > implementation > - @<:@default=disabled@:>@])], > - [enable_opencl_icd="$enableval"], > - [enable_opencl_icd=no]) > AC_ARG_ENABLE([xlib-glx], > [AS_HELP_STRING([--enable-xlib-glx], > [make GLX library Xlib-based instead of DRI-based > @<:@default=disabled@:>@])], > @@ -1689,19 +1683,11 @@ if test "x$enable_opencl" = xyes; then > # XXX: Use $enable_shared_pipe_drivers once converted to use > static/shared pipe-drivers > enable_gallium_loader=yes > > - if test "x$enable_opencl_icd" = xyes; then > - OPENCL_LIBNAME="MesaOpenCL" > - else > - OPENCL_LIBNAME="OpenCL" > - fi > - > if test "x$have_libelf" != xyes; then > AC_MSG_ERROR([Clover requires libelf]) > fi > fi > AM_CONDITIONAL(HAVE_CLOVER, test "x$enable_opencl" = xyes) > -AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$enable_opencl_icd" = xyes) > -AC_SUBST([OPENCL_LIBNAME]) > > dnl > dnl Gallium configuration > @@ -2006,6 +1992,38 @@ AC_ARG_WITH([d3d-libdir], > [D3D_DRIVER_INSTALL_DIR="${libdir}/d3d"]) > AC_SUBST([D3D_DRIVER_INSTALL_DIR]) > > +dnl OpenCL ICD > + > +AC_ARG_WITH([opencl-icd], > + [AS_HELP_STRING([--with-opencl-icd=@<:@no,standard,sysconfdir@:>@], > + [Build an OpenCL ICD library to be loaded by an ICD > implementation. > + If @<:@standard@:>@ the OpenCL ICD vendor file installs in > /etc/OpenCL/vendors. > + @<:@sysconfdir@:>@ installs the file in > $sysconfdir/OpenCL/vendors > + @<:@default=no@:>@])], > + [OPENCL_ICD="$withval"], > + [OPENCL_ICD="no"]) > + > +case "x$OPENCL_ICD" in > +xno) > + OPENCL_LIBNAME="OpenCL" > + ;; > +xstandard) > + OPENCL_LIBNAME="MesaOpenCL" > + ICD_FILE_DIR="/etc/OpenCL/vendors" > + ;; > +xsysconfdir) > + OPENCL_LIBNAME="MesaOpenCL" > + ICD_FILE_DIR="$sysconfdir/OpenCL/vendors" > + ;; > +*) > + AC_MSG_ERROR(['$OPENCL_ICD' is not a valid option for > --with-opencl-icd]) > + ;; > +esac > + > +AM_CONDITIONAL(HAVE_CLOVER_ICD, test "x$OPENCL_ICD" != xno) > +AC_SUBST([OPENCL_LIBNAME]) > +AC_SUBST([ICD_FILE_DIR]) > + > dnl > dnl Gallium helper functions > dnl > diff --git a/src/gallium/targets/opencl/Makefile.am > b/src/gallium/targets/opencl/Makefile.am > index 5daf327..781daa0 100644 > --- a/src/gallium/targets/opencl/Makefile.am > +++ b/src/gallium/targets/opencl/Makefile.am > @@ -47,7 +47,7 @@ EXTRA_lib@OPENCL_LIBNAME@_la_DEPENDENCIES = opencl.sym > EXTRA_DIST = mesa.icd opencl.sym > > if HAVE_CLOVER_ICD > -icddir = /etc/OpenCL/vendors/ > +icddir = $(ICD_FILE_DIR) > icd_DATA = mesa.icd > endif > > -- > 2.1.0 > > _______________________________________________ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev >
_______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev