2005-05-06 00:51:46 +08:00
|
|
|
# -*- shell-script -*-
|
|
|
|
#
|
2005-10-21 22:54:41 +08:00
|
|
|
# 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
|
2005-10-29 04:28:20 +08:00
|
|
|
# root level of an installed copy of the electronic HDF5 document set and
|
2005-10-21 22:54:41 +08:00
|
|
|
# is linked from the top-level documents page. It can also be found at
|
|
|
|
# http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have
|
|
|
|
# access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu.
|
|
|
|
|
|
|
|
|
2005-05-06 00:51:46 +08:00
|
|
|
# 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.
|
|
|
|
|
2006-10-20 04:10:19 +08:00
|
|
|
# Disabling Dependency Tracking
|
|
|
|
# ---------------------
|
|
|
|
#
|
|
|
|
# The Cray X1 machines that THG tests on seem to have trouble doing
|
|
|
|
# dependency tracking (probably because they use Cray's C++ compiler,
|
|
|
|
# which autoconf may not recognize). Until this is fixed by autoconf
|
|
|
|
# or a user complains, disable dependency tracking on Crays.
|
|
|
|
enable_dependency_tracking="no"
|
|
|
|
|
2005-05-06 00:51:46 +08:00
|
|
|
# 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=cc
|
|
|
|
CC_BASENAME=cc
|
|
|
|
fi
|
|
|
|
# no need to use RANLIB
|
|
|
|
RANLIB=:
|
|
|
|
|
|
|
|
# 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
|
|
|
|
# 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.
|
|
|
|
#
|
|
|
|
# Warning flags do not have to be added to CFLAGS
|
|
|
|
# variable if the compiler is the GNU gcc
|
|
|
|
# compiler or a descendent of gcc such as EGCS or PGCC.
|
|
|
|
#
|
|
|
|
# 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'.
|
|
|
|
#
|
|
|
|
#
|
|
|
|
# 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)
|
2006-05-02 06:34:19 +08:00
|
|
|
H5_CFLAGS="$H5_CFLAGS -Wsign-compare" #Only works for some versions
|
2005-05-06 00:51:46 +08:00
|
|
|
DEBUG_CFLAGS="-g -fverbose-asm"
|
|
|
|
DEBUG_CPPFLAGS=
|
|
|
|
PROD_CFLAGS="-O3 -fomit-frame-pointer"
|
|
|
|
PROD_CPPFLAGS=
|
|
|
|
PROFILE_CFLAGS="-pg"
|
|
|
|
PROFILE_CPPFLAGS=
|
|
|
|
;;
|
|
|
|
|
|
|
|
cc)
|
2006-05-02 06:34:19 +08:00
|
|
|
H5_CFLAGS="$H5_CFLAGS"
|
2005-05-06 00:51:46 +08:00
|
|
|
DEBUG_CFLAGS="-g"
|
|
|
|
DEBUG_CPPFLAGS=
|
|
|
|
PROD_CFLAGS=""
|
|
|
|
PROD_CPPFLAGS=
|
|
|
|
PROFILE_CFLAGS=
|
|
|
|
PROFILE_CPPFLAGS=
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
2006-05-02 06:34:19 +08:00
|
|
|
H5_CFLAGS="$H5_CFLAGS -ansi"
|
2005-05-06 00:51:46 +08:00
|
|
|
DEBUG_CFLAGS="-g"
|
|
|
|
DEBUG_CPPFLAGS=
|
|
|
|
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.
|
|
|
|
|
|
|
|
# Set this to `yes' or `no' depending on whether the target is big
|
|
|
|
# endian or little endian.
|
|
|
|
#ac_cv_c_bigendian=${ac_cv_c_bigendian='yes'}
|
|
|
|
|
|
|
|
# Set this to the width required by printf() to print type `long
|
|
|
|
# long'. For instance, if the format would be `%lld' then set it to
|
|
|
|
# `ll' or if the format would be `%qd' set it to `q'.
|
|
|
|
#hdf5_cv_printf_ll=${hdf5_cv_printf_ll='ll'}
|
|
|
|
|
|
|
|
# Hard set the flag to indicate that converting denormalized floating-point
|
|
|
|
# values doesn't work.
|
|
|
|
hdf5_cv_convert_denormal_float=${hdf5_cv_convert_denormal_float='no'}
|
|
|
|
|
|
|
|
# The default Fortran 90 compiler
|
|
|
|
|
|
|
|
if test "X-" = "X-$F9X"; then
|
|
|
|
F9X=ftn
|
|
|
|
fi
|
|
|
|
|
|
|
|
if test "X-" = "X-$f9x_flags_set"; then
|
|
|
|
# -Wl passes flags to the linker and -M# will ignore warnings with
|
2006-05-02 06:34:19 +08:00
|
|
|
# number#. Warning 405 and 412 were stopping the executable from
|
|
|
|
# being built.
|
|
|
|
# The -em flag enables .mod files, which is what HDF5 builds.
|
2005-05-06 00:51:46 +08:00
|
|
|
F9XSUFFIXFLAG=""
|
|
|
|
FSEARCH_DIRS=""
|
2006-04-22 03:21:24 +08:00
|
|
|
FCFLAGS="$FCFLAGS -em"
|
|
|
|
DEBUG_FCFLAGS="-g"
|
|
|
|
PROD_FCFLAGS=""
|
|
|
|
PROFILE_FCFLAGS=""
|
2005-05-06 00:51:46 +08:00
|
|
|
f9x_flags_set=yes
|
|
|
|
fi
|
|
|
|
|
|
|
|
# The default C++ compiler
|
|
|
|
|
|
|
|
if test -z "$CXX"; then
|
|
|
|
CXX="CC"
|
|
|
|
CXX_BASENAME=CC
|
|
|
|
fi
|
|
|
|
|
|
|
|
case $CXX_BASENAME in
|
|
|
|
g++)
|
2006-05-02 06:34:19 +08:00
|
|
|
H5_CXXFLAGS="$H5_CXXFLAGS -Wsign-compare" #Only works for some versions
|
2005-05-06 00:51:46 +08:00
|
|
|
DEBUG_CXXFLAGS="-g -fverbose-asm"
|
|
|
|
DEBUG_CPPFLAGS=
|
|
|
|
PROD_CXXFLAGS="-O3 -fomit-frame-pointer"
|
|
|
|
PROD_CPPFLAGS=
|
|
|
|
PROFILE_CXXFLAGS="-pg"
|
|
|
|
PROFILE_CPPFLAGS=
|
|
|
|
;;
|
|
|
|
|
|
|
|
*)
|
2006-05-02 06:34:19 +08:00
|
|
|
H5_CXXFLAGS="$H5_CXXFLAGS"
|
2005-05-06 00:51:46 +08:00
|
|
|
DEBUG_CXXFLAGS="-g"
|
|
|
|
DEBUG_CPPFLAGS=
|
|
|
|
PROD_CXXFLAGS=""
|
|
|
|
PROD_CPPFLAGS=
|
|
|
|
PROFILE_CXXFLAGS=
|
|
|
|
PROFILE_CPPFLAGS=
|
|
|
|
;;
|
|
|
|
esac
|
|
|
|
|