hdf5/config/linux-gnulibc1
Leon Arber 1b6406124a [svn-r11405] Purpose:
Bug fix

Description:
A whole chunk of this file somehow got deleted and the heavily reduced
file was accidentally checked in.  This is the complete version of the file, with the
mpiicc fix.

Solution:

Platforms tested:

Misc. update:
2005-09-12 23:14:23 -05:00

132 lines
3.4 KiB
Bash

# -*- 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
#
# HDF5 integers
#
# R_LARGE is the number of digits for the bigest integer supported.
# R_INTEGER is the number of digits in INTEGER
#
# (for the Linux architechture)
#
R_LARGE=18
R_INTEGER=9
HADDR_T='SELECTED_INT_KIND(R_LARGE)'
HSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HSSIZE_T='SELECTED_INT_KIND(R_LARGE)'
HID_T='SELECTED_INT_KIND(R_INTEGER)'
SIZE_T='SELECTED_INT_KIND(R_INTEGER)'
OBJECT_NAMELEN_DEFAULT_F=-1
# 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