summaryrefslogtreecommitdiffstats
path: root/config/BlankForm
diff options
context:
space:
mode:
Diffstat (limited to 'config/BlankForm')
-rw-r--r--config/BlankForm101
1 files changed, 83 insertions, 18 deletions
diff --git a/config/BlankForm b/config/BlankForm
index 5ff807b..6b76385 100644
--- a/config/BlankForm
+++ b/config/BlankForm
@@ -9,31 +9,96 @@
# 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.
+#----------------------------------------------------------------------------
-# Sometimes a particular compiler must be used. If that's the case
-# then uncomment the following line. Otherwise the main configure
-# script will try to detect the compiler automatically.
-#CC=gcc
-# What must *always* be present for things to compile correctly?
-#CFLAGS="$CFLAGS -ansi"
-#CPPFLAGS="$CPPFLAGS -I."
+# Choosing a C Compiler
+# ---------------------
+#
+# Configre will use the value of environment variable `CC' if it is
+# set. If not then configure checks for a working GNU `gcc' followed
+# by other common compiler names. If a default compiler is desired
+# then uncomment the following line, replacing `gcc' with the name of
+# the default compiler.
-# What compiler flags should be used for code development?
-DEBUG_CFLAGS=-g
-DEBUG_CPPFLAGS=
+#CC=${CC:-gcc}
-# What compiler flags should be used for building a production
-# library?
-PROD_CFLAGS=-O
-PROD_CPPFLAGS=
-# What compiler flags enable code profiling?
-PROFILE_CFLAGS=-pg
-PROFILE_CPPFLAGS=
-#----------------------------------------------------------------------------
+# 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
+# usualy 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.
+#
+# 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.
+#
+# Note: Warning flags do not have to be added to CFLAGS
+# variable if the compiler is the GNU gcc
+# compiler or a descendent of gcc.
+#
+# Note: The CFLAGS should contains *something* or else
+# configure will probably add `-g'. For most
+# systems this isn't a problem but some systems
+# will disable optimizations in favor of the
+# `-g'.
+#
+#
+
+case "$CC" in
+ *gcc*)
+ CFLAGS="$CFLAGS -Wsign-compare" #Only works for some versions
+ DEBUG_CFLAGS="-g -fverbose-asm"
+ DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROD_CFLAGS="-mcpu=pentiumpro -march=pentiumpro -O3 -finline-functions -malign-double -fomit-frame-pointer -fschedule-insns2"
+ PROD_CPPFLAGS=
+ PROFILE_CFLAGS="-pg"
+ PROFILE_CPPFLAGS=
+ ;;
+
+ *)
+ CFLAGS="$CFLAGS -ansi"
+ DEBUG_FLAGS="-g"
+ DEBUG_CPPFLAGS="-DH5F_OPT_SEEK=0 -DH5F_LOW_DFLT=H5F_LOW_SEC2"
+ PROD_CFLAGS="-O"
+ PROD_CPPFLAGS=
+ PROFILE_CFLAGS="-pg"
+ PROFILE_CPPFLAGS=
+ ;;
+esac
+
+
+
+# Overriding Configure Tests
+# --------------------------
+#
# Values for overriding configuration tests when cross compiling.
# This includes compiling on some machines where the serial front end
# compiles for a parallel back end.