mirror of
https://github.com/HDFGroup/hdf5.git
synced 2024-11-27 02:10:55 +08:00
86d0132279
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
82 lines
2.4 KiB
Bash
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
|