           SPELL=ocl-icd
         VERSION=2.3.2
          SOURCE=$SPELL-$VERSION.tar.gz
SOURCE_DIRECTORY="$BUILD_DIRECTORY/${SPELL}-${VERSION}"
   SOURCE_URL[0]=https://github.com/OCL-dev/ocl-icd/archive/v${VERSION}.tar.gz
     SOURCE_HASH=sha512:5129975a10ffade76d20444345a59c82506914347391ad6c0b4c3826f51dcc641924b4a5abcc65c41766597af9cc7a76b9e5821f41898ff0251a05963e117796
      LICENSE[0]=BSD
        WEB_SITE=https://github.com/OCL-dev/ocl-icd/
         ENTERED=20240305
        KEYWORDS="utils graphics rocm cuda opencl"
           SHORT="opencl icd bindings"
cat << EOF
This package aims at creating an Open Source alternative to vendor specific
OpenCL ICD loaders.

The main difficulties to create such software is that the order of
function pointers in a structure is not publicy available.
  This software maintains a YAML database of all known and guessed
entries.

  If the configure script is called with --enable-update-database,
then:
- a dummy OpenCL implementation using available headers on the system
  is created
- this dummy OpenCL implementation is installed system-wide (root
  access needed) with the file dummy.icd in /etc/OpenCL/vendors/
- a test program then calls every function defined in the
  headers and thus obtains the function mapping inside the demultiplexer
So, if an other OpenCL ICD loader is installed on the system, this
allows us to discover the mapping of new entries in the structure,
entries that are then recoreded in the YAML database.
  Of course, if the currently installed OpenCL ICD loader is this one,
there wont be any problems but no new mapping will be discovered.

This package also delivers a skeleton of bindings to incorporate inside an
OpenCL implementation to give it ICD functionalities.
EOF
