/
refine.sh
executable file
·89 lines (67 loc) · 1.82 KB
/
refine.sh
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
#! /bin/bash -xue
PACKAGE='refine'
VERSION="$(git describe --always --tag | tr -d '\n')"
. ./test-module-string.sh
VERSION="$(module-string ${VERSION})"
if [ $# -gt 0 ] ; then
. common.sh $1
else
. common.sh
fi
TOPDIR='../../..'
echo Build ${PACKAGE} ${VERSION}
module purge
module load ${INTEL_MODULE}
module list
( cd ${TOPDIR} && ./bootstrap )
rm -rf _build_$VERSION
mkdir -p _build_$VERSION
cd _build_$VERSION
../${TOPDIR}/configure \
--prefix=${MODULE_DEST} \
--with-mpi=${MPT_WITH} \
--with-metis=${PARMETIS_WITH} \
--with-parmetis=${PARMETIS_WITH} \
--with-EGADS=${EGADS_WITH} \
--with-OpenCASCADE=${OCC_WITH} \
CFLAGS='-g -O2' \
LDFLAGS=-Wl,--disable-new-dtags
# --disable-new-dtags sets RPATH (recursive) instead of default RUNPATH for
# EGADS OpenCASCADE deps
make -j 12
make install
echo Copy build log
cp config.log ${MODULE_DEST}/.
echo Copy and make exec test util
cp src/*_test ${MODULE_DEST}/bin
chmod g+x ${MODULE_DEST}/bin/*_test
echo Make modulefile
mkdir -p ${MODFILE_BASE}
cat > ${MODFILE_DEST} << EOF
#%Module#
proc ModulesHelp { } { puts stderr "$PACKAGE $VERSION" }
set sys [uname sysname]
set modname [module-info name]
set modmode [module-info mode]
set base $MODULE_BASE
set version $VERSION
set logr "/bin"
if { \$modmode == "switch1" } {
set modmode "switchfrom"
}
if { \$modmode == "switch2" } {
set modmode "switchto"
}
if { \$modmode != "switch3" } {
system "\$logr/logger -p local2.info envmodule \$modmode \$modname"
}
prepend-path PATH \$base/\$version/bin
setenv MPI_ADJUST_ALLREDUCE 1
EOF
echo Set group ownership and permssions
chgrp -R ${GROUP} ${MODULE_DEST}
chmod -R g+rX ${MODULE_DEST}
chmod -R g-w,o-rwx ${MODULE_DEST}
chgrp -R ${GROUP} ${MODFILE_DEST}
chmod -R g+rX ${MODFILE_DEST}
chmod -R g-w,o-rwx ${MODFILE_DEST}