[Mesa-dev] [PATCH] clover: replace --enable-opencl-icd with --with-opencl-icd
Aaron Watry
awatry at gmail.com
Thu May 7 09:55:23 PDT 2015
I'm not sure what the final consensus will be on how to do this, but FWIW:
Tested-By: Aaron Watry <awatry at 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+mesa at 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 at 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 at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20150507/8eb3d5b5/attachment-0001.html>
More information about the mesa-dev
mailing list