[svn-r9385] *** empty log message ***

This commit is contained in:
Quincey Koziol 2004-10-08 21:39:07 -05:00
parent bf4f24a497
commit 951d6d826a
9 changed files with 457 additions and 138 deletions

View File

@ -11,16 +11,10 @@ if test "X-" = "X-$CC"; then
CC_BASENAME=gcc
fi
# Architecture-specific flags
ARCH=
# Add "_POSIX_C_SOURCE" define to cpp flags, to quiet warnings
# from /usr/include/sys/cdefs.h
CPPFLAGS="$CPPFLAGS -D_POSIX_C_SOURCE=1"
# Omit frame pointer for optimized code?
NOFP=${NOFP:=-fomit-frame-pointer}
# Figure out compiler flags
. $srcdir/config/gnu-flags

View File

@ -89,42 +89,46 @@ EOF
fi
arch=
# Architecture-specific flags
case "$host_os-$host_cpu" in
# FreeBSD sets the information from "uname -m" to the general machine
# architecture, not the specific CPU for the machine, so even our
# Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD
# machine, use the "sysctl" command to get the CPU hardware model.
freebsd*-i386)
host_cpu_model=`sysctl -n hw.model`
case "$host_cpu_model" in
# Hmm.. this might not catch Celerons, but it won't hurt them either...
*Pro*|*II*|*III*|*IV*|*Athlon*)
arch="-march=i686"
;;
esac
;;
*-i686)
arch="-march=i686"
;;
esac
# Host-specific flags
case "`hostname`" in
sleipnir.ncsa.uiuc.edu)
arch="$arch -pipe"
;;
esac
# Common GCC flags for various situations
case "$cc_vendor-$cc_version" in
gcc*|egcs*|pgcc*)
# Architecture-specific flags
arch=
case "$host_os-$host_cpu" in
# FreeBSD sets the information from "uname -m" to the general machine
# architecture, not the specific CPU for the machine, so even our
# Pentium II Xeon server is set to "i386". Once we know we are on a FreeBSD
# machine, use the "sysctl" command to get the CPU hardware model.
freebsd*-i386)
host_cpu_model=`sysctl -n hw.model`
case "$host_cpu_model" in
# Hmm.. this might not catch Celerons, but it won't hurt them either...
*Pro*|*II*|*III*|*IV*|*Athlon*)
arch="-march=i686"
;;
esac
;;
*-i686)
arch="-march=i686"
;;
esac
# Host-specific flags
case "`hostname`" in
sleipnir.ncsa.uiuc.edu)
arch="$arch -pipe"
;;
esac
# General
CFLAGS="$CFLAGS $arch -ansi -pedantic -Wall -W -Wundef -Wshadow -Wpointer-arith -Wbad-function-cast -Wcast-qual -Wcast-align -Wwrite-strings -Wconversion -Wsign-compare -Waggregate-return -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wredundant-decls -Wnested-externs -Winline"
# Production
# Omit frame pointer for optimized code?
NOFP=${NOFP:=-fomit-frame-pointer}
case "$cc_vendor-$cc_version" in
gcc-2.95.[34])
PROD_CFLAGS="-O3 $NOFP"
@ -157,6 +161,9 @@ case "$cc_vendor-$cc_version" in
# Profile
PROFILE_CFLAGS="-g -pg"
PROFILE_CPPFLAGS=
# Flags are set
cc_flags_set=yes
;;
esac
@ -190,9 +197,6 @@ case "$cc_vendor-$cc_version" in
# Append more extra warning flags that only gcc3.4+ know about
CFLAGS="$CFLAGS -Wdeclaration-after-statement -Wold-style-definition -Winvalid-pch"
# Flags are set
cc_flags_set=yes
;;
gcc-3.3*)
@ -217,9 +221,6 @@ case "$cc_vendor-$cc_version" in
# Append more extra warning flags that only gcc3.3+ know about
CFLAGS="$CFLAGS -Wendif-labels"
# Flags are set
cc_flags_set=yes
;;
gcc-3.2*)
@ -241,9 +242,6 @@ case "$cc_vendor-$cc_version" in
# The "unreachable code" warning does not appear to be reliable yet...
#CFLAGS="$CFLAGS -Wunreachable-code"
# Flags are set
cc_flags_set=yes
;;
gcc-3*)
@ -255,17 +253,11 @@ case "$cc_vendor-$cc_version" in
# Append some extra warning flags that only gcc3+ know about
CFLAGS="$CFLAGS -Wfloat-equal -Wmissing-format-attribute -Wpadded"
# Flags are set
cc_flags_set=yes
;;
gcc-2.9[56]*)
# Disable warnings about using 'long long' type
CFLAGS="$CFLAGS -Wno-long-long"
# Flags are set
cc_flags_set=yes
;;
esac

