summaryrefslogtreecommitdiffstats
path: root/config/BlankForm
blob: e297cc385bce099187fca914fd483511d9ef600f (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
# -*- 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 is part of the HDF5 build script.  It is processed shortly
# after configure starts and defines, among other things, flags for
# the various compile modes.


#----------------------------------------------------------------------------
# Compiler flags. The CPPFLAGS values should not include package debug
# flags like `-DH5G_DEBUG' since these are added with the
# `--enable-debug' switch of configure.
#----------------------------------------------------------------------------


# Choosing a C Compiler
# ---------------------
#
# The user should be able to specify the compiler by setting the CC
# environment variable to the name of the compiler and any switches it 
# requires for proper operation.  If CC is unset then this script may
# set it.  If CC is unset by time this script completes then configure 
# will try `gcc' and `cc' in that order (perhaps some others too).
#
# Note: Code later in this file may depend on the value of $CC_BASENAME
#       in order to distinguish between different compilers when
#       deciding which compiler command-line switches to use.  This
#       variable is set based on the incoming value of $CC and is only
#       used within this file.

if test "X-" =  "X-$CC"; then
    CC="/some/default/compiler/named/foo -ansi"
    CC_BASENAME=foo
fi


# C Compiler and Preprocessor Flags
# ---------------------------------
#
# Flags that end with `_CFLAGS' are always passed to the compiler.
# Flags that end with `_CPPFLAGS' are passed to the compiler when
# compiling but not when linking.
#
# DEBUG_CFLAGS          Flags to pass to the compiler to create a
# DEBUG_CPPFLAGS        library suitable for use with debugging
#                       tools. Usually this list will exclude
#                       optimization switches (like `-O') and include
#                       switches that turn on symbolic debugging
#                       support (like `-g').
#
# PROD_CFLAGS           Flags to pass to the compiler to create a
# PROD_CPPFLAGS         production version of the library.  These
#                       usually exclude symbolic debugging switches
#                       (like `-g') and include optimization switches
#                       (like `-O').
#
# PROFILE_CFLAGS        Flags to pass to the compiler to create a
# PROFILE_CPPFLAGS      library suitable for performance testing (like 
#                       `-pg').  This may or may not include debugging 
#                       or production flags.
#
# H5_CFLAGS             Flags can be added to this variable which
#                       might already be partially initialized.  These 
#                       flags will always be passed to the compiler
#                       and should include switches to turn on full
#                       warnings.  HDF5 attempts to be ANSI and Posix
#                       compliant and employ good programming
#                       practices resulting in few if any
#                       warnings.
#
#                       Warning flags do not have to be added to H5_CFLAGS
#                       variable if the compiler is the GNU gcc
#                       compiler or a descendent of gcc such as EGCS or PGCC.
#
# AM_CFLAGS             Flags added directly into this variable will
#                       be propagated to the compiler wrapper scripts (h5cc,
#                       h5c++, et cetera) in addition to being used to compile 
#                       the library.
#
# These flags should be set according to the compiler being used.
# There are two ways to check the compiler.  You can try using `-v' or 
# `--version' to see if the compiler will print a version string.  You 
# can use the value of $CC_BASENAME which is the base name of the
# first word in $CC (note that the value of CC may have changed
# above).

case $CC_BASENAME in
    gcc)
        H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions
        DEBUG_CFLAGS="-g -fverbose-asm"
        DEBUG_CPPFLAGS=
        PROD_CFLAGS="-O3 -fomit-frame-pointer"
        PROD_CPPFLAGS=
        PROFILE_CFLAGS="-pg"
        PROFILE_CPPFLAGS=
        ;;

    *)
        H5_CFLAGS="$H5_CFLAGS -ansi"
        DEBUG_CFLAGS="-g"
        DEBUG_CPPFLAGS=
        PROD_CFLAGS="-O"
        PROD_CPPFLAGS=
        PROFILE_CFLAGS="-pg"
        PROFILE_CPPFLAGS=
        ;;
esac