mirror of
https://github.com/Cantera/cantera.git
synced 2025-02-25 18:55:29 -06:00
1355 lines
32 KiB
Plaintext
Executable File
1355 lines
32 KiB
Plaintext
Executable File
dnl Process this file with autoconf to produce a configure script.
|
|
define([AC_CACHE_LOAD], )dnl
|
|
define([AC_CACHE_SAVE], )dnl
|
|
AC_INIT(Cantera.README)
|
|
AC_CONFIG_HEADER(config.h)
|
|
# AC_CONFIG_AUX_DIR(.)
|
|
# AC_CONFIG_SRCDIR(./License.txt)
|
|
AC_CONFIG_AUX_DIR(config)
|
|
|
|
if test -z $CANTERA_VERSION ; then
|
|
echo
|
|
echo ">>>>> Error <<<<<"
|
|
echo
|
|
echo "Run script 'preconfig', instead of running 'configure'"
|
|
echo "directly. The 'preconfig' script sets various variable values"
|
|
echo "needed by 'configure' and then runs 'configure.' You may want to"
|
|
echo "edit 'preconfig' first, to set various installation options."
|
|
echo
|
|
exit 1
|
|
fi
|
|
|
|
|
|
echo " "
|
|
echo "--------------------------------------------------------------"
|
|
echo " "
|
|
echo " Cantera "$CANTERA_VERSION
|
|
echo " Configuration Script "
|
|
echo " "
|
|
echo "--------------------------------------------------------------"
|
|
echo " "
|
|
|
|
AC_DEFINE(NDEBUG)
|
|
|
|
ac_sys_system=`uname -s`
|
|
ac_sys_release=`uname -r`
|
|
|
|
# moved since MacOS deosn't support -i option
|
|
#sys_hardware=`uname -i`
|
|
|
|
#
|
|
# Determine the number of hardware bits in the system
|
|
#
|
|
#
|
|
# BITHARDWARE is the default number of compilation bits in pointers
|
|
#
|
|
case $ac_sys_system in
|
|
Linux* )
|
|
sys_hardware=`uname -i`
|
|
echo 'linux ' $sys_hardware
|
|
case $sys_hardware in
|
|
x86_64 ) BITHARDWARE=64 ;;
|
|
|
|
* ) BITHARDWARE=${BITHARDWARE:="32"} ;;
|
|
esac ;;
|
|
SunOS* )
|
|
sys_hardware=`uname -i`
|
|
echo 'SunOS ' $sys_hardware
|
|
case $sys_hardware in
|
|
"SUNW,Sun-Fire" ) BITHARDWARE=64 ;;
|
|
* ) BITHARDWARE=${BITHARDWARE:="32"} ;;
|
|
esac ;;
|
|
* ) BITHARDWARE=${BITHARDWARE:="32"} ;;
|
|
esac
|
|
#
|
|
# BITCOMPILE is the desired number of compilation bits in pointers
|
|
# Note, it can be different than the number of hardware bits.
|
|
# Many times you will want to compile 32 bits on a 64 bit
|
|
# machine
|
|
if test -z $BITCOMPILE ; then
|
|
BITCOMPILE=$BITHARDWARE
|
|
fi
|
|
|
|
BITCHANGE=
|
|
if test $BITCOMPILE != $BITHARDWARE ; then
|
|
BITCHANGE='y'
|
|
fi
|
|
|
|
|
|
AC_SUBST(BITCOMPILE)
|
|
AC_SUBST(BITHARDWARE)
|
|
AC_SUBST(BITCHANGE)
|
|
|
|
|
|
SHARED_CTLIB=0
|
|
OS_IS_DARWIN=0
|
|
OS_IS_WIN=0
|
|
OS_IS_CYGWIN=0
|
|
EXTRA_LINK=${EXTRA_LINK:=""}
|
|
|
|
# default Matlab MEX file extension
|
|
mex_ext=mexglx
|
|
|
|
case $ac_sys_system in
|
|
Darwin*) OS_IS_DARWIN=1;
|
|
EXTRA_LINK="-framework Accelerate $EXTRA_LINK";
|
|
# CXX_INCLUDES="$CXX_INCLUDES -I/System/Library/Frameworks/Accelerate.framework/Headers"
|
|
mex_ext=mexmac;;
|
|
CYGWIN*) OS_IS_CYGWIN=1; mex_ext=dll;;
|
|
Linux* ) case $BITHARDWARE in
|
|
64 ) if test "$BITCHANGE" = "y" ; then
|
|
ldemulationarg='-melf_i386'
|
|
fi ;;
|
|
esac
|
|
esac
|
|
|
|
AC_SUBST(ldemulationarg)
|
|
|
|
|
|
CVF_LIBDIR=""
|
|
if test "x${OS_IS_CYGWIN}" = "x1"; then
|
|
if test "${USE_VISUAL_STUDIO}" = "y"; then
|
|
OS_IS_WIN=1;
|
|
OS_IS_CYGWIN=0;
|
|
CVF_LIBDIR=$FORTRAN_LIB_DIR
|
|
fi
|
|
fi
|
|
AC_SUBST(CVF_LIBDIR)
|
|
|
|
#
|
|
# Determine if clib is to be a static or dynamic library
|
|
# -> will test to see if USE_DLL is defined in the cygwmin environment
|
|
#
|
|
USE_CLIB_DLL=0
|
|
if test "x${OS_IS_WIN}" = "x1"; then
|
|
if test -n ${USE_CLIB_DLL} ; then
|
|
USE_CLIB_DLL=1
|
|
fi
|
|
fi
|
|
AC_SUBST(USE_CLIB_DLL)
|
|
|
|
prdef="/usr/local/cantera"
|
|
if test "x$OS_IS_DARWIN" = "x1"; then prdef="/Applications/Cantera"; fi
|
|
|
|
local_inst=1
|
|
if test "x${prefix}" = "xNONE"; then
|
|
prefix=${prdef}
|
|
local_inst=0
|
|
fi
|
|
exec_prefix=${prefix}
|
|
|
|
if test "x${OS_IS_WIN}" = "x1"; then
|
|
prefix=`cygpath -a -m "${prefix}" `
|
|
fi
|
|
echo "Cantera will be installed in ${prefix}"
|
|
AC_SUBST(prefix)
|
|
|
|
AC_SUBST(local_inst)
|
|
|
|
#
|
|
# Determination of Python site-package directory location
|
|
#
|
|
local_python_inst=${local_inst}
|
|
if test "x${SET_PYTHON_SITE_PACKAGE_TOPDIR}" = "xy"; then
|
|
python_prefix=${PYTHON_SITE_PACKAGE_TOPDIR}
|
|
python_win_prefix=$python_prefix
|
|
if test "x${OS_IS_WIN}" = "x1" ; then
|
|
python_prefix=`cygpath -a -m "${python_prefix}"`
|
|
python_win_prefix=`cygpath -a -w "${python_prefix}"`
|
|
elif test "x${OS_IS_CYGWIN}" = "x1" ; then
|
|
python_prefix=`cygpath -a -u "${python_prefix}"`
|
|
python_win_prefix=`cygpath -a -w "${python_prefix}"`
|
|
fi
|
|
local_python_inst=1
|
|
echo "Cantera's Python packages will be installed in ${python_prefix}"
|
|
else
|
|
python_prefix=$prefix
|
|
python_win_prefix=$python_prefix
|
|
if test "x${OS_IS_WIN}" = "x1"; then
|
|
python_win_prefix=`cygpath -a -w "${python_prefix}" `
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(local_python_inst)
|
|
AC_SUBST(python_prefix)
|
|
AC_SUBST(python_win_prefix)
|
|
|
|
ctversion=${CANTERA_VERSION}
|
|
AC_SUBST(ctversion)
|
|
AC_DEFINE_UNQUOTED(CANTERA_VERSION,"$ctversion")
|
|
|
|
homedir=${HOME}
|
|
|
|
AC_SUBST(homedir)
|
|
|
|
# A compact installation is one in which the $prefix directory
|
|
# contains only Cantera files. It is different than a local
|
|
# installation, in that the Python package is installed with other
|
|
# Python packages and modules in site-packages, rather than with the
|
|
# rest of the Cantera files, as in a local installation. Therefore,
|
|
# with a compact installation, there is no need to set PYTHONPATH. A
|
|
# compact installation is done on all machines now by default.
|
|
# This simplifies the installation issues, because now all Cantera
|
|
# installations look the same, except perhaps for the locations
|
|
# of the python packages.
|
|
# An option called, "distributed installations", is no longer
|
|
# supported.
|
|
|
|
ct_libdir=${prefix}/lib
|
|
ct_bindir=${prefix}/bin
|
|
ct_incdir=${prefix}/include/cantera
|
|
ct_incroot=${prefix}/include
|
|
ct_datadir=${prefix}/data
|
|
ct_demodir=${prefix}/demos
|
|
ct_templdir=${prefix}/templates
|
|
ct_tutdir=${prefix}/tutorials
|
|
ct_docdir=${prefix}/doc
|
|
ct_dir=${prefix}
|
|
ct_mandir=${prefix}
|
|
|
|
AC_SUBST(ct_libdir)
|
|
AC_SUBST(ct_bindir)
|
|
AC_SUBST(ct_incdir)
|
|
AC_SUBST(ct_incroot)
|
|
AC_SUBST(ct_datadir)
|
|
AC_SUBST(ct_demodir)
|
|
AC_SUBST(ct_templdir)
|
|
AC_SUBST(ct_tutdir)
|
|
AC_SUBST(ct_docdir)
|
|
AC_SUBST(ct_dir)
|
|
AC_SUBST(ct_mandir)
|
|
|
|
COMPACT_INSTALL=1
|
|
AC_SUBST(COMPACT_INSTALL)
|
|
|
|
AC_CANONICAL_SYSTEM()
|
|
# the root of the source tree
|
|
ctroot=`(pwd)`
|
|
builddir=$target
|
|
if test "x${OS_IS_WIN}" = "x1"; then
|
|
ctroot=`cygpath -a -m "${ctroot}" | sed 's/\\\/\\//g'`
|
|
builddir="i686-pc-win32"
|
|
fi
|
|
|
|
if test -z "$username"; then username=$USER; fi
|
|
AC_SUBST(username)
|
|
|
|
AC_SUBST(ctroot)
|
|
|
|
# The include directory in the 'build' subdirectory.
|
|
# This is required to build the test problems
|
|
# before Cantera has been installed.
|
|
buildinc=$ctroot/build/include
|
|
AC_SUBST(buildinc)
|
|
|
|
buildlib=$ctroot/build/lib/$builddir
|
|
AC_SUBST(buildlib)
|
|
buildbin=$ctroot/build/bin/$builddir
|
|
AC_SUBST(buildbin)
|
|
|
|
# add definitions to config.h
|
|
if test "x${OS_IS_DARWIN}" = "x1"; then
|
|
AC_DEFINE_UNQUOTED(DARWIN,$OS_IS_DARWIN)
|
|
fi
|
|
if test "x${OS_IS_CYGWIN}" = "x1"; then
|
|
AC_DEFINE_UNQUOTED(CYGWIN,$OS_IS_CYGWIN)
|
|
fi
|
|
if test "x${OS_IS_WIN}" = "x1"; then
|
|
AC_DEFINE_UNQUOTED(WINMSVC,$OS_IS_WIN)
|
|
fi
|
|
AC_DEFINE_UNQUOTED(RXNPATH_FONT,"$RPFONT")
|
|
#AC_DEFINE_UNQUOTED(CANTERA_ROOT,"$prefix/cantera")
|
|
AC_DEFINE_UNQUOTED(CANTERA_DATA,"$ct_datadir")
|
|
|
|
|
|
if test -z "$MAKE"; then MAKE='make'; fi
|
|
AC_SUBST(MAKE)
|
|
|
|
if test -z "$GRAPHVIZDIR" ; then
|
|
GRAPHVIZDIR=" "
|
|
fi
|
|
AC_SUBST(GRAPHVIZDIR)
|
|
|
|
#----------- ARCHIVE --------------------
|
|
|
|
if test "x${OS_IS_DARWIN}" = "x1"; then
|
|
ARCHIVE='libtool -static -o'
|
|
fi
|
|
|
|
AC_SUBST(ARCHIVE)
|
|
|
|
DO_RANLIB=1
|
|
if test "x${RANLIB}" = "x"; then
|
|
DO_RANLIB=0
|
|
fi
|
|
|
|
AC_SUBST(DO_RANLIB)
|
|
AC_SUBST(RANLIB)
|
|
|
|
#----------------------------------------
|
|
|
|
|
|
|
|
#########################################################
|
|
# User Code
|
|
#########################################################
|
|
USERDIR=""
|
|
INCL_USER_CODE=0
|
|
if test -n "$USER_SRC_DIR"; then USERDIR=$USER_SRC_DIR; INCL_USER_CODE=1; fi
|
|
AC_SUBST(USERDIR)
|
|
AC_SUBST(INCL_USER_CODE)
|
|
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
use_sundials=0
|
|
sundials_inc=
|
|
CVODE_LIBS='-lcvode'
|
|
IDA_LIBS=''
|
|
|
|
if test "x$SUNDIALS_HOME" = "x"; then
|
|
SUNDIALS_LIB_DIR=/usr/local/sundials/lib
|
|
SUNDIALS_INC_DIR=/usr/local/include/sundials
|
|
else
|
|
SUNDIALS_LIB_DIR=$SUNDIALS_HOME/lib
|
|
SUNDIALS_INC_DIR=$SUNDIALS_HOME/include
|
|
fi
|
|
|
|
if test "$USE_SUNDIALS" = "default"; then
|
|
ldsave=$LDFLAGS
|
|
LDFLAGS='-L'$SUNDIALS_LIB_DIR' '$ldsave
|
|
|
|
AC_CHECK_LIB(sundials_cvodes, CVodeCreate, [use_sundials=1], [use_sundials=0],\
|
|
[-lsundials_cvodes -lsundials_nvecserial -lm])
|
|
|
|
LDFLAGS=$ldsave
|
|
fi
|
|
|
|
if test "x$USE_SUNDIALS" = "xy"; then
|
|
use_sundials=1
|
|
fi
|
|
|
|
if test ${use_sundials} = 1; then
|
|
AC_DEFINE(HAS_SUNDIALS)
|
|
echo "using CVODES from SUNDIALS... Sensitivity analysis enabled."
|
|
|
|
CVODE_LIBS='-lsundials_cvodes -lsundials_nvecserial'
|
|
IDA_LIBS='-lsundials_ida -lsundials_nvecserial'
|
|
|
|
if test "$SUNDIALS_VERSION" = "2.2"; then
|
|
AC_DEFINE(SUNDIALS_VERSION_22)
|
|
sundials_include='-I'${SUNDIALS_HOME}'/include -I'${SUNDIALS_HOME}'/include/sundials -I'${SUNDIALS_HOME}'/include/cvodes -I'${SUNDIALS_HOME}'/include/ida'
|
|
else
|
|
AC_DEFINE(SUNDIALS_VERSION_23)
|
|
sundials_include='-I'${SUNDIALS_INC_DIR}
|
|
echo "sundials include directory: " ${sundials_include}
|
|
echo "sundials library directory: " $SUNDIALS_LIB_DIR
|
|
# python tools/src/sundials_version.py $SUNDIALS_HOME
|
|
fi
|
|
fi
|
|
|
|
if test ${use_sundials} = 0; then
|
|
echo "using CVODE... Sensitivity analysis disabled."
|
|
echo "-> To enable sensitivity analysis, install the SUNDIALS package with CVODES."
|
|
fi
|
|
|
|
AC_SUBST(use_sundials)
|
|
AC_SUBST(CVODE_LIBS)
|
|
AC_SUBST(IDA_LIBS)
|
|
AC_SUBST(sundials_include)
|
|
|
|
|
|
#########################################################
|
|
# The Cantera Kernel
|
|
#########################################################
|
|
#
|
|
# DEBUG_MODE: Specify that additional code be compiled in
|
|
# that allows more debug printing where available.
|
|
# default = "y"
|
|
#
|
|
DEBUG_MODE=${DEBUG_MODE:="y"}
|
|
CANTERA_DEBUG_MODE=1
|
|
if test "$DEBUG_MODE" = "y" -o "$DEBUG_MODE" = "Y" ; then
|
|
AC_DEFINE(DEBUG_MODE)
|
|
CANTERA_DEBUG_MODE="1"
|
|
else
|
|
CANTERA_DEBUG_MODE="0"
|
|
fi
|
|
AC_SUBST(CANTERA_DEBUG_MODE)
|
|
|
|
KERNEL='base'
|
|
KERNEL_OBJ='$(BASE_OBJ)'
|
|
BUILD_CK=
|
|
|
|
NEED_CKREADER=
|
|
NEED_LAPACK=
|
|
#NEED_RECIPES=
|
|
NEED_MATH=
|
|
NEED_TPX=
|
|
NEED_F2C=
|
|
NEED_CVODE=
|
|
NEED_ZEROD=
|
|
|
|
if test "$ENABLE_THERMO" = "y"; then
|
|
KERNEL=$KERNEL' 'thermo;
|
|
KERNEL_OBJ=$KERNEL_OBJ' $(THERMO_OBJ)'
|
|
fi
|
|
|
|
if test "$WITH_METAL" = "y"; then
|
|
AC_DEFINE(WITH_METAL)
|
|
hdrs=$hdrs' MetalPhase.h'
|
|
fi
|
|
if test "$WITH_STOICH_SUBSTANCE" = "y"; then
|
|
AC_DEFINE(WITH_STOICH_SUBSTANCE)
|
|
hdrs=$hdrs' StoichSubstance.h'
|
|
objs=$objs' StoichSubstance.o'
|
|
fi
|
|
if test "$WITH_PURE_FLUIDS" = "y"; then
|
|
AC_DEFINE(WITH_PURE_FLUIDS)
|
|
hdrs=$hdrs' PureFluidPhase.h'
|
|
objs=$objs' PureFluidPhase.o'
|
|
fi
|
|
if test "$WITH_LATTICE_SOLID" = "y"; then
|
|
AC_DEFINE(WITH_LATTICE_SOLID)
|
|
hdrs=$hdrs' LatticeSolidPhase.h'
|
|
objs=$objs' LatticeSolidPhase.o'
|
|
hdrs=$hdrs' LatticePhase.h'
|
|
objs=$objs' LatticePhase.o'
|
|
fi
|
|
phase_object_files=$objs
|
|
phase_header_files=$hdrs
|
|
AC_SUBST(phase_object_files)
|
|
AC_SUBST(phase_header_files)
|
|
|
|
|
|
NEED_CATHERMO=
|
|
COMPILE_IDEAL_SOLUTIONS=0
|
|
if test "$WITH_IDEAL_SOLUTIONS" = "y"; then
|
|
AC_DEFINE(WITH_IDEAL_SOLUTIONS)
|
|
NEED_CATHERMO=1
|
|
COMPILE_IDEAL_SOLUTIONS=1
|
|
fi
|
|
AC_SUBST(COMPILE_IDEAL_SOLUTIONS)
|
|
|
|
COMPILE_ELECTROLYTES=0
|
|
if test "$WITH_ELECTROLYTES" = "y"; then
|
|
AC_DEFINE(WITH_ELECTROLYTES)
|
|
NEED_CATHERMO=1
|
|
COMPILE_ELECTROLYTES=1
|
|
fi
|
|
AC_SUBST(COMPILE_ELECTROLYTES)
|
|
AC_SUBST(NEED_CATHERMO)
|
|
|
|
if test "$ENABLE_KINETICS" = "y"; then
|
|
KERNEL=$KERNEL' 'kinetics;
|
|
KERNEL_OBJ=$KERNEL_OBJ' $(KINETICS_OBJ) $(HETEROKIN_OBJ)'
|
|
fi
|
|
|
|
if test "$ENABLE_CK" = "y" ; then
|
|
BUILD_CK=1
|
|
NEED_CKREADER=1
|
|
KERNEL=$KERNEL' 'ck
|
|
fi
|
|
|
|
NEED_TRANSPORT=
|
|
if test "$ENABLE_TRANSPORT" = "y" ; then
|
|
KERNEL=$KERNEL' 'trprops
|
|
NEED_LAPACK=1
|
|
NEED_MATH=1
|
|
NEED_TRANSPORT=1
|
|
fi
|
|
|
|
NEED_EQUIL=
|
|
if test "$ENABLE_EQUIL" = "y" ; then
|
|
KERNEL=$KERNEL' 'equil
|
|
KERNEL_OBJ=$KERNEL_OBJ' $(EQUIL_OBJ)'
|
|
NEED_EQUIL=1
|
|
NEED_LAPACK=1
|
|
fi
|
|
|
|
WITH_REACTORS=0
|
|
if test "$ENABLE_REACTORS" = "y" ; then
|
|
KERNEL=$KERNEL' 'reactor
|
|
NEED_CVODE=1
|
|
NEED_ZEROD=1
|
|
WITH_REACTORS=1
|
|
fi
|
|
AC_SUBST(WITH_REACTORS)
|
|
|
|
if test "$ENABLE_SOLVERS" = "y" ; then
|
|
KERNEL=$KERNEL' 'solvers
|
|
KERNEL_OBJ=$KERNEL_OBJ' $(SOLVERS_OBJ)'
|
|
NEED_CVODE=1
|
|
NEED_MATH=1
|
|
fi
|
|
|
|
NEED_ONED=
|
|
if test "$ENABLE_FLOW1D" = "y" ; then
|
|
KERNEL=$KERNEL' 'flow1D
|
|
NEED_LAPACK=1
|
|
NEED_MATH=1
|
|
NEED_ONED=1
|
|
fi
|
|
|
|
NEED_RXNPATH=
|
|
if test "$ENABLE_RXNPATH" = "y" ; then
|
|
KERNEL=$KERNEL' 'rpath
|
|
KERNEL_OBJ=$KERNEL_OBJ' $(RPATH_OBJ)'
|
|
NEED_RXNPATH=1
|
|
fi
|
|
|
|
if test "$ENABLE_TPX" = "y" ; then
|
|
KERNEL=$KERNEL' 'tpx
|
|
NEED_TPX=1
|
|
AC_DEFINE(INCL_PURE_FLUIDS)
|
|
fi
|
|
|
|
AC_SUBST(KERNEL)
|
|
AC_SUBST(KERNEL_OBJ)
|
|
AC_SUBST(BUILD_CK)
|
|
AC_SUBST(LIB_DIR)
|
|
|
|
#
|
|
# Report to the user what has been included/excluded from the compilation
|
|
#
|
|
echo " "
|
|
echo "Config SUMMARY OF INCLUDED/EXCLUDED CAPABILITIES:"
|
|
|
|
if test "$CANTERA_DEBUG_MODE" = "1" ; then
|
|
echo " Cantera Debug Mode = ON"
|
|
else
|
|
echo " Cantera Debug Mode = OFF"
|
|
fi
|
|
if test "$NEED_TRANSPORT" = "1" ; then
|
|
echo " Calculation of Transport Props = ON"
|
|
else
|
|
echo " Calculation of Transport Props = OFF"
|
|
fi
|
|
if test "$NEED_ZEROD" = "1" ; then
|
|
echo " Zero-Dimensional Flow Reactors Models = ON"
|
|
else
|
|
echo " Zero-Dimensional Flow Reactors Models = OFF"
|
|
fi
|
|
if test "$NEED_ONED" = "1" ; then
|
|
echo " One Dimensional Flow Reactors Models = ON"
|
|
else
|
|
echo " One Dimensional Flow Reactors Models = OFF"
|
|
fi
|
|
if test "$NEED_TPX" = "1" ; then
|
|
echo " TPX Pure Fluid Capability = ON"
|
|
else
|
|
echo " TPX Pure Fluid Capability = OFF"
|
|
fi
|
|
if test "$NEED_CKREADER" = "1" ; then
|
|
echo " Chemkin File Reader Capability = ON"
|
|
else
|
|
echo " Chemkin File Reader Capability = OFF"
|
|
fi
|
|
if test "$NEED_RXNPATH" = "1" ; then
|
|
echo " Reaction Path Analysis = ON"
|
|
else
|
|
echo " Reaction Path Analysis = OFF"
|
|
fi
|
|
if test "$NEED_EQUIL" = "1" ; then
|
|
echo " MultiPhase Equilibrium Solver = ON"
|
|
else
|
|
echo " MultiPhase Equilibrium Solver = OFF"
|
|
fi
|
|
if test "$COMPILE_IDEAL_SOLUTIONS" = "1" ; then
|
|
echo " Ideal Solution Thermodynamics = ON"
|
|
else
|
|
echo " Ideal Solution Thermodynamics = OFF"
|
|
fi
|
|
if test "$COMPILE_ELECTROLYTES" = "1" ; then
|
|
echo " Electrolyte Thermodynamics = ON"
|
|
else
|
|
echo " Electrolyte Thermodynamics = OFF"
|
|
fi
|
|
echo " "
|
|
|
|
########################################################
|
|
# BLAS and LAPACK
|
|
########################################################
|
|
#
|
|
# if lapack and blas libraries have been specified, then skip building the
|
|
# supplied libraries
|
|
|
|
|
|
build_lapack=0
|
|
build_blas=0
|
|
if test -z "$BLAS_LAPACK_LIBS"; then
|
|
if test "x$OS_IS_DARWIN" = "x0"; then
|
|
BLAS_LAPACK_LIBS="-lctlapack -lctblas"
|
|
BLAS_LAPACK_DIR="$buildlib"
|
|
build_blas=1
|
|
build_lapack=1
|
|
fi
|
|
fi
|
|
|
|
AC_SUBST(build_lapack)
|
|
|
|
AC_SUBST(build_blas)
|
|
|
|
AC_SUBST(BLAS_LAPACK_LIBS)
|
|
AC_SUBST(BLAS_LAPACK_DIR)
|
|
|
|
#
|
|
# Stubout section for f2c versions of lapack:
|
|
# Define these variables, but turn them off in main version of code
|
|
#
|
|
build_with_f2c=0
|
|
if test -n "$BUILD_WITH_F2C" ; then
|
|
if test "$BUILD_WITH_F2C" = "y" -o "$BUILD_WITH_F2C" = "Y" ; then
|
|
build_with_f2c=1
|
|
elif test "$BUILD_WITH_F2C" = "n" -o "$BUILD_WITH_F2C" = "N" ; then
|
|
build_with_f2c=0
|
|
elif test "$BUILD_WITH_F2C" = "default" ; then
|
|
if test "x$OS_IS_WIN" = "x1" ; then
|
|
build_with_f2c=1
|
|
else
|
|
build_with_f2c=0
|
|
fi
|
|
fi
|
|
fi
|
|
AC_SUBST(build_with_f2c)
|
|
|
|
#
|
|
# Build a string of Canne if you need the f2c library at link time
|
|
# -> Note, Linux systems already have the g2c library
|
|
# added in, which is the same thing as our
|
|
# f2c library. However, the f2c library seems
|
|
# more reliable at resolving names
|
|
if test x"$build_with_f2c" = "x1" ; then
|
|
NEED_F2C=1
|
|
case $ac_sys_system in
|
|
Linux) NEED_F2C= ;;
|
|
esac
|
|
fi
|
|
case $ac_sys_system in
|
|
Linux) NEED_F2C=1 ;;
|
|
esac
|
|
|
|
#
|
|
# Create a variable build_f2c_lib that determines whether
|
|
# the f2c_lib will be built on a given platform
|
|
#
|
|
build_f2c_lib=0
|
|
if test -n "$NEED_F2C" ; then
|
|
build_f2c_lib=1
|
|
fi
|
|
AC_SUBST(build_f2c_lib)
|
|
|
|
#
|
|
# LOCAL_LIBS:
|
|
# Build a string of Cantera libraries necessary to link
|
|
# Cantera applications
|
|
#
|
|
LOCAL_LIBS=
|
|
|
|
if test -n "$INCL_USER_CODE"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-luser
|
|
fi
|
|
|
|
if test -n "$NEED_ONED"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-loneD
|
|
fi
|
|
|
|
if test -n "$NEED_ZEROD"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-lzeroD
|
|
fi
|
|
|
|
if test -n "$NEED_CATHERMO"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-lcaThermo
|
|
fi
|
|
|
|
if test -n "$NEED_TRANSPORT"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-ltransport
|
|
fi
|
|
|
|
LOCAL_LIBS=$LOCAL_LIBS' '-lcantera
|
|
|
|
if test -n "$NEED_CVODE"; then
|
|
LOCAL_LIBS=$LOCAL_LIBS' '$CVODE_LIBS
|
|
fi
|
|
|
|
if test -n "$NEED_LAPACK"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '$BLAS_LAPACK_LIBS
|
|
fi
|
|
|
|
if test -n "$NEED_MATH"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-lctmath
|
|
fi
|
|
|
|
if test -n "$NEED_TPX"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-ltpx
|
|
fi
|
|
|
|
if test -n "$NEED_F2C"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-lctf2c
|
|
else
|
|
case $ac_sys_system in
|
|
Linux) LOCAL_LIBS=$LOCAL_LIBS' '-lg2c;;
|
|
esac
|
|
fi
|
|
# Darwin*) LOCAL_LIBS=$LOCAL_LIBS' '-lg2c;;
|
|
|
|
if test -n "$NEED_CKREADER"
|
|
then LOCAL_LIBS=$LOCAL_LIBS' '-lconverters
|
|
fi
|
|
|
|
LOCAL_LIB_DIRS=
|
|
if test -n "$BLAS_LAPACK_DIR"
|
|
then LOCAL_LIB_DIRS=$LOCAL_LIB_DIRS' -L'$BLAS_LAPACK_DIR
|
|
fi
|
|
|
|
|
|
if test -n "$SUNDIALS_HOME"
|
|
then LOCAL_LIB_DIRS=$LOCAL_LIB_DIRS' -L'$SUNDIALS_HOME/lib
|
|
fi
|
|
|
|
|
|
AC_SUBST(LOCAL_LIB_DIRS)
|
|
AC_SUBST(LOCAL_LIBS)
|
|
|
|
#-------------------------------------------------
|
|
# Language Interfaces
|
|
#-------------------------------------------------
|
|
|
|
AC_SUBST(CT_SHARED_LIB)
|
|
|
|
|
|
BUILD_F90=1
|
|
if test "x$BUILD_F90_INTERFACE" = "xn"; then
|
|
BUILD_F90=0
|
|
fi
|
|
|
|
BUILD_CLIB=1
|
|
|
|
#----------------------------------------------------------------
|
|
# Python Interface
|
|
#----------------------------------------------------------------
|
|
|
|
BUILD_PYTHON=0
|
|
if test "x$PYTHON_PACKAGE" = "xfull"; then
|
|
BUILD_PYTHON=2
|
|
elif test "x$PYTHON_PACKAGE" = "xdefault"; then
|
|
BUILD_PYTHON=2
|
|
elif test "x$PYTHON_PACKAGE" = "xminimal"; then
|
|
BUILD_PYTHON=1
|
|
elif test "x$PYTHON_PACKAGE" = "xnone"; then
|
|
BUILD_PYTHON=0
|
|
else
|
|
echo "ERROR: PYTHON_PACKAGE variable, " $PYTHON_PACKAGE ", is not understood. Use:"
|
|
echo " full, default, minimal, or none"
|
|
exit 1
|
|
fi
|
|
if test $BUILD_PYTHON = 0 ; then
|
|
AC_DEFINE(HAS_NO_PYTHON)
|
|
fi
|
|
|
|
if test "$PYTHON_CMD" = "default" -o \
|
|
"$PYTHON_CMD"x = "x"; then
|
|
AC_PATH_PROGS(PYTHON_CMD, python2 python, "none")
|
|
if test "$PYTHON_CMD" = "none"; then
|
|
BUILD_PYTHON=0
|
|
echo "Python not found. Only those portions of Cantera that"
|
|
echo "can be installed without Python will be installed."
|
|
else
|
|
echo "Python command set by configure to " $PYTHON_CMD
|
|
fi
|
|
else
|
|
echo "Python command preset to $PYTHON_CMD"
|
|
fi
|
|
|
|
|
|
AC_SUBST(BUILD_PYTHON)
|
|
AC_DEFINE_UNQUOTED(PYTHON_EXE,"$PYTHON_CMD")
|
|
|
|
if test "$USE_NUMERIC" = "y"; then
|
|
AC_DEFINE(HAS_NUMERIC)
|
|
fi
|
|
|
|
if test -n "$NUMARRAY_INC_DIR" ; then
|
|
echo "setting NUMARRAY_INC_DIR to $NUMARRAY_INC_DIR"
|
|
else
|
|
NUMARRAY_INC_DIR=""
|
|
if test -n "$NUMARRAY_HOME"; then
|
|
dir4="$NUMARRAY_HOME/include/python2.4"
|
|
if test -d $dir4 ; then
|
|
NUMARRAY_INC_DIR=$dir4
|
|
else
|
|
dir3="$NUMARRAY_HOME/include/python2.3"
|
|
if test -d $dir3 ; then
|
|
NUMARRAY_INC_DIR=$dir3
|
|
else
|
|
dir1="$NUMARRAY_HOME/include/python"
|
|
if test -d $dir1 ; then
|
|
NUMARRAY_INC_DIR=$dir1
|
|
else
|
|
echo "WARNING: NUMARRAY include dir $dir1 does not exist."
|
|
NUMARRAY_INC_DIR=$dir1
|
|
fi
|
|
fi
|
|
fi
|
|
echo "setting NUMARRAY_INC_DIR to $NUMARRAY_INC_DIR"
|
|
fi
|
|
fi
|
|
AC_SUBST(NUMARRAY_INC_DIR)
|
|
AC_SUBST(NUMARRAY_HOME)
|
|
AC_SUBST(CANTERA_PYTHON_HOME)
|
|
|
|
#--------------------------
|
|
# CVS Tag
|
|
#--------------------------
|
|
CVSTAG=`${PYTHON_CMD} tools/src/findtag.py ..`
|
|
if test "x$CVSTAG" = "x"; then
|
|
CVSTAG="HEAD"
|
|
fi
|
|
AC_SUBST(CVSTAG)
|
|
|
|
|
|
#
|
|
# Matlab Interface
|
|
#
|
|
BUILD_MATLAB=0
|
|
if test "$BUILD_MATLAB_TOOLBOX" != "n"; then
|
|
if test -z "$MATLAB_CMD"; then
|
|
AC_PATH_PROG(MATLAB_CMD, matlab, "none")
|
|
if test "$MATLAB_CMD" != "none"; then BUILD_MATLAB=1; BUILD_CLIB=1; fi
|
|
else
|
|
echo "Matlab command preset to $(MATLAB_CMD)$"
|
|
fi
|
|
if test "x$OS_IS_WIN" = "x1"; then
|
|
MATLAB_CMD=`cygpath -a -m "$MATLAB_CMD" `
|
|
echo "Windows MATLAB command: ${MATLAB_CMD}"
|
|
fi
|
|
else
|
|
echo "MATLAB interface will not be installed"
|
|
if test -z "$MATLAB_CMD"; then
|
|
MATLAB_CMD="matlab"
|
|
fi
|
|
fi
|
|
AC_SUBST(BUILD_MATLAB)
|
|
AC_SUBST(MATLAB_CMD)
|
|
AC_SUBST(BUILD_CLIB)
|
|
|
|
#-------------------------------------------------
|
|
|
|
#-----------------------------------------------------------------------
|
|
# C++ Compilation
|
|
#-----------------------------------------------------------------------
|
|
|
|
|
|
export_name=$target
|
|
AC_SUBST(export_name)
|
|
|
|
|
|
dnl Checks for programs.
|
|
AC_PROG_INSTALL
|
|
precompile_headers=no
|
|
#
|
|
# CFLAGS: flags that get attached to the C compiler
|
|
# statement. AFLAGS are base flags that
|
|
# get added to compilers and loaders.
|
|
# FFLAGS: flags that get attached to the C compiler
|
|
# statement. AFLAGS are base flags that
|
|
# get added to compilers and loaders.
|
|
#
|
|
# CXXFLAGS: Flags that get attached to the CXX compiler
|
|
# statement. AFLAGS are base flags that
|
|
# get added to compilers and loaders.
|
|
#
|
|
if test ! -z "$AFLAGS" ; then
|
|
if test -z "$CXXFLAGS" ; then
|
|
CXXFLAGS="$AFLAGS"
|
|
else
|
|
CXXFLAGS="$CXXFLAGS"" ""$AFLAGS"
|
|
fi
|
|
if test -z "$CFLAGS" ; then
|
|
CFLAGS="$AFLAGS"
|
|
else
|
|
CFLAGS="$CFLAGS"" ""$AFLAGS"
|
|
fi
|
|
if test -z "$FFLAGS" ; then
|
|
FFLAGS="$AFLAGS"
|
|
else
|
|
FFLAGS="$FFLAGS"" ""$AFLAGS"
|
|
fi
|
|
fi
|
|
|
|
if test "x$OS_IS_WIN" = "x1"; then
|
|
CXX=cl.exe
|
|
CC=cl.exe
|
|
else
|
|
|
|
#
|
|
# Determines the CXX compiler to use
|
|
#
|
|
export CXX
|
|
AC_PROG_CXX()
|
|
AC_PROG_CC()
|
|
|
|
|
|
AC_MSG_CHECKING(for ability to precompile headers)
|
|
|
|
if test -n "$GCC"; then
|
|
msg=`rm -f *h.gch; $CXX testpch.h &> /dev/null`
|
|
if test -f testpch.h.gch; then
|
|
precompile_headers=yes
|
|
AC_DEFINE(USE_PCH)
|
|
fi
|
|
fi
|
|
AC_MSG_RESULT(${precompile_headers})
|
|
# End of the OS_IS_WIN section
|
|
fi
|
|
|
|
# Sizes of various common basic types
|
|
AC_CHECK_SIZEOF(int, 4)
|
|
AC_CHECK_SIZEOF(long, 4)
|
|
AC_CHECK_SIZEOF(void *, 4)
|
|
AC_CHECK_SIZEOF(char, 1)
|
|
AC_CHECK_SIZEOF(short, 2)
|
|
AC_CHECK_SIZEOF(float, 4)
|
|
AC_CHECK_SIZEOF(double, 8)
|
|
AC_CHECK_SIZEOF(fpos_t, 4)
|
|
|
|
AC_SUBST(SOEXT)
|
|
|
|
if test -z "$SHARED"; then SHARED='-shared'; fi
|
|
AC_SUBST(SHARED)
|
|
|
|
if test -z "$PIC"; then PIC='-fPIC'; fi
|
|
AC_SUBST(PIC)
|
|
|
|
AC_SUBST(CXX_INCLUDES)
|
|
#
|
|
# LCXX_FLAGS: Flags that get attached to the CXX loader
|
|
# statement AFLAGS are base flags that
|
|
# get added to compilers and loaders.
|
|
#
|
|
if test ! -z "$AFLAGS" ; then
|
|
if test -z "$LCXX_FLAGS" ; then
|
|
LCXX_FLAGS="$AFLAGS"
|
|
else
|
|
LCXX_FLAGS="$LCXXFLAGS"" ""$AFLAGS"
|
|
fi
|
|
fi
|
|
AC_SUBST(LCXX_FLAGS)
|
|
#
|
|
# Ending Libs for compiling static applications and
|
|
# dynamically loaded libraries
|
|
# (sunpro solaris needs a few for dynamic linking)
|
|
#
|
|
case $ac_sys_system in
|
|
SunOS* )
|
|
case $CXX in
|
|
CC* )
|
|
LCXX_END_LIBS="$LCXX_END_LIBS"" -lCrun -lCstd" ;;
|
|
esac ;;
|
|
Linux)
|
|
LCXX_END_LIBS=" -lctf2c ""$LCXX_END_LIBS" ;;
|
|
esac
|
|
AC_SUBST(LCXX_END_LIBS)
|
|
|
|
|
|
has_sstream=no
|
|
AC_MSG_CHECKING(for sstream)
|
|
cat >> testsstream.cpp << EOF
|
|
#include <sstream>
|
|
main() {}
|
|
EOF
|
|
msg=`${CXX} -c testsstream.cpp &> /dev/null`
|
|
if test -f testsstream.o; then
|
|
has_sstream=yes
|
|
rm testsstream.o
|
|
AC_DEFINE(HAS_SSTREAM)
|
|
fi
|
|
rm -f testsstream.cpp
|
|
AC_MSG_RESULT(${has_sstream})
|
|
|
|
#
|
|
# Determine if we have a command to strip symbols from an object file
|
|
#
|
|
HAVE_STRIPSYMBOLS='yes'
|
|
case $ac_sys_system in
|
|
SunOS* )
|
|
HAVE_STRIPSYMBOLS='no';;
|
|
Darwin* )
|
|
HAVE_STRIPSYMBOLS='no';;
|
|
esac
|
|
echo 'checking for a strip symbol command ... ' $HAVE_STRIPSYMBOLS
|
|
AC_SUBST(HAVE_STRIPSYMBOLS)
|
|
|
|
#---------------------------------------------------------------------------
|
|
# Fortran
|
|
#---------------------------------------------------------------------------
|
|
|
|
#if test x"$build_with_f2c" = "x0"; then
|
|
AC_PROG_F77()
|
|
|
|
# if G77 is defined, then add a flag to turn off adding a second underscore
|
|
# to procedures that have an underscore in the name
|
|
if test -n "$G77"; then
|
|
FFLAGS=$FFLAGS' -fno-second-underscore'
|
|
fi
|
|
|
|
dnl Checks for libraries.
|
|
# AC_F77_LIBRARY_LDFLAGS()
|
|
|
|
override_f77_libs=0;
|
|
case $ac_sys_system in
|
|
Darwin*) FLIBS='-lSystem'; override_f77_libs=1; SHARED_CTLIB=0;;
|
|
esac
|
|
|
|
if test $override_f77_libs -gt 0; then
|
|
echo The Fortran 77 libraries on this platform are not correctly determined by
|
|
echo the configuration process. They are being manually set to
|
|
echo FLIBS = $FLIBS
|
|
fi
|
|
|
|
#fi
|
|
|
|
#--------------------------------------------
|
|
|
|
|
|
if test "x${BUILD_F90}" != "x0"; then
|
|
if test "$F90" = "default" -o \
|
|
"$F90"x = "x"; then
|
|
AC_PATH_PROGS(F90, f95 gfortran g95, "none")
|
|
if test "$F90" = "none" ; then
|
|
echo "ERROR: Fortran 90 requested, but no Fortran 90/95 compiler found!"
|
|
else
|
|
echo "Fortran compiler set to " $F90
|
|
fi
|
|
else
|
|
echo "Fortran 90/95 compiler preset to $F90"
|
|
fi
|
|
fi
|
|
|
|
has_f90=no
|
|
f90type=none
|
|
f90_module_dir='-I'
|
|
f90_opts=''
|
|
|
|
if test "x${BUILD_F90}" != "x0"; then
|
|
AC_MSG_CHECKING(Fortran 90 compiler ($F90) type)
|
|
cat >> testf90.f90 << EOF
|
|
module mt
|
|
double precision, parameter :: x = 2.3
|
|
end module mt
|
|
program testf90
|
|
use mt
|
|
integer :: i
|
|
end program testf90
|
|
EOF
|
|
msg=`${F90} -c testf90.f90 &> /dev/null`
|
|
if test -f testf90.o; then
|
|
has_f90=yes
|
|
rm testf90.o
|
|
f90type=unknown
|
|
fi
|
|
#
|
|
msg=`${F90} --version &> f90out`
|
|
isgfortran=`grep -c 'GNU Fortran 95' f90out`
|
|
if test "x${isgfortran}" != "x0"; then
|
|
f90type="gfortran"
|
|
f90opts="-fno-second-underscore -I. -I${ct_incdir}"
|
|
f90buildopts="-fno-second-underscore -I."
|
|
fi
|
|
|
|
isg95=`grep -c 'G95' f90out`
|
|
if test "x${isg95}" != "x0"; then
|
|
f90type="g95"
|
|
f90opts="-fno-second-underscore -I. -I${ct_incdir}"
|
|
f90buildopts="-fno-second-underscore -I."
|
|
#case $ac_sys_system in
|
|
# Darwin*) FLIBS='-lg2c -lcc_dynamic';;
|
|
#esac
|
|
fi
|
|
|
|
msg=`${F90} -V &> f90out`
|
|
isnag=`grep -c NAGWare f90out`
|
|
if test "x${isnag}" != "x0"; then
|
|
f90type="NAG"
|
|
f90opts="-I. -I${ct_incdir}"
|
|
f90buildopts="-I."
|
|
fi
|
|
#
|
|
msg=`${F90} -V -c testf90.f90 &> f90out`
|
|
isabsoft=`grep -c Absoft f90out`
|
|
if test "x${isabsoft}" != "x0"; then
|
|
f90type="Absoft"
|
|
f90opts="-p. -p${ct_incdir} -s -YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1"
|
|
f90buildopts="-p. -s -YEXT_NAMES=LCS -YEXT_SFX=_ -YCFRL=1"
|
|
fi
|
|
rm -f testf90.f90
|
|
AC_MSG_RESULT(${f90type})
|
|
if test "x${BUILD_F90}" != "x0"; then
|
|
if test "x${has_f90}" = "xno"; then
|
|
echo " -> cannot build the Fortran 90 interface"
|
|
BUILD_F90=0
|
|
fi
|
|
fi
|
|
fi
|
|
if test -e f90out ; then
|
|
rm -f f90out
|
|
fi
|
|
savef90flags=${F90FLAGS}
|
|
F90FLAGS=${f90opts}' '${F90FLAGS}
|
|
F90BUILDFLAGS=${f90buildopts}' '${savef90flags}
|
|
AC_SUBST(BUILD_F90)
|
|
AC_SUBST(F90)
|
|
AC_SUBST(F90FLAGS)
|
|
AC_SUBST(F90BUILDFLAGS)
|
|
|
|
AC_OBJEXT
|
|
AC_EXEEXT
|
|
|
|
AC_SUBST(precompile_headers)
|
|
AC_SUBST(CXX_DEPENDS)
|
|
AC_SUBST(FLIBS)
|
|
AC_SUBST(OS_IS_DARWIN)
|
|
AC_SUBST(OS_IS_WIN)
|
|
AC_SUBST(OS_IS_CYGWIN)
|
|
AC_SUBST(SHARED_CTLIB)
|
|
AC_SUBST(mex_ext)
|
|
|
|
# filename extensions for Fortran 77
|
|
if test -z "$F77_EXT"; then F77_EXT=f; fi
|
|
AC_SUBST(F77_EXT)
|
|
|
|
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
if test -z "$CXX_EXT"; then CXX_EXT=cpp; fi
|
|
AC_SUBST(CXX_EXT)
|
|
|
|
if test -z "$OBJ_EXT"; then OBJ_EXT='o'; fi
|
|
AC_SUBST(OBJ_EXT)
|
|
|
|
if test -z "$EXE_EXT"; then EXE_EXT=$EXEEXT; fi
|
|
AC_SUBST(EXE_EXT)
|
|
|
|
dnl AC_LANG_FORTRAN77
|
|
#local_math_libs='-lcvode'
|
|
#AC_SUBST(local_math_libs)
|
|
|
|
|
|
math_libs='-lcvode -lctmath'
|
|
AC_SUBST(math_libs)
|
|
|
|
if test "$LAPACK_FTN_TRAILING_UNDERSCORE" = "y"
|
|
then AC_DEFINE(LAPACK_FTN_TRAILING_UNDERSCORE)
|
|
fi
|
|
|
|
if test "$LAPACK_FTN_STRING_LEN_AT_END" = "y"
|
|
then AC_DEFINE(LAPACK_FTN_STRING_LEN_AT_END)
|
|
fi
|
|
|
|
if test "$LAPACK_NAMES" = "lower"
|
|
then AC_DEFINE(LAPACK_NAMES_LOWERCASE)
|
|
fi
|
|
|
|
# from the Python configure.in file...
|
|
|
|
# Set info about shared libraries.
|
|
AC_SUBST(SO)
|
|
AC_SUBST(LDSHARED)
|
|
|
|
AC_SUBST(EXTRA_LINK)
|
|
|
|
# SO is the extension of shared libraries `(including the dot!)
|
|
# -- usually .so, .sl on HP-UX, .dll on Cygwin
|
|
AC_MSG_CHECKING(SO)
|
|
if test -z "$SO"
|
|
then
|
|
case $ac_sys_system in
|
|
hp*|HP*) SO=.sl;;
|
|
CYGWIN*) SO=.dll;;
|
|
Darwin*) SO=.dylib;;
|
|
*) SO=.so;;
|
|
esac
|
|
fi
|
|
AC_MSG_RESULT($SO)
|
|
|
|
dnl Checks for header files.
|
|
|
|
dnl Checks for typedefs, structures, and compiler characteristics.
|
|
|
|
AC_LANG_CPLUSPLUS
|
|
|
|
dnl AC_MSG_CHECKING(for the Standard Template Library)
|
|
|
|
#
|
|
# Section to handle tscompare
|
|
#
|
|
cd bin
|
|
touch s1
|
|
sleep 1
|
|
touch s2
|
|
tsc=tscompare_alwaystrue
|
|
./tscompare_sh s2 s1 2> /dev/null
|
|
res=$?
|
|
if test "$res" = "0" ; then
|
|
tsc=tscompare_sh
|
|
else
|
|
./tscompare_csh s2 s1 2> /dev/null
|
|
res=$?
|
|
if test "$res" = "0" ; then
|
|
tsc=tscompare_csh
|
|
else
|
|
./tscompare_ksh s2 s1 2> /dev/null
|
|
res=$?
|
|
if test "$res" = "0" ; then
|
|
tsc=tsccompare_ksh
|
|
fi
|
|
fi
|
|
fi
|
|
/bin/rm s2 s1
|
|
echo "checking for a time step comparison checker ... " $tsc
|
|
cp $tsc tscompare
|
|
currPath=`pwd`
|
|
TSCOMPARE_abs="$currPath"'/'tscompare
|
|
cd ..
|
|
AC_SUBST(TSCOMPARE_abs)
|
|
|
|
#
|
|
# Create an absolute path for the $INSTALL function
|
|
# named INSTALL_abs
|
|
# (note m4 expansions @<:@ = left bracket, @:>@ = right bracket)
|
|
#echo "HKM - INSTALL = " $INSTALL
|
|
case "$INSTALL" in
|
|
@<:@\\/$@:>@* | ?:@<:@\\/@:>@* )
|
|
INSTALL_abs="$INSTALL" ;;
|
|
*)
|
|
currPath=`pwd`
|
|
INSTALL_abs="$currPath"'/'"$INSTALL" ;;
|
|
esac
|
|
#echo 'INSTALL_abs = ' $INSTALL_abs
|
|
AC_SUBST(INSTALL_abs)
|
|
|
|
#
|
|
# See if the install rule accepts the -v flag
|
|
#
|
|
$INSTALL -v License.txt config > config/e.out 2>&1
|
|
dd=$?
|
|
INSTALL_VERBOSE=
|
|
if test "$dd" = "0" ; then
|
|
INSTALL_VERBOSE="-v"
|
|
fi
|
|
if test -e "config/License.txt" ; then
|
|
rm -f config/License.txt
|
|
fi
|
|
if test -e config/e.out ; then
|
|
rm -f e.out
|
|
fi
|
|
AC_SUBST(INSTALL_VERBOSE)
|
|
|
|
|
|
dnl Checks for library functions.
|
|
|
|
AC_OUTPUT(Makefile \
|
|
Cantera/Makefile \
|
|
Cantera/src/Makefile \
|
|
Cantera/src/zeroD/Makefile \
|
|
Cantera/src/oneD/Makefile \
|
|
Cantera/src/converters/Makefile \
|
|
Cantera/src/transport/Makefile \
|
|
Cantera/src/thermo/Makefile \
|
|
Cantera/clib/src/Makefile \
|
|
Cantera/fortran/src/Makefile \
|
|
Cantera/fortran/f77demos/f77demos.mak \
|
|
Cantera/fortran/f77demos/isentropic.dsp \
|
|
Cantera/matlab/Makefile \
|
|
Cantera/matlab/setup_matlab.py \
|
|
Cantera/matlab/setup_winmatlab.py \
|
|
Cantera/python/Makefile \
|
|
Cantera/python/setup.py \
|
|
Cantera/cxx/Makefile \
|
|
Cantera/cxx/src/Makefile \
|
|
Cantera/cxx/demos/Makefile \
|
|
Cantera/user/Makefile \
|
|
Cantera/python/src/Makefile \
|
|
ext/lapack/Makefile \
|
|
ext/blas/Makefile \
|
|
ext/cvode/Makefile \
|
|
ext/math/Makefile \
|
|
ext/recipes/Makefile \
|
|
ext/tpx/Makefile \
|
|
ext/Makefile \
|
|
ext/f2c_libs/Makefile \
|
|
ext/f2c_blas/Makefile \
|
|
ext/f2c_lapack/Makefile \
|
|
ext/f2c_math/Makefile \
|
|
examples/Makefile \
|
|
examples/cxx/Makefile \
|
|
tools/Makefile \
|
|
tools/doc/Cantera.cfg \
|
|
tools/doc/Makefile \
|
|
tools/src/Makefile \
|
|
tools/src/sample.mak \
|
|
tools/src/finish_install.py \
|
|
tools/src/package4mac \
|
|
tools/templates/f77/demo.mak \
|
|
tools/templates/f90/demo.mak \
|
|
tools/templates/cxx/demo.mak \
|
|
tools/testtools/Makefile \
|
|
data/inputs/Makefile \
|
|
test_problems/Makefile \
|
|
test_problems/cxx_ex/Makefile \
|
|
test_problems/silane_equil/Makefile \
|
|
test_problems/surfkin/Makefile \
|
|
test_problems/diamondSurf/Makefile \
|
|
test_problems/ChemEquil_gri_matrix/Makefile \
|
|
test_problems/ChemEquil_gri_pairs/Makefile \
|
|
test_problems/fracCoeff/Makefile \
|
|
test_problems/negATest/Makefile \
|
|
test_problems/ck2cti_test/Makefile \
|
|
test_problems/ck2cti_test/runtest \
|
|
test_problems/min_python/Makefile \
|
|
test_problems/min_python/minDiamond/Makefile \
|
|
test_problems/min_python/negATest/Makefile \
|
|
test_problems/python/Makefile \
|
|
test_problems/cathermo/Makefile \
|
|
test_problems/cathermo/issp/Makefile \
|
|
test_problems/cathermo/ims/Makefile \
|
|
test_problems/cathermo/testIAPWS/Makefile \
|
|
test_problems/cathermo/testIAPWSPres/Makefile \
|
|
test_problems/cathermo/testIAPWSTripP/Makefile \
|
|
test_problems/cathermo/testWaterPDSS/Makefile \
|
|
test_problems/cathermo/testWaterTP/Makefile \
|
|
test_problems/cathermo/HMW_test_1/Makefile \
|
|
test_problems/cathermo/HMW_test_3/Makefile \
|
|
test_problems/cathermo/HMW_graph_GvT/Makefile \
|
|
test_problems/cathermo/HMW_graph_GvI/Makefile \
|
|
test_problems/cathermo/HMW_graph_HvT/Makefile \
|
|
test_problems/cathermo/HMW_graph_CpvT/Makefile \
|
|
test_problems/cathermo/HMW_graph_VvT/Makefile \
|
|
test_problems/cathermo/DH_graph_1/Makefile \
|
|
bin/install_tsc \
|
|
)
|
|
# )
|
|
if test "x${OS_IS_WIN}" = "x1"; then
|
|
cp -f config.h ../Cantera/src
|
|
cd ext/f2c_libs
|
|
cp arith.hwin32 arith.h
|
|
cd ../..
|
|
fi
|
|
if test -f "test_problems/ck2cti_test/runtest"; then
|
|
chmod +x test_problems/ck2cti_test/runtest
|
|
fi
|
|
if test -f "bin/install_tsc"; then
|
|
chmod +x bin/install_tsc
|
|
fi
|
|
|
|
|
|
echo
|
|
if test "x${OS_IS_WIN}" = "x0"; then
|
|
echo "Now type '${MAKE}' to build Cantera"
|
|
# else
|
|
# echo "Now start Visual Studio, open workspace 'win32/cantera.dsw',"
|
|
# echo "and build project 'all'. When this finishes, come back here and "
|
|
# echo "type 'make win' to make the Python and/or MATLAB interfaces."
|
|
fi
|
|
echo
|
|
|