head	1.30;
access;
symbols
	pkgsrc-2026Q1:1.30.0.2
	pkgsrc-2026Q1-base:1.30
	pkgsrc-2025Q4:1.28.0.2
	pkgsrc-2025Q4-base:1.28
	pkgsrc-2025Q3:1.27.0.4
	pkgsrc-2025Q3-base:1.27
	pkgsrc-2025Q2:1.27.0.2
	pkgsrc-2025Q2-base:1.27
	pkgsrc-2025Q1:1.22.0.4
	pkgsrc-2025Q1-base:1.22
	pkgsrc-2024Q4:1.22.0.2
	pkgsrc-2024Q4-base:1.22
	pkgsrc-2024Q3:1.18.0.2
	pkgsrc-2024Q3-base:1.18
	pkgsrc-2024Q2:1.16.0.2
	pkgsrc-2024Q2-base:1.16
	pkgsrc-2024Q1:1.14.0.4
	pkgsrc-2024Q1-base:1.14
	pkgsrc-2023Q4:1.14.0.2
	pkgsrc-2023Q4-base:1.14
	pkgsrc-2023Q3:1.13.0.2
	pkgsrc-2023Q3-base:1.13
	pkgsrc-2023Q2:1.11.0.2
	pkgsrc-2023Q2-base:1.11
	pkgsrc-2023Q1:1.10.0.4
	pkgsrc-2023Q1-base:1.10
	pkgsrc-2022Q4:1.10.0.2
	pkgsrc-2022Q4-base:1.10
	pkgsrc-2022Q3:1.9.0.2
	pkgsrc-2022Q3-base:1.9
	pkgsrc-2022Q2:1.8.0.2
	pkgsrc-2022Q2-base:1.8
	pkgsrc-2022Q1:1.7.0.4
	pkgsrc-2022Q1-base:1.7
	pkgsrc-2021Q4:1.7.0.2
	pkgsrc-2021Q4-base:1.7
	pkgsrc-2021Q3:1.5.0.2
	pkgsrc-2021Q3-base:1.5
	pkgsrc-2021Q2:1.4.0.2
	pkgsrc-2021Q2-base:1.4;
locks; strict;
comment	@# @;


1.30
date	2026.01.07.08.48.32;	author wiz;	state Exp;
branches;
next	1.29;
commitid	1wQ3ICD8eebefrpG;

1.29
date	2026.01.03.12.26.08;	author wiz;	state Exp;
branches;
next	1.28;
commitid	TW2h7cDf3Da8BWoG;

1.28
date	2025.10.09.14.51.57;	author adam;	state Exp;
branches;
next	1.27;
commitid	tQYubNAKKZWzaUdG;

1.27
date	2025.05.25.13.01.56;	author adam;	state Exp;
branches;
next	1.26;
commitid	ZwdFDdzDfykOXhWF;

1.26
date	2025.05.09.19.37.15;	author wiz;	state Exp;
branches;
next	1.25;
commitid	WCR78K3U9f0aFgUF;

1.25
date	2025.05.09.06.05.18;	author adam;	state Exp;
branches;
next	1.24;
commitid	zl5KttZPkjFRacUF;

1.24
date	2025.04.22.16.07.26;	author nia;	state Exp;
branches;
next	1.23;
commitid	uFYnhRO4Dheh34SF;

1.23
date	2025.04.17.21.52.07;	author wiz;	state Exp;
branches;
next	1.22;
commitid	xcIXAVA292fk6sRF;

1.22
date	2024.11.14.22.21.21;	author wiz;	state Exp;
branches;
next	1.21;
commitid	JmuDYqwL4erbdFxF;

1.21
date	2024.11.01.12.54.06;	author wiz;	state Exp;
branches;
next	1.20;
commitid	QB4Wk02mZPuBuWvF;

1.20
date	2024.11.01.00.53.20;	author wiz;	state Exp;
branches;
next	1.19;
commitid	QT27BdVP362gvSvF;

1.19
date	2024.10.01.10.23.50;	author nia;	state Exp;
branches;
next	1.18;
commitid	0KIZIJuFr1PZFWrF;

1.18
date	2024.08.25.06.19.09;	author wiz;	state Exp;
branches;
next	1.17;
commitid	BcrSL94SO85mvanF;

