1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
|
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
|