summaryrefslogtreecommitdiffstats
path: root/config/pgi-fflags
blob: 5ec8368beeadac129ab618094f8ef67d9437140b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
#                            -*- shell-script -*-
#
# Copyright by The HDF Group.
# All rights reserved.
#
# This file is part of HDF5.  The full HDF5 copyright notice, including
# terms governing use, modification, and redistribution, is contained in
# the COPYING file, which can be found at the root of the source code
# distribution tree, or in https://www.hdfgroup.org/licenses.
# If you do not have access to either file, you may request a copy from
# help@hdfgroup.org.


# 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

    ###############################
    # Architecture-specific flags #
    ###############################

    arch=
    # 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

    ##############
    # 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 -Mnoframe"

    #########
    # Debug #
    #########

    DEBUG_FCFLAGS="-Mbounds -Mchkptr -Mdclchk"

    ###########
    # Symbols #
    ###########

    NO_SYMBOLS_FCFLAGS="-s"
    SYMBOLS_FCFLAGS="-g"

    #############
    # Profiling #
    #############

    PROFILE_FCFLAGS="-Mprof=func,line"
    # Use this for profiling with gprof
    #PROFILE_FCFLAGS="-pg"

    ################
    # Optimization #
    ################

    HIGH_OPT_FCFLAGS=
    DEBUG_OPT_FCFLAGS=
    NO_OPT_FCFLAGS=

    ############
    # Warnings #
    ############

    ###########
    # General #
    ###########

    FC_BASENAME=pgf90
    Fortran_COMPILER_ID=PGI
    F9XSUFFIXFLAG=""
    FSEARCH_DIRS=""
    # Uncomment the following to add something specific for FCFLAGS.
    #FCFLAGS="$FCFLAGS"



    #################
    # 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