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.
92 lines
2.8 KiB
Bash
92 lines
2.8 KiB
Bash
# -*- 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="`$FC $FCFLAGS -V 2>&1 |grep '^pgf90 '`"
|
|
if test X != "X$f9x_version"; then
|
|
is_mpi="`$FC $FCFLAGS -help 2>&1 |grep 'link MPI'`"
|
|
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 '$FC' 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
|
|
FC_BASENAME=pgf90
|
|
F9XSUFFIXFLAG=""
|
|
FSEARCH_DIRS=""
|
|
FCFLAGS="$FCFLAGS -Mdclchk -Mstandard -Minform,warn"
|
|
|
|
# Production
|
|
# Check for MPI wrapper being used and tweak down compiler options
|
|
# Comment out the Tweaking since it caused problems to mpich1.2.6.
|
|
# Need to investigate the reasons to tweak.
|
|
#if test "X-" == "X-$is_mpi"; then
|
|
# PROD_FCFLAGS="-fast -s -Mnoframe"
|
|
#else
|
|
# PROD_FCFLAGS="-O2 -s"
|
|
#fi
|
|
PROD_FCFLAGS="-fast -s -Mnoframe"
|
|
|
|
# Debug
|
|
DEBUG_FCFLAGS="-g -Mbounds -Mchkfpstk -Mchkptr"
|
|
|
|
# Profile
|
|
PROFILE_FCFLAGS="-g -Mprof=func,line"
|
|
# Use this for profiling with gprof
|
|
#PROFILE_FCFLAGS="-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
|
|
|
|
|