hdf5/config/pgi-flags
Quincey Koziol 86d0132279 [svn-r9407] Purpose:
Code cleanup/bug fix

Description:
    Remove the undocumented "$NOFP" shell variable which would allow production
builds without removing the stack frame.  This was cascading between C and
FORTRAN builds and causing problems.

Solution:
    Hard-code removing the stack frame for now.  Users would have needed to
read the configure scripts anyway, so there's not really much benefit to the
extra knob.  Users who need this functionality (production builds with stack
frames) are debugging probably, so they will need to modify the script and
build their own version of the library now.

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

82 lines
2.4 KiB
Bash

# -*- 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
PROD_CFLAGS="-fast -s -Mnoframe"
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