Portable OpenCL (pocl)
----------------------
Portable OpenCL (>= 3.0) aims to be an efficient open source
(MIT-licensed) implementation of the OpenCL 2.X standard with
adaptions of OpenCL 3.0.
===> The following configuration options are available for pocl-7.1_5:
CONFORMANCE=off: Conformant pocl build (defaults to OFF)
DEBUG=off: Build POCL with DEBUG messages
DOCS=on: Build documentation (needs textproc/py-sphinx)
DOCS_PDF=off: Build PDF alongside with standard HTML docs
LTTNG=off: Trace both server and client lib with lttng
OMP=on: Enable OpenMP on CPU driver
REMOTE=off: Enable pocld, a remote server (esperimental)
SHARED_LIBS=on: Build shared libs
STATIC_LLVM=off: Have static libLLVM
TESTS=on: Enable compilation of internal tests
====> LLVM version to choose: you have to select exactly one of them
LLVM17=off: Use llvm 17
LLVM18=off: Use llvm 18
LLVM19=off: Use llvm 19
LLVM20=off: Use llvm 20
LLVM21=on: Use llvm 21
LLVMDEFAULT=off: Use default llvm version
===> Use 'make config' to modify these settings
lang/pocl: Update 7.0 -> 7.1, improve port
Changelog:
This is mostly a bug-fix/maintenance release.
- Support for LLVM 21 for the CPU and LevelZero devices.
- Support for cl_khr_icd v2.0.0, cl_khr_spirv_queries and
SPV_KHR_expect_assume.
https://newreleases.io/project/github/pocl/pocl/release/v7.1
Improve port:
- Switch to USES=llvm from hardcoded dependencies from llvm's files.
- Add options for build with all supported versions of the llvm.
- Cleanup RUN_DEPENDS=BUILD_DEPENDS antipattern.
PR: 290112283227
Co-authored-by: Vladimir Druzenko <vvd@FreeBSD.org>
lang/pocl: fix build on powerpc64*
CMake Error at CMakeLists.txt:1822 (message):
Cannot build with CPU autodetection distro variants build, and enforce
LLC_HOST_CPU at the same time. Please pick one
all: remove explicit versions in USES=python for "3.x+"
The logic in USES=python will automatically convert this to 3.8+ by
itself.
Adjust two ports that only had Python 3.7 mentioned but build fine
on Python 3.8 too.
finance/quickfix: mark BROKEN with PYTHON
libtool: compile: c++ -DHAVE_CONFIG_H -I. -I../.. -I -I. -I.. -I../.. -I../C++
-DLIBICONV_PLUG -DPYTHON_MAJOR_VERSION=3 -Wno-unused-variable
-Wno-maybe-uninitialized -O2 -pipe -DLIBICONV_PLUG -fstack-protector-strong
-fno-strict-aliasing -DLIBICONV_PLUG -Wall -ansi
-Wno-unused-command-line-argument -Wpointer-arith -Wwrite-strings
-Wno-overloaded-virtual -Wno-deprecated-declarations -Wno-deprecated -std=c++0x
-MT _quickfix_la-QuickfixPython.lo -MD -MP -MF
.deps/_quickfix_la-QuickfixPython.Tpo -c QuickfixPython.cpp -fPIC -DPIC -o
.libs/_quickfix_la-QuickfixPython.o
warning: unknown warning option '-Wno-maybe-uninitialized'; did you mean
'-Wno-uninitialized'? [-Wunknown-warning-option]
QuickfixPython.cpp:175:11: fatal error: 'Python.h' file not found
^~~~~~~~~~
1 warning and 1 error generated.
Reviewed by: portmgr, vishwin, yuri
Differential Revision: <https://reviews.freebsd.org/D40568>
Remove WWW entries moved into port Makefiles
Commit b7f05445c00f has added WWW entries to port Makefiles based on
WWW: lines in pkg-descr files.
This commit removes the WWW: lines of moved-over URLs from these
pkg-descr files.
Approved by: portmgr (tcberner)
Add WWW entries to port Makefiles
It has been common practice to have one or more URLs at the end of the
ports' pkg-descr files, one per line and prefixed with "WWW:". These
URLs should point at a project website or other relevant resources.
Access to these URLs required processing of the pkg-descr files, and
they have often become stale over time. If more than one such URL was
present in a pkg-descr file, only the first one was tarnsfered into
the port INDEX, but for many ports only the last line did contain the
port specific URL to further information.
There have been several proposals to make a project URL available as
a macro in the ports' Makefiles, over time.
(Only the first 15 lines of the commit message are shown above )
lang/pocl: drop pkg-message + minor style and whitespace fixes
- Do not hardcode architectures in ONLY_FOR_ARCHS_REASON, derive
them from ONLY_FOR_ARCHS instead (this also takes care of the
missing Oxford comma)
- Remove the pkg-message file since the issue it talks about had
been fixed in 2015; it also had slightly incorrect wording and
several EOL whitespace bugs
Update Sphinx
- Repocopy textproc/py-sphinx to textproc/py-sphinx18
Update it to 1.8.5 (latest version from 1.8.X).
This version supports Python 2 and 3.
Add test target.
- textproc/py-sphinx: Update to 3.0.2
Python 3 only (3.5+).
Add test target.
- Mk/Uses/python.mk: Add PY_SPHINX
(Only the first 15 lines of the commit message are shown above )
Change cmake default behaviour to outsource.
Ports that build out of source now simply can use "USES=cmake"
instead of "USES=cmake:outsource". Ports that fail to build
out of source now need to specify "USES=cmake:insource".
I tried to only set insource where explictely needed.
PR: 232038
Exp-run by: antoine
Remove compatibility code for FreeBSD < 11.2 from all ports.
Simplify some ports where DragonFlyBSD no longer needs to be special-cased.
Submitted by: rene
Reviewed by: bapt, jbeich
Differential Revision: https://reviews.freebsd.org/D17724
lang/pocl: Remove BROKEN=fails to package
It didn't fail to package for me on 11 amd64 and 12 amd64.
Port changes:
* Move BROKENxx and ONLY_FOR_ARCHS lines to a proper place.
* Order USExx section
* Change to cmake:outsource
Approved by: portmgr blanket
Switch build to llvm38 to clear the last dependency on llvm37
PR: 217462
Approved by: swills (mentor), maintainer (timeout)
Differential Revision: https://reviews.freebsd.org/D10034
Add pocl.
Portable OpenCL aims to be an efficient open source (MIT-licensed)
implementation of the OpenCL 1.2 standard. pocl uses Clang as an
OpenCL C frontend and LLVM for the kernel compiler implementation,
and as a portability layer. Thus, if your desired target has an LLVM
backend, it should be able to get OpenCL support easily by using pocl.
PR: 171914
Submitted by: O.Hartmann <ohartmann@walstatt.org> (based on)