mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
25df1908bc
Automake version upgrade Description: Upgraded automake version from 1.6.2 to 1.9.5. Changed bin/reconfigure script to use automake 1.9.5. Changed configure.in and Makefiles to use new FCFLAGS and FC variables instead of FFLAGS and F9X. Automake and configure should now do the lion's share of the work supporting Fortran 9X; macros in acsite.m4 are now mostly unused (will be cleaned later). Altered how configure handles pmake; now root-level Makefile.in is processed by bin/reconfigure to have a .MAKEFLAGS target, since automake no longer allows us to define unused variables. Configure now always checks for C++ compiler even if it is not used, since automake thinks this is the Right Thing To Do and will break otherwise. Platforms tested: Sol, copper, heping, mir, sleipnir, eirene, pommier, kelgia, modi4.
154 lines
3.4 KiB
Bash
154 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="-c99 -verbose -warnprotos -ieee -misalign -O4 -fp_reorder -readonly_strings -inline speed"
|
|
PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"
|
|
|
|
# Debug
|
|
DEBUG_CFLAGS="-g -c99 -verbose -warnprotos -ieee -misalign"
|
|
DEBUG_CPPFLAGS=
|
|
|
|
# Profile
|
|
PROFILE_CFLAGS="-pg -c99 -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
|
|
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_LARGE)'
|
|
OBJECT_NAMELEN_DEFAULT_F=-1
|
|
|
|
if test "X-" = "X-$FC"; then
|
|
FC=f90
|
|
fi
|
|
|
|
if test "X-" = "X-$f9x_flags_set"; then
|
|
F9XSUFFIXFLAG=""
|
|
FSEARCH_DIRS=""
|
|
FCFLAGS="$FCFLAGS -Olimit 2048 -std1"
|
|
DEBUG_FCFLAGS="-Olimit 2048 -std1"
|
|
PROD_FCFLAGS="-Olimit 2048 -std1"
|
|
PROFILE_FCFLAGS="-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
|
|
|