summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--config/ia64-linux-gnu16
1 files changed, 15 insertions, 1 deletions
diff --git a/config/ia64-linux-gnu b/config/ia64-linux-gnu
index 11cfacb..f22bf21 100644
--- a/config/ia64-linux-gnu
+++ b/config/ia64-linux-gnu
@@ -137,5 +137,19 @@ case $CXX_BASENAME in
PROFILE_CPPFLAGS=
;;
esac
-
+# 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