1.17
date	2024.07.06.16.16.06;	author adam;	state Exp;
branches;
next	1.16;
commitid	mvBVks9XLAnaqNgF;

1.16
date	2024.05.29.16.34.08;	author adam;	state Exp;
branches;
next	1.15;
commitid	n8aFyEjEVZA0JUbF;

1.15
date	2024.04.22.10.44.56;	author adam;	state Exp;
branches;
next	1.14;
commitid	MYJgSPOfR8RYZ77F;

1.14
date	2023.11.08.13.20.39;	author wiz;	state Exp;
branches;
next	1.13;
commitid	PsuHTklAIsF4bOLE;

1.13
date	2023.09.11.14.29.33;	author nia;	state Exp;
branches;
next	1.12;
commitid	IHsFFfjrTIourmEE;

1.12
date	2023.07.18.18.39.06;	author nia;	state Exp;
branches;
next	1.11;
commitid	US6cM8sFqFzHAjxE;

1.11
date	2023.04.19.08.11.16;	author adam;	state Exp;
branches;
next	1.10;
commitid	B8gCWhWtMX9vZGlE;

1.10
date	2022.11.23.16.20.56;	author adam;	state Exp;
branches;
next	1.9;
commitid	ju2K3LUYlTJKqQ2E;

1.9
date	2022.08.15.19.21.21;	author wiz;	state Exp;
branches;
next	1.8;
commitid	m8hrf9d63n6OE0QD;

1.8
date	2022.04.18.19.11.56;	author adam;	state Exp;
branches;
next	1.7;
commitid	eC9Na3jrfOOUpIAD;

1.7
date	2021.12.08.16.06.11;	author adam;	state Exp;
branches;
next	1.6;
commitid	2PyWjHx5T8rqARjD;

1.6
date	2021.11.20.20.05.36;	author wiz;	state Exp;
branches;
next	1.5;
commitid	cqHofXrii3T3wzhD;

1.5
date	2021.09.20.09.05.30;	author nia;	state Exp;
branches;
next	1.4;
commitid	wx9AV83V6ffdPF9D;

1.4
date	2021.06.11.15.09.23;	author nia;	state Exp;
branches;
next	1.3;
commitid	stZIgFOuq1En5JWC;

1.3
date	2021.06.10.11.18.06;	author nia;	state Exp;
branches;
next	1.2;
commitid	TAYYJSRXeM7XPzWC;

1.2
date	2021.06.10.10.26.32;	author nia;	state Exp;
branches;
next	1.1;
commitid	O1ULk12cfIujyzWC;

1.1
date	2021.06.10.09.57.40;	author nia;	state Exp;
branches;
next	;
commitid	gXxG4IZE4LNfozWC;


desc
@@


1.30
log
@*: recursive bump for icu 78.1
@
text
@# $NetBSD: Makefile,v 1.29 2026/01/03 12:26:08 wiz Exp $

DISTNAME=	pocl-7.1
PKGREVISION=	2
CATEGORIES=	parallel
MASTER_SITES=	${MASTER_SITE_GITHUB:=pocl/}
GITHUB_TAG=	v${PKGVERSION_NOREV}

MAINTAINER=	pkgsrc-users@@NetBSD.org
HOMEPAGE=	https://portablecl.org/
COMMENT=	Portable implementation of the OpenCL standard
LICENSE=	mit

USE_CXX_FEATURES=	c++11
USE_LANGUAGES=		c c++
USE_TOOLS+=		pkg-config
TEST_TARGET=		check

# error: _Float16 is not supported on this target
NOT_FOR_PLATFORM+=	*-*-i386

CMAKE_CONFIGURE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
#CMAKE_CONFIGURE_ARGS+=	-DCMAKE_INSTALL_LIBDIR=lib
CMAKE_CONFIGURE_ARGS+=	-DPOCL_INSTALL_ICD_VENDORDIR="${PREFIX}/share/examples/OpenCL/vendors"
CMAKE_CONFIGURE_ARGS+=	-DLLVM_CONFIG=${LLVM_CONFIG_PATH:Q}

LDFLAGS+=	${COMPILER_RPATH_FLAG}${PREFIX}/lib/pocl

# The PLIST includes target-specific files so needs to be generated.
GENERATE_PLIST+=	find ${DESTDIR}${PREFIX} \( -type f -o -type l \) -print | \
			sed 's,${DESTDIR}${PREFIX}/,,' | ${SORT} ;