View File

@ -13,8 +13,5 @@ if test "X-" = "X-$CC"; then
LD=ld
fi
# Omit frame pointer for optimized code?
NOFP=${NOFP:=-fomit-frame-pointer}
# Figure out compiler flags
. $srcdir/config/gnu-flags

86
config/intel-fflags Normal file
View File

@ -0,0 +1,86 @@
# -*- shell-script -*-
#
# This file should be sourced into configure if the compiler is the
# Intel ifort compiler or a derivative. It is careful not to do anything
# if the compiler is not Intel; otherwise `f9x_flags_set' is set to `yes'
#
# Get the compiler version in a way that works for ifort
# ifort unless a compiler version is already known
#
# f9x_vendor: The compiler name: ifort
# f9x_version: Version number: 8.0
#
if test X = "X$f9x_flags_set"; then
f9x_version="`$F9X $FFLAGS -V 2>&1 |grep '^Intel'`"
if test X != "X$f9x_version"; then
f9x_vendor=ifort
f9x_version="`$F9X $FFLAGS -v 2>&1 |sed 's/Version \([-a-z0-9\.\-]*\).*/\1/'`"
echo "compiler '$F9X' is Intel $f9x_vendor-$f9x_version"
# Some version numbers
# Intel version numbers are of the form: "major.minor"
f9x_vers_major=`echo $f9x_version | cut -f1 -d.`
f9x_vers_minor=`echo $f9x_version | cut -f2 -d.`
#f9x_vers_patch=`echo $f9x_version | cut -f2 -d.`
test -n "$f9x_vers_major" || f9x_vers_major=0
test -n "$f9x_vers_minor" || f9x_vers_minor=0
test -n "$f9x_vers_patch" || f9x_vers_patch=0
f9x_vers_all=`expr $f9x_vers_major '*' 1000000 + $f9x_vers_minor '*' 1000 + $f9x_vers_patch`
fi
fi
# Common Intel flags for various situations
if test "X-ifort" = "X-$f9x_vendor"; then
# Insert section about version specific problems from gnu-flags here, if
# necessary.
arch=
# Architecture-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "$host_os-$host_cpu" in
# *-i686)
# arch="-march=i686"
# ;;
#esac
# Host-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "`hostname`" in
# sleipnir.ncsa.uiuc.edu)
# arch="$arch -pipe"
# ;;
#esac
# General
F9X_BASENAME=ifort
F9XSUFFIXFLAG=""
FSEARCH_DIRS=""
FFLAGS="$FFLAGS"
# Production
# Omit frame pointer for optimized code?
#NOFP=${NOFP:=-Mnoframe}
#PROD_FFLAGS="-O3 $NOFP"
PROD_FFLAGS="-O3"
# Debug
DEBUG_FFLAGS="-g -check all"
# Profile
# Use this for profiling with gprof
PROFILE_FFLAGS="-g -p"
# Flags are set
f9x_flags_set=yes
fi
# Clear f9x info if no flags set
if test "X-$f9x_flags_set" = "X-"; then
f9x_vendor=
f9x_version=
fi

86
config/intel-flags Normal file
View File

