blob: 7e481ab446611f7a826e95392aedeec45c3cec11 (
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
PORTNAME= mpich
PORTVERSION= 3.4.1
CATEGORIES= net parallel
MASTER_SITES= https://www.mpich.org/static/downloads/${DISTVERSION}/
MAINTAINER= ports@FreeBSD.org
COMMENT= Portable implementation of MPI-1, MPI-2 and MPI-3
LICENSE= MPICH
LICENSE_NAME= MPICH
LICENSE_FILE= ${WRKSRC}/COPYRIGHT
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
# Unfortunately mpicc is BROKEN with sh (Bad substitution on arrays)
BUILD_DEPENDS= bash:shells/bash
LIB_DEPENDS= libhwloc.so:devel/hwloc2 \
libjson-c.so:devel/json-c \
libfabric.so:net/libfabric \
libslurm.so:sysutils/slurm-wlm \
libepoll-shim.so:devel/libepoll-shim
RUN_DEPENDS= bash:shells/bash
CONFLICTS= lam-7.* mpd-[0-9]* mpiexec-0.* mpich2-[0-9]*
GNU_CONFIGURE= yes
INSTALL_TARGET= install-strip
USES= compiler:c11 libtool perl5 pkgconfig
USE_LDCONFIG= yes
TEST_TARGET= check
OPTIONS_DEFINE= DOCS FORTRAN
OPTIONS_GROUP= PM
OPTIONS_GROUP_PM= GFORKER HYDRA
OPTIONS_RADIO= DEFAULTPM
OPTIONS_RADIO_DEFAULTPM=DGFORKER DHYDRA
OPTIONS_DEFAULT= FORTRAN GFORKER HYDRA DHYDRA
OPTIONS_SUB= yes
FORTRAN_USES= fortran
FORTRAN_CONFIGURE_ENABLE= fortran
FORTRAN_CONFIGURE_ON= \
MPICH_MPICC_LDFLAGS="${MPICH_LDFLAGS}" \
MPICH_MPICXX_LDFLAGS="${MPICH_LDFLAGS}" \
MPICH_MPIF77_LDFLAGS="${MPICH_LDFLAGS}" \
MPICH_MPIFORT_LDFLAGS="${MPICH_LDFLAGS}"
MPICH_LDFLAGS= -Wl,-rpath=${LOCALBASE}/lib/gcc${_GCC_VER} \
-L${LOCALBASE}/lib/gcc${_GCC_VER} -B${LOCALBASE}/bin
PM_DESC= Process managers
GFORKER_DESC= Simple local process manager
HYDRA_DESC= Parallel process manager
DEFAULTPM_DESC= Default process manager
DGFORKER_DESC= Make gforker the default process manager
DHYDRA_DESC= Make hydra the default process manager
CONFIGURE_ENV= ac_cv_header_level_zero_ze_api_h=no \
ac_cv_lib_ze_loader_zeInit=no
CONFIGURE_ARGS= --enable-fast="" --with-hwloc-prefix=${LOCALBASE} \
--with-libfabric=${LOCALBASE} \
pkgconfigdir="${PREFIX}/libdata/pkgconfig" \
MPICHLIB_CFLAGS="${CFLAGS}" \
CFLAGS="-I${LOCALBASE}/include/json-c" \
MPICHLIB_CPPFLAGS="${CPPFLAGS}" CPPFLAGS="" \
MPICHLIB_CXXFLAGS="${CXXFLAGS}" CXXFLAGS="" \
MPICHLIB_FFLAGS="${FFLAGS}" FFLAGS="" \
MPICHLIB_FCFLAGS="${FCFLAGS}" FCFLAGS="" \
MPICHLIB_LDFLAGS="${LDFLAGS}" LDFLAGS="" \
MPICHLIB_LIBS="${LIBS}" \
LIBS="-L${LOCALBASE}/lib -lepoll-shim -ljson-c -lm" \
BASH_SHELL=${LOCALBASE}/bin/bash
CFLAGS_powerpc64= -D__BIG_ENDIAN
.include <bsd.port.options.mk>
.for pm in ${OPTIONS_GROUP_PM}
. if ${PORT_OPTIONS:M${pm}}
. if empty(PMLIST)
PMLIST= ${pm:tl}
. elif ${PORT_OPTIONS:MD${pm}}
PMLIST:= ${pm:tl},${PMLIST}
. else
PMLIST:= ${PMLIST},${pm:tl}
. endif
. endif
.endfor
.if empty(PMLIST)
CONFIGURE_ARGS+=--without-pm
PLIST_SUB+= EXEC="@comment " EXECGFORKER="@comment "
.else
CONFIGURE_ARGS+=--with-pm=${PMLIST}
PLIST_SUB+= EXEC=""
.if ${PMLIST:M*,gforker*}
PLIST_SUB+= EXECGFORKER=""
.else
PLIST_SUB+= EXECGFORKER="@comment "
.endif
.endif
post-patch:
${RM} -r ${WRKSRC}/www
.include <bsd.port.mk>
|