hdf5/config/dec-flags
Elena Pourmal 0a965d2236 [svn-r9154]
Purpose: Maintenance/bug fixes (OSF1 C++ and missing Fortran APIs)

Description: bringing 1.6 changes to 1.7

Solution:

Platforms tested: OSF1, Solaris 2.8, AIX5.1

Misc. update:
2004-08-24 22:44:59 -05:00

153 lines
3.4 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 -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 -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
if test -z "$CXX"; then
CXX=cxx
CXX_BASENAME=cxx
fi
case $CXX_BASENAME in
g++)
CXXFLAGS="$CXXFLAGS -Wsign-compare" #Only works for some versions
DEBUG_CXXFLAGS="-g -fverbose-asm"
DEBUG_CPPFLAGS=
PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
PROD_CPPFLAGS=
PROFILE_CXXFLAGS="-pg"
PROFILE_CPPFLAGS=
;;
*)
CXXFLAGS="$CXXFLAGS -tlocal -D__USE_STD_IOSTREAM"
DEBUG_CXXFLAGS="-g"
DEBUG_CPPFLAGS=
PROD_CXXFLAGS="-O"
PROD_CPPFLAGS=
PROFILE_CXXFLAGS="-pg"
PROFILE_CPPFLAGS=
;;
esac