@ -0,0 +1,86 @@
# -*- shell-script -*-
#
# This file should be sourced into configure if the compiler is the
# Intel icc compiler or a derivative. It is careful not to do anything
# if the compiler is not Intel; otherwise `cc_flags_set' is set to `yes'
#
# Get the compiler version in a way that works for icc
# icc unless a compiler version is already known
#
# cc_vendor: The compiler name: icc
# cc_version: Version number: 8.0
#
if test X = "X$cc_flags_set"; then
cc_version="`$CC $CFLAGS -V 2>&1 |grep '^Intel'`"
if test X != "X$cc_version"; then
cc_vendor=icc
cc_version="`$CC $CFLAGS --version 2>&1`"
echo "compiler '$CC' is Intel $cc_vendor-$cc_version"
# Some version numbers
# Intel version numbers are of the form: "major.minor"
cc_vers_major=`echo $cc_version | cut -f1 -d.`
cc_vers_minor=`echo $cc_version | cut -f2 -d.`
#cc_vers_patch=`echo $cc_version | cut -f2 -d.`
test -n "$cc_vers_major" || cc_vers_major=0
test -n "$cc_vers_minor" || cc_vers_minor=0
test -n "$cc_vers_patch" || cc_vers_patch=0
cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch`
fi
fi
# Common Intel flags for various situations
if test "X-icc" = "X-$cc_vendor"; then
# Insert section about version specific problems from gnu-flags here, if
# necessary.
arch=
# Architecture-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "$host_os-$host_cpu" in
# *-i686)
# arch="-march=i686"
# ;;
#esac
# Host-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "`hostname`" in
# sleipnir.ncsa.uiuc.edu)
# arch="$arch -pipe"
# ;;
#esac
# General
CFLAGS="$CFLAGS $arch -Wall -Wcheck"
# Production
# Omit frame pointer for optimized code?
#NOFP=${NOFP:=-Mnoframe}
#PROD_CFLAGS="-O3 $NOFP"
PROD_CFLAGS="-O3"
PROD_CPPFLAGS=
# Debug
DEBUG_CFLAGS="-g"
DEBUG_CPPFLAGS=
# Profile
# Use this for profiling with gprof
PROFILE_CFLAGS="-g -p"
PROFILE_CPPFLAGS=
# Flags are set
cc_flags_set=yes
fi
# Clear cc info if no flags set
if test "X-$cc_flags_set" = "X-"; then
cc_vendor=
cc_version=
fi

View File

@ -12,33 +12,42 @@ if test -z "$CC"; then
CC_BASENAME=gcc
fi
# Omit frame pointer for optimized code?
NOFP=${NOFP:=-fomit-frame-pointer}
# Figure out compiler flags
# Figure out GNU compiler flags
. $srcdir/config/gnu-flags
# Figure out PGI C compiler flags
. $srcdir/config/pgi-flags
# 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
CFLAGS="$CFLAGS -DH5_ABSOFT"
fi
if( grep -s 'pgf90' $tmpfile > /dev/null)
then
F9X_BASENAME=pgf90
fi
fi
$RM $tmpfile
# 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
;;
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
@ -56,38 +65,33 @@ 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
if test "X-" = "X-$F9X"; then
F9X=pgf90
F9X_BASENAME=pgf90
fi
# Figure out Intel F90 compiler flags
. $srcdir/config/intel-fflags
case $F9X_BASENAME in
pgf90)
F9XSUFFIXFLAG=""
FFLAGS="$FFLAGS"
FSEARCH_DIRS=""
DEBUG_FFLAGS=""
PROD_FFLAGS=""
PROFILE_FFLAGS=""
f9x_flags_set=yes
;;
#
# Assume Absoft compiler
#
#
# Absoft compiler
#
f95)
F9XSUFFIXFLAG=""
# 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="-O"
PROD_FFLAGS="-O"
PROFILE_FFLAGS="-O"
f9x_flags_set=yes
;;
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++'.

86
config/pgi-fflags Normal file
View File

@ -0,0 +1,86 @@
# -*- shell-script -*-
#
# This file should be sourced into configure if the compiler is the
# PGI pgf90 compiler or a derivative. It is careful not to do anything
# if the compiler is not PGI; otherwise `f9x_flags_set' is set to `yes'
#
# Get the compiler version in a way that works for pgf90
# pgf90 unless a compiler version is already known
#
# f9x_vendor: The compiler name: pgf90
# f9x_version: Version number: 5.0-2, 5.2-2
#
if test X = "X$f9x_flags_set"; then
f9x_version="`$F9X $FFLAGS -V 2>&1 |grep '^pgf90'`"
if test X != "X$f9x_version"; then
f9x_vendor=`echo $f9x_version |sed 's/\([a-z0-9]*\).*/\1/'`
f9x_version=`echo $f9x_version |sed 's/pgf90 \([-a-z0-9\.\-]*\).*/\1/'`
echo "compiler '$F9X' is PGI $f9x_vendor-$f9x_version"
# Some version numbers
# PGI version numbers are of the form: "major.minor-patch"
f9x_vers_major=`echo $f9x_version | cut -f1 -d.`
f9x_vers_minor=`echo $f9x_version | cut -f2 -d. | cut -f1 -d-`
f9x_vers_patch=`echo $f9x_version | cut -f2 -d. | cut -f2 -d-`
test -n "$f9x_vers_major" || f9x_vers_major=0
test -n "$f9x_vers_minor" || f9x_vers_minor=0
test -n "$f9x_vers_patch" || f9x_vers_patch=0
f9x_vers_all=`expr $f9x_vers_major '*' 1000000 + $f9x_vers_minor '*' 1000 + $f9x_vers_patch`
fi
fi
# Common PGI flags for various situations
if test "X-pgf90" = "X-$f9x_vendor"; then
# Insert section about version specific problems from gnu-flags here, if
# necessary.
arch=
# Architecture-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "$host_os-$host_cpu" in
# *-i686)
# arch="-march=i686"
# ;;
#esac
# Host-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "`hostname`" in
# sleipnir.ncsa.uiuc.edu)
# arch="$arch -pipe"
# ;;
#esac
# General
F9X_BASENAME=pgf90
F9XSUFFIXFLAG=""
FSEARCH_DIRS=""
FFLAGS="$FFLAGS -Mdclchk -Mstandard -Minform,warn"
# Production
# Omit frame pointer for optimized code?
NOFP=${NOFP:=-Mnoframe}
PROD_FFLAGS="-fast -s $NOFP"
# Debug
DEBUG_FFLAGS="-g -Mbounds -Mchkfpstk -Mchkptr"
# Profile
PROFILE_FFLAGS="-g -Mprof=func,line"
# Use this for profiling with gprof
#PROFILE_FFLAGS="-g -pg"
# Flags are set
f9x_flags_set=yes
fi
# Clear f9x info if no flags set
if test "X-$f9x_flags_set" = "X-"; then
f9x_vendor=
f9x_version=
fi

