Lines 32-38
Link Here
|
32 |
|
32 |
|
33 |
pkg_setup() { |
33 |
pkg_setup() { |
34 |
if use mpi-threads && ! use threads; then |
34 |
if use mpi-threads && ! use threads; then |
35 |
ewarn "mpi-threads requires threads, assuming that's what you want" |
35 |
eerror "mpi-threads requires threads, assuming that's what you want" |
36 |
fi |
36 |
fi |
37 |
} |
37 |
} |
38 |
|
38 |
|
Lines 42-58
Link Here
|
42 |
sed -i \ |
42 |
sed -i \ |
43 |
-e "s,@MPIEXEC@,${S}/src/pm/hydra/mpiexec.hydra,g" \ |
43 |
-e "s,@MPIEXEC@,${S}/src/pm/hydra/mpiexec.hydra,g" \ |
44 |
$(find ./test/ -name 'Makefile.in') || die |
44 |
$(find ./test/ -name 'Makefile.in') || die |
45 |
|
|
|
46 |
# #293665 |
47 |
# We could use MPICH2LIB_XFLAGS here and unset the cooresponding ones |
48 |
# in the environment, however that's messy and doesn't for for LDFLAGS. |
49 |
sed -i \ |
50 |
-e 's,\(.*=\ *\)"@WRAPPER_[A-Z]*FLAGS@",\1"",' \ |
51 |
src/env/*.conf.in || die |
52 |
} |
45 |
} |
53 |
|
46 |
|
54 |
src_configure() { |
47 |
src_configure() { |
55 |
local c="--enable-shared --enable-sharedlibs=gcc" |
48 |
local c="--enable-shared" |
56 |
local romio_conf |
49 |
local romio_conf |
57 |
|
50 |
|
58 |
# The configure statements can be somewhat confusing, as they |
51 |
# The configure statements can be somewhat confusing, as they |
Lines 61-85
Link Here
|
61 |
|
54 |
|
62 |
use debug && c="${c} --enable-g=dbg --enable-debuginfo" |
55 |
use debug && c="${c} --enable-g=dbg --enable-debuginfo" |
63 |
|
56 |
|
64 |
if use mpi-threads; then |
57 |
if ! use mpi-threads; then |
65 |
# MPI-THREAD requries threading. |
58 |
if ! use threads ; then |
66 |
c="${c} --with-thread-package=pthreads" |
59 |
c="${c} --with-thread-package=none" |
67 |
c="${c} --enable-threads=runtime" |
60 |
fi |
68 |
else |
61 |
c="${c} --enable-threads=single" |
69 |
if use threads ; then |
|
|
70 |
c="${c} --with-thread-package=pthreads" |
71 |
else |
72 |
c="${c} --with-thread-package=none" |
73 |
fi |
74 |
c="${c} --enable-threads=single" |
75 |
fi |
62 |
fi |
76 |
|
63 |
|
77 |
# enable f90 support for appropriate compilers |
64 |
# enable f90 support for appropriate compilers |
78 |
case "$(tc-getFC)" in |
65 |
case "$(tc-getFC)" in |
79 |
gfortran|if*) |
|
|
80 |
c="${c} --enable-f77 --enable-fc";; |
81 |
g77) |
66 |
g77) |
82 |
c="${c} --enable-f77 --disable-fc";; |
67 |
c="${c} --disable-fc";; |
83 |
esac |
68 |
esac |
84 |
|
69 |
|
85 |
c="${c} --sysconfdir=/etc/${PN}" |
70 |
c="${c} --sysconfdir=/etc/${PN}" |
Lines 103-113
Link Here
|
103 |
} |
88 |
} |
104 |
|
89 |
|
105 |
src_test() { |
90 |
src_test() { |
106 |
if ! use romio; then |
|
|
107 |
# These tests in errhan/ rely on MPI::File ...which is in romio |
108 |
echo "" > test/mpi/errors/cxx/errhan/testlist |
109 |
fi |
110 |
|
111 |
# See #362655 and comments in the testlist files. |
91 |
# See #362655 and comments in the testlist files. |
112 |
# large_message: only on machines with > 8gb of ram |
92 |
# large_message: only on machines with > 8gb of ram |
113 |
# bcastlength: This is an extension to MPI that's not necessary |
93 |
# bcastlength: This is an extension to MPI that's not necessary |
Lines 117-129
Link Here
|
117 |
sed -i '/^[# ]*bcastlength/d' test/mpi/errors/coll/testlist || die |
97 |
sed -i '/^[# ]*bcastlength/d' test/mpi/errors/coll/testlist || die |
118 |
sed -i '/^[# ]*non_zero_root/d' test/mpi/perf/testlist || die |
98 |
sed -i '/^[# ]*non_zero_root/d' test/mpi/perf/testlist || die |
119 |
|
99 |
|
120 |
if use debug; then |
|
|
121 |
# http://bugs.gentoo.org/show_bug.cgi?id=362655#c8 |
122 |
sed -i '/^[# ]*scancel/d' test/mpi/pt2pt/testlist || die |
123 |
sed -i '/^[# ]*pscancel/d' test/mpi/pt2pt/testlist || die |
124 |
sed -i '/^[# ]*cancelrecv/d' test/mpi/pt2pt/testlist || die |
125 |
fi |
126 |
|
127 |
emake -j1 \ |
100 |
emake -j1 \ |
128 |
CC="${S}"/bin/mpicc \ |
101 |
CC="${S}"/bin/mpicc \ |
129 |
CXX="${S}"/bin/mpicxx \ |
102 |
CXX="${S}"/bin/mpicxx \ |