Files
ports/devel/libcircle/Makefile
T
Generic Rikka 14736c6ee9 devel/libcircle: New port: API to distribute parallel workloads across MPI ranks
libcircle provides an API for distributing embarrassingly parallel
workloads across MPI ranks using a distributed work queue.

Applications register callbacks to create and process work items, while
the library handles load balancing, termination detection, and optional
global reductions. It is commonly used on large HPC filesystems to
traverse directory trees and perform file operations in parallel on
hundreds or thousands of processes.

https://github.com/hpc/libcircle

It is one of the dependencies for sysutils/mpifileutils.

PR:		291589
Sponsored by:	UNIS Labs
Co-authored-by:	Vladimir Druzenko <vvd@FreeBSD.org>
2026-04-15 16:37:44 +03:00

49 lines
1.2 KiB
Makefile

PORTNAME= libcircle
DISTVERSION= 0.3.0
CATEGORIES= devel parallel
MASTER_SITES= https://github.com/hpc/${PORTNAME}/releases/download/v${DISTVERSION:R}/
MAINTAINER= rikka.goering@outlook.de
COMMENT= Efficient distributed work queue library for MPI clusters
WWW= https://hpc.github.io/libcircle/
LICENSE= BSD3CLAUSE
LICENSE_FILE= ${WRKSRC}/COPYING
USES= libtool localbase mpi:openmpi pathfix pkgconfig
USE_LDCONFIG= yes
GNU_CONFIGURE= yes
CONFIGURE_ENV= CC=${MPICC} \
MPICC=${MPICC}
INSTALL_TARGET= install-strip
TEST_TARGET= check
PORTDOCS= *
OPTIONS_DEFINE= DOCS DOXYGEN
OPTIONS_DEFAULT= SHARED
OPTIONS_MULTI= LIBS
OPTIONS_MULTI_LIBS= SHARED STATIC
OPTIONS_SUB= yes
SHARED_DESC= Build shared libraries
STATIC_DESC= Build static libraries
DOXYGEN_IMPLIES= DOCS
DOXYGEN_BUILD_DEPENDS= doxygen:devel/doxygen
DOXYGEN_CONFIGURE_ENABLE= doxygen
SHARED_CONFIGURE_ENABLE= shared
STATIC_CONFIGURE_ENABLE= static
do-install-DOCS-on:
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${INSTALL_DATA} ${WRKSRC}/AUTHORS ${STAGEDIR}${DOCSDIR}
do-install-DOXYGEN-on:
(cd ${WRKSRC}/doc && ${COPYTREE_SHARE} "html latex" ${STAGEDIR}${DOCSDIR})
${INSTALL_MAN} ${WRKSRC}/doc/man/man3/*.3 ${STAGEDIR}${PREFIX}/share/man/man3
.include <bsd.port.mk>