cantera/include/cantera/base/config.h.in
Harry Moffat 08fe85b4cd Check for fenv.h availability. Apparently, MS visual doesn't have C99 support before 2013, so previous commit didn't compile on MSVISUAL.
If fenv.h not available, program now error exits if fenv functions are requested.
2014-08-26 17:55:44 +00:00

108 lines
3.4 KiB
C

#ifndef CT_CONFIG_H
#define CT_CONFIG_H
//---------------------------- Version Flags ------------------//
// Cantera version -> this will be a double-quoted string value
// referring to branch number within svn
%(CANTERA_VERSION)s
//------------------------ Development flags ------------------//
//
// Compile in additional debug printing where available.
// Note, the printing may need to be turned on via a switch.
// This just compiles in the code.
%(DEBUG_MODE)s
#ifdef DEBUG_MODE
#define DEBUG_MODE_ENABLED 1
#else
#define DEBUG_MODE_ENABLED 0
#endif
//------------------------ Fortran settings -------------------//
// define types doublereal, integer, and ftnlen to match the
// corresponding Fortran data types on your system. The defaults
// are OK for most systems
typedef double doublereal; // Fortran double precision
typedef int integer; // Fortran integer
typedef int ftnlen; // Fortran hidden string length type
// Fortran compilers pass character strings in argument lists by
// adding a hidden argument with the length of the string. Some
// compilers add the hidden length argument immediately after the
// CHARACTER variable being passed, while others put all of the hidden
// length arguments at the end of the argument list. Define this if
// the lengths are at the end of the argument list. This is usually the
// case for most unix Fortran compilers, but is (by default) false for
// Visual Fortran under Windows.
#define STRING_LEN_AT_END
// Define this if Fortran adds a trailing underscore to names in object files.
// For linux and most unix systems, this is the case.
%(FTN_TRAILING_UNDERSCORE)s
%(HAS_SUNDIALS)s
%(SUNDIALS_VERSION)s
//-------- LAPACK / BLAS ---------
%(LAPACK_FTN_STRING_LEN_AT_END)s
%(LAPACK_NAMES_LOWERCASE)s
%(LAPACK_FTN_TRAILING_UNDERSCORE)s
//-------- BOOST --------
%(USE_BOOST_MATH)s
//--------- operating system --------------------------------------
// The configure script defines this if the operating system is Mac
// OS X, This used to add some Mac-specific directories to the default
// data file search path.
%(DARWIN)s
// Identify whether the operating system is Solaris
// with a native compiler
%(SOLARIS)s
//---------- C++ Compiler Variations ------------------------------
// Name for 'isnan' varies for different compilers / standard libraries
%(USE_STD_ISNAN)s
%(USE_GLOBAL_ISNAN)s
%(USE_UNDERSCORE_ISNAN)s
%(HAS_FENV_H)s
// This define is needed to account for the variability for how
// static variables in templated classes are defined. Right now
// this is only turned on for the SunPro compiler on Solaris.
// in that system , you need to declare the static storage variable.
// with the following line in the include file
//
// template<class M> Cabinet<M>* Cabinet<M>::__storage;
//
// Note, on other systems that declaration is treated as a definition
// and this leads to multiple defines at link time
%(NEEDS_GENERIC_TEMPL_STATIC_DECL)s
//--------------------- Python ------------------------------------
// If this is defined, then python will not be assumed to be
// present to support conversions
%(HAS_NO_PYTHON)s
//--------------------- compile options ----------------------------
%(THREAD_SAFE_CANTERA)s
//-------------- Optional Cantera Capabilities ----------------------
// Enable Sundials to use an external BLAS/LAPACK library if it was
// built to use this option
%(SUNDIALS_USE_LAPACK)s
#endif