hdf5/config/dec-flags
Quincey Koziol 5be9d3a22c [svn-r7880] Purpose:
Update DEC compiler support

Description:
    Updated DEC/Compaq compiler detection to handle DEC->Compaq switchover
in compiler version string.

    Also, copied v5.x compiler flags to V6.x compiler flags and included the
-ieee and -misalign flags necessary for correct floating-point support.

Platforms tested:
    Pittsburgh Alpha Cluster (lemieux.psc.edu)
2003-11-25 14:24:13 -05:00

125 lines
2.9 KiB
Bash

# -*- shell-script -*-
#
# This file should be sourced into configure if the compiler is a DEC
# compiler. It is careful not to do anything if the compiler is not
# DEC; otherwise `cc_flags_set' is set to `yes'
#
# Get the compiler version unless it's already known.
#
# cc_vendor: The compiler vendor: DEC
# cc_version: Version number, like: V5.2-038
#
if test X = "X$cc_flags_set"; then
cc_vendor=DEC
cc_version="`$CC $CFLAGS -V 2>&1 |head -1`"
case "$cc_version" in
DEC*)
cc_version="`echo $cc_version |\
sed 's/.*DEC C \(V[0-9][-\.0-9]*\).*/\1/'`"
;;
Compaq*)
cc_version="`echo $cc_version |\
sed 's/.*Compaq C \(V[0-9][-\.0-9]*\).*/\1/'`"
;;
esac
if test X != "$gcc_version"; then
echo "compiler '$CC' is $cc_vendor-$cc_version"
else
cc_vendor=
fi
fi
# Warn about old compilers that don't work right.
case "$cc_vendor-$cc_version" in
DEC-V5.2-038)
cat <<EOF
**
** This compiler may generate incorrect code when optimizations are
** enabled. Please upgrade to a newer version (we're not sure which
** version actually works) before reporting bugs to the HDF5 team.
**
EOF
sleep 5
;;
esac
# Compiler flags
case "$cc_vendor-$cc_version" in
DEC-V5.*)
# Production
PROD_CFLAGS="-std -verbose -warnprotos -ieee -misalign -O4 $ARCH -ansi_args -fp_reorder -readonly_strings -inline speed"
PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"
# Debug
DEBUG_CFLAGS="-g -std -verbose -warnprotos -ieee -misalign"
DEBUG_CPPFLAGS=
# Profile
PROFILE_CFLAGS="-pg -std -verbose -warnprotos -ieee -misalign"
PROFILE_CPPFLAGS=
# Flags are set
cc_flags_set=yes
;;
DEC-V6.*)
# Production
PROD_CFLAGS="-std1 -verbose -warnprotos -ieee -misalign -O4 $ARCH -fp_reorder -readonly_strings -inline speed"
PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"
# Debug
DEBUG_CFLAGS="-g -std1 -verbose -warnprotos -ieee -misalign"
DEBUG_CPPFLAGS=
# Profile
PROFILE_CFLAGS="-pg -std1 -verbose -warnprotos -ieee -misalign"
PROFILE_CPPFLAGS=
# Flags are set
cc_flags_set=yes
;;
esac
# If no flags were set then clear the compiler vendor and version info.
if test X = "X$cc_flags_set"; then
cc_vendor=
cc_version=
fi
# The default Fortran 90 compiler
#
# 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 Digital UNIX 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_LARGE)'
OBJECT_NAMELEN_DEFAULT_F=-1
if test "X-" = "X-$F9X"; then
F9X=f90
fi
if test "X-" = "X-$f9x_flags_set"; then
F9XSUFFIXFLAG=""
FSEARCH_DIRS=""
FFLAGS="$FFLAGS -Olimit 2048 -std1"
DEBUG_FFLAGS="-Olimit 2048 -std1"
PROD_FFLAGS="-Olimit 2048 -std1"
PROFILE_FFLAGS="-Olimit 2048 -std1"
f9x_flags_set=yes
fi
# The default C++ compiler