blob: 8d5c05111b375bd4cf7c20ba843f8eef5d545b81 (
plain)
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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
|
# -*- shell-script -*-
#
# This file is part of the HDF5 build script. It is processed shortly
# after configure starts and defines, among other things, flags for
# the various compile modes.
#
# See BlankForm in this directory for details.
# The default compiler is `gcc'.
if test -z "$CC"; then
CC=gcc
CC_BASENAME=gcc
fi
# Figure out GNU C compiler flags
. $srcdir/config/gnu-flags
# Figure out PGI C compiler flags
. $srcdir/config/pgi-flags
# Figure out Intel C compiler flags
. $srcdir/config/intel-flags
# The default Fortran 90 compiler
if test "X-" = "X-$FC"; then
case $CC_BASENAME in
gcc*|pgcc*)
FC=pgf90
FC_BASENAME=pgf90
;;
icc*)
FC=ifort
FC_BASENAME=ifort
;;
mpicc*)
FC=mpif90
FC_BASENAME=mpif90
;;
esac
else
case $FC in
# The PGI and Intel compilers are automatically detected below
ifc*|ifort*|pgf90*)
;;
*)
# Figure out which compiler we are using: pgf90 or Absoft f95
RM='rm -f'
tmpfile=/tmp/cmpver.$$
$FC -V >$tmpfile
if test -s "$tmpfile"; then
if( grep -s 'Absoft' $tmpfile > /dev/null) then
FC_BASENAME=f95
fi
if( grep -s 'pgf90' $tmpfile > /dev/null) then
FC_BASENAME=pgf90
fi
fi
$RM $tmpfile
;;
esac
fi
# Figure out PGI F90 compiler flags
. $srcdir/config/pgi-fflags
# Figure out Intel F90 compiler flags
. $srcdir/config/intel-fflags
case $FC_BASENAME in
#
# Absoft compiler
#
f95)
# Set required flag for compiling C stubs
CFLAGS="$CFLAGS -DH5_ABSOFT"
F9XSUFFIXFLAG=""
# We force compiler to use upper case for external names
# (just in case since this should be a default EIP)
FCFLAGS="$FCFLAGS -YEXT_NAMES=UCS"
FSEARCH_DIRS=""
DEBUG_FCFLAGS="-g"
PROD_FCFLAGS="-O"
PROFILE_FCFLAGS="-g -pg"
f9x_flags_set=yes
;;
esac
# The default C++ compiler
# The default compiler is `g++'.
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 -o $CC_BASENAME = mpiicc \) ]; 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
|