hdf5/config/linux-gnulibc1
Quincey Koziol 6af5973295 [svn-r9404] Purpose:
Code cleanup

Description:
    Default to using mpif90 if CC=mpicc and --enable-fortran flag is given,
but no F9X compiler is set.

Platforms tested:
    Linux 2.4 (verbena)
    Too minor to require h5committest
2004-10-12 11:04:14 -05:00

106 lines
2.3 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 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-$F9X"; then
case $CC_BASENAME in
gcc*|pgcc*)
F9X=pgf90
F9X_BASENAME=pgf90
;;
icc*)
F9X=ifort
F9X_BASENAME=ifort
;;
mpicc*)
F9X=mpif90
F9X_BASENAME=mpif90
;;
esac
else
# Figure out which compiler we are using: pgf90 or Absoft f95
RM='rm -f'
tmpfile=/tmp/cmpver.$$
$F9X -V >$tmpfile
if test -s "$tmpfile"; then
if( grep -s 'Absoft' $tmpfile > /dev/null) then
F9X_BASENAME=f95
fi
if( grep -s 'pgf90' $tmpfile > /dev/null) then
F9X_BASENAME=pgf90
fi
fi
$RM $tmpfile
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
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 $F9X_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)
FFLAGS="$FFLAGS -YEXT_NAMES=UCS"
FSEARCH_DIRS=""
DEBUG_FFLAGS="-g"
PROD_FFLAGS="-O"
PROFILE_FFLAGS="-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