diff options
Diffstat (limited to 'config/mpich')
-rw-r--r-- | config/mpich | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/config/mpich b/config/mpich new file mode 100644 index 0000000..3e63e56 --- /dev/null +++ b/config/mpich @@ -0,0 +1,42 @@ +# -*- shell-script -*- +# +# Copyright by the Board of Trustees of the University of Illinois. +# All rights reserved. +# +# This file is part of HDF5. The full HDF5 copyright notice, including +# terms governing use, modification, and redistribution, is contained in +# the files COPYING and Copyright.html. COPYING can be found at the root +# of the source code distribution tree; Copyright.html can be found at the +# root level of an installed copy of the electronic HDF5 document set and +# is linked from the top-level documents page. It can also be found at +# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have +# access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. + +# This file should be sourced into configure if the compiler is the +# MPICH compiler script. It is careful not to do anything if the compiler +# is not MPICH. + +# Check if mpicc can support complicated derived datatype correctly. +# We know that mpich 1.2.4 and 1.2.5 do not support it correctly. We assume +# older versions do not work either. We don't know of a way of testing its +# correctness without the risk of hanging the configure process. So, we +# set the configure variable hdf5_mpi_complex_derived_datatype_works to no. +# Notice that this code works only if the mpicc compiler shows its $MPIVERSION +# properly. It is confirmed mpicc does that as far back as v1.2.3. + +if [ -z "$hdf5_mpi_complex_derived_datatype_works" ]; then + ccversion=`$CC -v 2>/dev/null` + # mpich compiler will give "mpicc for 1.2.x ..." + if echo "$ccversion" | grep '^mpicc for' > /dev/null ; then + # $CC is an MPICH compiler. Grab the version numbers. + ccversion=`echo $ccversion | cut -f3 -d' '` + case "$ccversion" in + 1.2.[0-5]*) + hdf5_mpi_complex_derived_datatype_works='no' + ;; + *) + # assume okay + ;; + esac + fi +fi |