[Mesa-dev] [PATCH] clover: replace --enable-opencl-icd with --with-opencl-icd

EdB edb+mesa at sigluy.net
Thu May 7 12:52:37 PDT 2015


Le 2015-05-07 18:55, Aaron Watry a écrit :
> 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.
> 

thanks

   EdB

> --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 [1]                           | 46
>> +++++++++++++++++++++++-----------
>>  src/gallium/targets/opencl/Makefile.am |  2 +-
>>  2 files changed, 33 insertions(+), 15 deletions(-)
>> 
>> diff --git a/configure.ac [1] b/configure.ac [1]
>> index 095e23e..90dba4e 100644
>> --- a/configure.ac [1]
>> +++ b/configure.ac [1]
>> @@ -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 [2]
> 
> 
> 
> Links:
> ------
> [1] http://configure.ac
> [2] http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list