.include "../../mk/bsd.prefs.mk"

# "Don't know what CPU variants to use for kernel library on this platform."
.if ${MACHINE_ARCH:Maarch64*}
CMAKE_CONFIGURE_ARGS+=	-DLLC_HOST_CPU="cortex-a53"
.else
CMAKE_CONFIGURE_ARGS+=	-DKERNELLIB_HOST_CPU_VARIANTS="distro"
.endif

pre-configure:
.if empty(PKGSRC_COMPILER:M*clang*)
# XXX: When using GCC, pkgsrc provides 'clang' wrappers that are actually gcc.
# XXX: This is copied from Firefox, which also needs this hack...
	${LN} -sf ${PREFIX}/bin/clang ${WRKDIR}/.cwrapper/bin/clang
	${LN} -sf ${PREFIX}/bin/clang++ ${WRKDIR}/.cwrapper/bin/clang++
	${LN} -sf ${PREFIX}/bin/clang-cpp ${WRKDIR}/.cwrapper/bin/clang-cpp
.endif

# provided by opencl-headers, but installed here as well(?!)
post-install:
	${RM} -rf ${DESTDIR}${PREFIX}/include/CL

OWN_DIRS+=	${PKG_SYSCONFDIR}/OpenCL/vendors

CONF_FILES+=	${PREFIX}/share/examples/OpenCL/vendors/pocl.icd \
		${PKG_SYSCONFDIR}/OpenCL/vendors/pocl.icd

PKGCONFIG_OVERRIDE+=	pocl.pc.in.cmake

.include "../../devel/cmake/build.mk"
.include "../../lang/clang/buildlink3.mk"
.include "../../lang/llvm/buildlink3.mk"
.include "../../parallel/hwloc/buildlink3.mk"
.include "../../parallel/ocl-icd/buildlink3.mk"
.include "../../parallel/opencl-headers/buildlink3.mk"
.include "../../mk/atomic64.mk"
.include "../../mk/dlopen.buildlink3.mk"
.include "../../mk/jpeg.buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
@


1.29
log
@pocl: fix conflict with its dependency opencl-headers

Bump PKGREVISION.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.28 2025/10/09 14:51:57 adam Exp $
d4 1
a4 1
PKGREVISION=	1
@


1.28
log
@pocl: updated to 7.1

7.1

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.
MSVC/Windows build of PoCL with CPU device no longer requires MS Visual Studio Build Tools
at runtime, MSVC runtime libraries are the only dependency of the CPU driver.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.27 2025/05/25 13:01:56 adam Exp $
d4 1
d51 4
@


1.27
log
@pocl: updated to 7.0

7.0 Highlights

Support for Clang/LLVM 19 & 20
Support for new Khronos ICD with OpenCL 3.0
Achieved official OpenCL 3.0 conformance with CPU and LevelZero drivers
Support for Windows platform with MinGW and MSVC
Support for input from Julia language via OpenCL.jl package
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.26 2025/05/09 19:37:15 wiz Exp $
d3 1
a3 1
DISTNAME=	pocl-7.0
@


1.26
log
@*: bump for llvm 19 (shlib major changed)
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.25 2025/05/09 06:05:18 adam Exp $
d3 1
a3 2
DISTNAME=	pocl-6.0
PKGREVISION=	5
d65 1
@


1.25
log
@pocl: add LLVM 19 support
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.24 2025/04/22 16:07:26 nia Exp $
d4 1
a4 1
PKGREVISION=	4
@


1.24
log
@pocl: mask out on i386 due to float16 usage
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.23 2025/04/17 21:52:07 wiz Exp $
d10 1
a10 1
HOMEPAGE=	http://portablecl.org/
@


1.23
log
@*: recursive bump for icu 77 and libxml2 2.14
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.22 2024/11/14 22:21:21 wiz Exp $
d19 3
@


1.22
log
@*: recursive bump for icu 76 shlib major version bump
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.21 2024/11/01 12:54:06 wiz Exp $
d4 1
a4 1
PKGREVISION=	3
@


1.21
log
@*: revbump for icu downgrade
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.20 2024/11/01 00:53:20 wiz Exp $
d4 1
a4 1
PKGREVISION=	2
@


1.20
log
@*: recursive bump for icu 76.1 shlib bump
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.19 2024/10/01 10:23:50 nia Exp $
d4 1
a4 1
PKGREVISION=	1
@


