Freeocl includes an icd wrapper that has modest dependencies and is an alternative to eselect-opencl https://bugs.gentoo.org/show_bug.cgi?id=372847 .
ICD is a interface for multiple opencl implementations to coexist (spec
The solution would be to make other implementations depend on this (or an other icd wrapper) and not install OpenCL headers or libs, only icd-files and vendor specific libs. This way that freeocl could load those libraries and export as different platforms for it's libOpenCL.so without any eselecting.
Created attachment 296939 [details]
Ebuild I tested the icd wrapper with ati-drivers and some of my own code.
verify header sanity (beyond wine configure I tested).
Deal with multilib:
Should the vendor specific libs use the same name for the icd to work or should we add icd for both.
The ebuild needs multilib support.
This is upstream work, but pretty trivial, since it's only wrapper.
(homepage btw http://code.google.com/p/freeocl/ )
Created attachment 296941 [details]
patch for the ebuild against latest svn snapshot (sent to upstream).
btw. wine[opencl] compiled fine against freeocl headers and ati-drivers-11.12[opencl] and some ugly symlinks.
Upstream seems dead (migrated to GitHub from Google Code, last commit 4 years ago, issues ignored since then too).
Also not sure of the utility of it in 2021, no other distro seems to package it still.