summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/linux-gnulibc117
1 files changed, 17 insertions, 0 deletions
diff --git a/config/linux-gnulibc1 b/config/linux-gnulibc1
index 49054a1..454a829 100644
--- a/config/linux-gnulibc1
+++ b/config/linux-gnulibc1
@@ -112,3 +112,20 @@ if test -z "$CXX"; then
CXX=g++
CXX_BASENAME=g++
fi
+
+# We know that for mpich 1.2.5 and previous version, complicated derived datatype is
+# supported, we need to set the macro to hdf5_mpi_complex_derived_datatype_works to no.
+# Notice that this fix will only work if the compiler name is mpicc and mpi package is
+# mpich 1.x.x.
+
+if [ -z "$hdf5_mpi_complex_derived_datatype_works" -a $CC_BASENAME = mpicc ]; then
+ ccversion=`$CC -v 2>&1 | sed -e 's/.*for //p'`
+ ccversion1=`echo $ccversion | cut -f1 -d.`
+ ccversion2=`echo $ccversion | cut -f2 -d.`
+ ccversiontemp=`echo $ccversion | cut -f3 -d.`
+ ccversion3=`echo $ccversiontemp | cut -c1`
+ ccversionval=`expr $ccversion1 \* 100 + $ccversion2 \* 10 + $ccversion3`
+ if [ $ccversionval -lt 126 ]; then
+ hdf5_mpi_complex_derived_datatype_works='no'
+ fi
+fi