1.19
log
@pocl: needs atomic64
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.18 2024/08/25 06:19:09 wiz Exp $
d4 1
@


1.18
log
@*: replace CMAKE_ARGS with CMAKE_CONFIGURE_ARGS
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.17 2024/07/06 16:16:06 adam Exp $
d60 1
@


1.17
log
@pocl: updated to 6.0

PoCL 6.0

Highlights

Support for Clang/LLVM 18.0
New driver: cpu-tbb, uses Intel OneTBB library for scheduling
CPU driver new features: OpenMP support, new extensions (cl_pocl_svm_rect...), clGetDeviceAndHostTimer supported
Remote driver new features: coarse-grained SVM, vsock, clCompileProgram/clLinkProgram...
LevelZero driver new features: host synchronization optimization, >4GB buffers (CL_DEVICE_MAX_MEM_ALLOC_SIZE)
CUDA driver new features: CL_DEVICE_MAX_MEM_ALLOC_SIZE increased
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.16 2024/05/29 16:34:08 adam Exp $
d18 4
a21 4
CMAKE_ARGS+=	-DCMAKE_BUILD_TYPE=Release
#CMAKE_ARGS+=	-DCMAKE_INSTALL_LIBDIR=lib
CMAKE_ARGS+=	-DPOCL_INSTALL_ICD_VENDORDIR="${PREFIX}/share/examples/OpenCL/vendors"
CMAKE_ARGS+=	-DLLVM_CONFIG=${LLVM_CONFIG_PATH:Q}
d33 1
a33 1
CMAKE_ARGS+=	-DLLC_HOST_CPU="cortex-a53"
d35 1
a35 1
CMAKE_ARGS+=	-DKERNELLIB_HOST_CPU_VARIANTS="distro"
@


1.16
log
@revbump after icu and protobuf updates
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.15 2024/04/22 10:44:56 adam Exp $
d3 1
a3 2
DISTNAME=	pocl-5.0
PKGREVISION=	1
@


1.15
log
@pocl: updated to 5.0

5.0
http://portablecl.org/docs/html/notes_5_0.html
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.14 2023/11/08 13:20:39 wiz Exp $
d4 1
@


1.14
log
@*: recursive bump for icu 74.1
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.13 2023/09/11 14:29:33 nia Exp $
d3 1
a3 2
DISTNAME=	pocl-4.0
PKGREVISION=	1
d13 4
a16 3
USE_CMAKE=	yes
USE_TOOLS+=	pkg-config
USE_LANGUAGES=	c c++
d18 2
a19 6
TEST_TARGET=	check

USE_CXX_FEATURES+=	c++11

CMAKE_ARGS+=	-DCMAKE_BUILD_TYPE="Release"
CMAKE_ARGS+=	-DCMAKE_INSTALL_LIBDIR="lib"
a20 1
CMAKE_ARGS+=	-DKERNELLIB_HOST_CPU_VARIANTS="distro"
d31 2
a32 2
# "LLVM could not recognize your CPU model automatically..."
.if !empty(MACHINE_ARCH:Maarch64*)
d34 2
d54 1
@


1.13
log
@pocl: Update to 4.0. Unbreaks with latest LLVM.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.12 2023/07/18 18:39:06 nia Exp $
d4 1
@


1.12
log
@parallel: Adapt packages (where possible) to USE_(CC|CXX)_FEATURES
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.11 2023/04/19 08:11:16 adam Exp $
d3 1
a3 2
DISTNAME=	pocl-1.8
PKGREVISION=	4
d5 2
a6 1
MASTER_SITES=	http://portablecl.org/downloads/
a12 2
BROKEN=		"version 1.8 does not support llvm 14, please update this to 3.0"

@


1.11
log
@revbump after textproc/icu update
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.10 2022/11/23 16:20:56 adam Exp $
d21 1
a21 2
# C++11
GCC_REQD+=	4.7
@


1.10
log
@massive revision bump after textproc/icu update
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.9 2022/08/15 19:21:21 wiz Exp $
d4 1
a4 1
PKGREVISION=	3
@


1.9
log
@pocl: mark as BROKEN

This needs to be updated to 3.0 (available) to support llvm 14.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.8 2022/04/18 19:11:56 adam Exp $
d4 1
a4 1
PKGREVISION=	2
@


