summaryrefslogtreecommitdiffstats
path: root/config/dec-flags
blob: 1d4a73ea1e26e98d7b3d7c6ee3124dd4a2cdd753 (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
#							-*- shell-script -*-
#
# Copyright by The HDF Group.
# Copyright by the Board of Trustees of the University of Illinois.
# 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 files COPYING and Copyright.html.  COPYING can be found at the root
# of the source code distribution tree; Copyright.html can be found at the
# root level of an installed copy of the electronic HDF5 document set and
# is linked from the top-level documents page.  It can also be found at
# http://hdfgroup.org/HDF5/doc/Copyright.html.  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 a DEC
# compiler.  It is careful not to do anything if the compiler is not
# DEC; otherwise `cc_flags_set' is set to `yes'
#

# Get the compiler version unless it's already known.
#
#   cc_vendor:    The compiler vendor: DEC
#   cc_version:   Version number, like: V5.2-038
#
if test X = "X$cc_flags_set"; then
    cc_vendor=DEC
    cc_version="`$CC $CFLAGS -V 2>&1 |head -1`"
    case "$cc_version" in
	DEC*)
	    cc_version="`echo $cc_version |\
			sed 's/.*DEC C \(V[0-9][-\.0-9]*\).*/\1/'`"
	;;
	Compaq*)
	    cc_version="`echo $cc_version |\
			sed 's/.*Compaq C \(V[0-9][-\.0-9]*\).*/\1/'`"
	;;
    esac

    if test X != "$gcc_version"; then
	echo "compiler '$CC' is $cc_vendor-$cc_version"
    else
        cc_vendor=
    fi
fi

# Warn about old compilers that don't work right.
case "$cc_vendor-$cc_version" in
    DEC-V5.2-038)
        cat <<EOF
    **
    ** This compiler may generate incorrect code when optimizations are
    ** enabled. Please upgrade to a newer version (we're not sure which
    ** version actually works) before reporting bugs to the HDF5 team.
    **
EOF
	sleep 5
	;;
esac

# Compiler flags
case "$cc_vendor-$cc_version" in
    DEC-V5.*)
	# Production
	PROD_CFLAGS="-std -verbose -warnprotos -ieee -misalign -O4  -ansi_args -fp_reorder -readonly_strings -inline speed"
	PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"

	# Debug
	DEBUG_CFLAGS="-g -std -verbose -warnprotos -ieee -misalign"
	DEBUG_CPPFLAGS=

	# Profile
	PROFILE_CFLAGS="-pg -std -verbose -warnprotos -ieee -misalign"
	PROFILE_CPPFLAGS=

	# Flags are set
	cc_flags_set=yes
	;;

    DEC-V6.*)
	# Production
	PROD_CFLAGS="-c99 -verbose -warnprotos -ieee -misalign -O4 -fp_reorder -readonly_strings -inline speed"
	PROD_CPPFLAGS="-D_INTRINSICS -D_INLINE_INTRINSICS"

	# Debug
	DEBUG_CFLAGS="-g -c99 -verbose -warnprotos -ieee -misalign"
	DEBUG_CPPFLAGS=

	# Profile
	PROFILE_CFLAGS="-pg -c99 -verbose -warnprotos -ieee -misalign"
	PROFILE_CPPFLAGS=

	# Flags are set
	cc_flags_set=yes
	;;
esac

# If no flags were set then clear the compiler vendor and version info.
if test X = "X$cc_flags_set"; then
    cc_vendor=
    cc_version=
fi