summaryrefslogtreecommitdiff
path: root/science/pnetcdf/Makefile
blob: 689427acbc1ec4bd1c6de95b530c2dfbcbdbd70a (plain)
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
PORTNAME=	pnetcdf
PORTVERSION=	1.12.3
PORTREVISION=	1
CATEGORIES=	science parallel
MASTER_SITES=	https://parallel-netcdf.github.io/Release/ \
		LOCAL/sunpoet

MAINTAINER=	sunpoet@FreeBSD.org
COMMENT=	Library providing high-performance I/O
WWW=		https://parallel-netcdf.github.io/

USES=		fortran gmake libtool pathfix perl5
USE_PERL5=	build

CFLAGS+=	-fPIC
CONFIGURE_ARGS=	--with-mpi=${MPI_HOME} ac_cv_fc_compiler_nag=no
GNU_CONFIGURE=	yes
MAKE_JOBS_UNSAFE=	yes

CONFLICTS_INSTALL=	hdf-4.*

OPTIONS_SINGLE=	MPI
OPTIONS_SINGLE_MPI=	OPENMPI MPICH
OPTIONS_DEFAULT=OPENMPI
OPTIONS_DEFAULT_armv6=	MPICH
OPTIONS_DEFAULT_armv7=	MPICH
OPTIONS_DEFAULT_i386=	MPICH
OPTIONS_DEFAULT_powerpc=MPICH
OPTIONS_EXCLUDE_armv6=	OPENMPI
OPTIONS_EXCLUDE_armv7=	OPENMPI
OPTIONS_EXCLUDE_i386=	OPENMPI
OPTIONS_EXCLUDE_powerpc=OPENMPI

MPICH_USES=	mpi:mpich
OPENMPI_USES=	mpi:openmpi

.include <bsd.port.pre.mk>

.if ${GCC_DEFAULT} >= 10
# Workaround for Type mismatch between actual argument at (1) and actual argument at (2) (INTEGER(8)/CHARACTER(*)).
FCFLAGS+=	-fallow-argument-mismatch
.endif

.if (${ARCH} == armv6 || ${ARCH} == armv7 || ${ARCH} == i386 || ${ARCH} == powerpc) && ${PORT_OPTIONS:MOPENMPI}
BROKEN=		Use MPICH option instead. PnetCDF requires MPI_Offset >= 8 but Open MPI sets MPI_Offset to 4 on 32-bit architecture regardless of LFS. See https://github.com/open-mpi/ompi/issues/3195 for details
.endif

.include <bsd.port.post.mk>