1.8
log
@revbump for textproc/icu update
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.7 2021/12/08 16:06:11 adam Exp $
d13 2
@


1.7
log
@revbump for icu and libffi
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.6 2021/11/20 20:05:36 wiz Exp $
d4 1
a4 1
PKGREVISION=	1
@


1.6
log
@pocl: update to 1.8.

Notable User Facing Changes
---------------------------

- support for LLVM 13
- CMake: Inter-Procedural Optimization is enabled on code of runtime library
  (libpocl.so is compiled with -flto on systems that support it).
- LTTng tracing improved - more command types are traced, and also
  some synchronous API calls (like clCreateBuffer) are traced.
- poclcc, tests and examples can be disabled with CMake options
- Valgrind support improved by making Valgrind aware of pocl's
  reference counting of cl_* objects
- kernels which are called by kernels are now force-inlined
- Support for NetBSD.
- Support for Unix systems without libdl.
- PoCL can now (optionally) respond to SIGUSR2 by printing
  some live debug information.
- improved SPIR support for CUDA devices

Notable Bug Fixes
-----------------

- Fixed a potential crash on Unix systems without sysfs mounted.
- Fixed compilation errors when building on macOS.
  - Fixed POCL_FAST_INIT macro; POCL_INIT_LOCK must be invoked with only one argument.
  - Fix bin/poclcc to not depend on OpenCL 2.0 symbols
- Fixed miscompilation in kernel loops with multiple conditionals with barriers in them.

Other
-----
- Add cmake options PARALLEL_COMPILE_JOBS, PARALLEL_LINK_JOBS to
  use ninja's seperate compile and link job pools.

- Improve memory architecture, buffer migration and allocation.
  Buffers are now allocated on a device when first used
  (previously each buffer was allocated on every device in context).

- the single global LLVMContext was replaced with
  multiple LLVMContexts, one per OpenCL cl_context.
  OpenCL code can now be compiled in parallel
  when using separate cl_contexts. This feature
  is disabled by default since it significantly slowed
  down PyOpenCL. This should be resolved by separating
  LLVM compilation in their own threads in the future.

- a new OpenCL extension was added to PoCL: cl_pocl_content_size.
  The extension allows the user to give optimization hint to PoCL,
  which will be used internally by PoCL to optimize buffer transfers
  between multiple devices.
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.5 2021/09/20 09:05:30 nia Exp $
d4 1
@


1.5
log
@pocl: work around broken CPU detection on aarch64
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.4 2021/06/11 15:09:23 nia Exp $
d3 1
a3 2
DISTNAME=	pocl-1.7
PKGREVISION=	2
@


1.4
log
@pocl: add test target
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.3 2021/06/10 11:18:06 nia Exp $
d36 5
@


1.3
log
@pocl: Fix a null pointer dererence if sysfs is not present *sigh*
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.2 2021/06/10 10:26:32 nia Exp $
d17 2
@


1.2
log
@pocl: fix name of vendor directory
@
text
@d1 1
a1 1
# $NetBSD: Makefile,v 1.1 2021/06/10 09:57:40 nia Exp $
d4 1
a4 1
PKGREVISION=	1
@


1.1
log
@add parallel/pocl

OpenCL (Open Computing Language) is an open, royalty-free standard for
cross-platform, parallel programming of diverse accelerators found in
supercomputers, cloud servers, personal computers, mobile devices and embedded
platforms.

PoCL is a portable open source (MIT-licensed) implementation of the OpenCL
standard (1.2 with some 2.0 features supported). In addition to being an easily
portable multi-device (truely heterogeneous) open-source OpenCL implementation,
a major goal of this project is improving interoperability of diversity of
OpenCL-capable devices by integrating them to a single centrally orchestrated
platform.
@
text
@d1 1
a1 1
# $NetBSD$
d4 1
d22 1
a22 1
CMAKE_ARGS+=	-DPOCL_INSTALL_ICD_VENDORDIR="${PREFIX}/share/examples/OpenCL/vendor"
d43 1
a43 1
OWN_DIRS+=	${PKG_SYSCONFDIR}/OpenCL/vendor
d45 2
a46 2
CONF_FILES+=	${PREFIX}/share/examples/OpenCL/vendor/pocl.icd \
		${PKG_SYSCONFDIR}/OpenCL/vendor/pocl.icd
@