85
config/pgi-flags Normal file
View File

@ -0,0 +1,85 @@
# -*- shell-script -*-
#
# This file should be sourced into configure if the compiler is the
# PGI pgcc compiler or a derivative. It is careful not to do anything
# if the compiler is not PGI; otherwise `cc_flags_set' is set to `yes'
#
# Get the compiler version in a way that works for pgcc
# pgcc unless a compiler version is already known
#
# cc_vendor: The compiler name: pgcc
# cc_version: Version number: 5.0-2, 5.2-2
#
if test X = "X$cc_flags_set"; then
cc_version="`$CC $CFLAGS -V 2>&1 |grep '^pgcc'`"
if test X != "X$cc_version"; then
cc_vendor=`echo $cc_version |sed 's/\([a-z]*\).*/\1/'`
cc_version=`echo $cc_version |sed 's/pgcc \([-a-z0-9\.\-]*\).*/\1/'`
echo "compiler '$CC' is PGI $cc_vendor-$cc_version"
# Some version numbers
# PGI version numbers are of the form: "major.minor-patch"
cc_vers_major=`echo $cc_version | cut -f1 -d.`
cc_vers_minor=`echo $cc_version | cut -f2 -d. | cut -f1 -d-`
cc_vers_patch=`echo $cc_version | cut -f2 -d. | cut -f2 -d-`
test -n "$cc_vers_major" || cc_vers_major=0
test -n "$cc_vers_minor" || cc_vers_minor=0
test -n "$cc_vers_patch" || cc_vers_patch=0
cc_vers_all=`expr $cc_vers_major '*' 1000000 + $cc_vers_minor '*' 1000 + $cc_vers_patch`
fi
fi
# Common PGI flags for various situations
if test "X-pgcc" = "X-$cc_vendor"; then
# Insert section about version specific problems from gnu-flags here, if
# necessary.
arch=
# Architecture-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "$host_os-$host_cpu" in
# *-i686)
# arch="-march=i686"
# ;;
#esac
# Host-specific flags
# Nothing currently. (Uncomment code below and modify to add any)
#case "`hostname`" in
# sleipnir.ncsa.uiuc.edu)
# arch="$arch -pipe"
# ;;
#esac
# General
CFLAGS="$CFLAGS $arch -Minform,warn"
# Production
# Omit frame pointer for optimized code?
NOFP=${NOFP:=-Mnoframe}
PROD_CFLAGS="-fast -s $NOFP"
PROD_CPPFLAGS=
# Debug
DEBUG_CFLAGS="-g -Mbounds -Mchkfpstk"
DEBUG_CPPFLAGS=
# Profile
PROFILE_CFLAGS="-g -Mprof=func,line"
# Use this for profiling with gprof
#PROFILE_CFLAGS="-g -pg"
PROFILE_CPPFLAGS=
# Flags are set
cc_flags_set=yes
fi
# Clear cc info if no flags set
if test "X-$cc_flags_set" = "X-"; then
cc_vendor=
cc_version=
fi

