This file contains notes for making distribution packages of pocl.

ICD
---
Pocl should probably be built with ICD enabled (``-DENABLE_ICD=ON`` CMake
option) for desktop distributions. Pocl does not have an ICD loader,
so a dependancy on one would be beneficial.

CMake options for a distribution build
--------------------------------------
- ``-DKERNELLIB_HOST_CPU_VARIANTS=distro``
  Note: this note only works for x86(-64) platform currently,
  on other platforms, it has zero effect.
  Enables runtime detection of CPU and builds separate
  kernel libraries for most common x86 CPUs.

- ``-DPOCL_ICD_ABSOLUTE_PATH=OFF``
  The pocl.icd file (which the ICD loader uses to load the pocl lib)
  by default has a full path to the installed libpocl.so file.
  Set this option to OFF and pocl will only put the dynamic library
  name into pocl.icd.

- ``-DENABLE_POCL_BUILDING=OFF``
  When OFF, POCL_BUILDING option (which causes pocl to look for required
  files in build / source directories) will be ignored
  and pocl will always look in installed paths only.

Mesa (OpenGL) interoperability
------------------------------
On some current (Jan 2014) Linux distibutions, mesa is built with LLVMpipe. 
If pocl is built against a shared LLVM library, the mesa calls to its LLVM
will be re-routed to the LLVM linked in pocl, causing a segfault. Consider
linking LLVM statically to pocl. At least 'nouveau' and 'swrast_dri' are 
known to suffer from this. See https://github.com/pocl/pocl/issues/46
