1 | #!/bin/bash
|
---|
2 | #
|
---|
3 | # Creates a local MS-MPI directory to be used for supplying header and library
|
---|
4 | # paths to ISSM configuration as well as the configuration of certain external
|
---|
5 | # packages.
|
---|
6 | #
|
---|
7 | # Local MS-MPI include and library paths are made available as environment
|
---|
8 | # variables LOCAL_MSMPI_INC and LOCAL_MSMPI_LIB, respectively (script can be
|
---|
9 | # sourced again).
|
---|
10 | #
|
---|
11 | # Paths may need to be modified in the future if Microsoft changes the
|
---|
12 | # directory structure and/or file naming in the MS-MPI package. Paths are
|
---|
13 | # based on Microsoft MPI v10.0,
|
---|
14 | # https://www.microsoft.com/en-us/download/details.aspx?id=57467
|
---|
15 | #
|
---|
16 | LOCAL_MSMPI_ROOT="${ISSM_DIR}/MSMPI"
|
---|
17 | LOCAL_MSMPI_INC="${LOCAL_MSMPI_ROOT}/include"
|
---|
18 | LOCAL_MSMPI_LIB="${LOCAL_MSMPI_ROOT}/lib"
|
---|
19 | MSMPI_RUNTIME_LIB="/c/Windows/System32/msmpi.dll"
|
---|
20 | MSMPI_INC="/c/PROGRA~2/MICROS~2/MPI/Include"
|
---|
21 | MSMPI_LIB="${ISSM_DIR}/externalpackages/windows/MSMPI/lib"
|
---|
22 |
|
---|
23 | cd ${ISSM_DIR}
|
---|
24 |
|
---|
25 | if [ -d ${LOCAL_MSMPI_ROOT} ]; then
|
---|
26 | echo "'${LOCAL_MSMPI_ROOT}' already exists!"
|
---|
27 | echo "If you need to recreate local MS-MPI directory, remove '${LOCAL_MSMPI_ROOT}' and rerun this script."
|
---|
28 | else
|
---|
29 | mkdir ${LOCAL_MSMPI_ROOT} ${LOCAL_MSMPI_INC} ${LOCAL_MSMPI_LIB}
|
---|
30 |
|
---|
31 | # Make SVN ignore local MS-MPI directory so that we do not accidentally
|
---|
32 | # commit it
|
---|
33 | svn propset svn:ignore ${LOCAL_MSMPI_ROOT} . &>/dev/null
|
---|
34 |
|
---|
35 | # Copy MS-MPI header files
|
---|
36 | cp $MSMPI_INC/mpi.h ${LOCAL_MSMPI_INC}
|
---|
37 | cp $MSMPI_INC/mpi.f90 ${LOCAL_MSMPI_INC}
|
---|
38 | cp $MSMPI_INC/mpif.h ${LOCAL_MSMPI_INC}
|
---|
39 | cp $MSMPI_INC/mpio.h ${LOCAL_MSMPI_INC}
|
---|
40 | cp $MSMPI_INC/x64/mpifptr.h ${LOCAL_MSMPI_INC}
|
---|
41 |
|
---|
42 | # Copy MS-MPI libraries
|
---|
43 | cp ${MSMPI_RUNTIME_LIB} ${LOCAL_MSMPI_LIB}
|
---|
44 |
|
---|
45 | cd ${LOCAL_MSMPI_LIB}
|
---|
46 |
|
---|
47 | # Create link to runtime library with MSYS prefix
|
---|
48 | ln -s ./msmpi.dll ./msys-msmpi.dll
|
---|
49 |
|
---|
50 | # Create link to runtime library with lib prefix
|
---|
51 | ln -s ./msmpi.dll ./libmsmpi.dll
|
---|
52 | fi
|
---|