View File

@ -11,22 +11,18 @@ if test "X-" = "X-$CC"; then
CC_BASENAME=gcc
fi
# Architecture-specific flags
ARCH=
# Omit frame pointer for optimized code?
NOFP=${NOFP:=-fomit-frame-pointer}
# Figure out compiler flags
. $srcdir/config/gnu-flags
if test "X-$F9X" = "X-f95"; then
CFLAGS="$CFLAGS -DH5_ABSOFT"
fi
# The default Fortran 90 compiler
if test "X-" = "X-$F9X"; then
# Assume Absoft compiler
F9X=xlf
F9X_BASENAME=xlf
else
F9X_BASENAME=f95
fi
#
# HDF5 integers
@ -44,37 +40,30 @@ HID_T='SELECTED_INT_KIND(R_INTEGER)'
SIZE_T='SELECTED_INT_KIND(R_INTEGER)'
OBJECT_NAMELEN_DEFAULT_F=-1
if test "X-" = "X-$F9X"; then
F9X=xlf
F9X_BASENAME=xlf
else
F9X_BASENAME=f95
fi
case $F9X_BASENAME in
xlf)
F9XSUFFIXFLAG="-qsuffix=f=f90 -qfree=f90"
FFLAGS="$FFLAGS -static -O ${F9XSUFFIXFLAG} -qmoddir=./ "
FSEARCH_DIRS="-I./ -I../src"
DEBUG_FFLAGS="-O"
PROD_FFLAGS="-O"
PROFILE_FFLAGS="-O"
f9x_flags_set=yes
;;
#
# Assume Absoft compiler
#
F9XSUFFIXFLAG="-qsuffix=f=f90 -qfree=f90"
FFLAGS="$FFLAGS -static -O ${F9XSUFFIXFLAG} -qmoddir=./ "
FSEARCH_DIRS="-I./ -I../src"
DEBUG_FFLAGS="-g"
PROD_FFLAGS="-O"
PROFILE_FFLAGS="-g"
f9x_flags_set=yes
;;
f95)
F9XSUFFIXFLAG=""
# 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="-O"
PROD_FFLAGS="-O"
PROFILE_FFLAGS="-O"
f9x_flags_set=yes
;;
FFLAGS="$FFLAGS -YEXT_NAMES=UCS"
FSEARCH_DIRS=""
DEBUG_FFLAGS="-g"
PROD_FFLAGS="-O"
PROFILE_FFLAGS="-g -pg"
f9x_flags_set=yes
;;
esac