#!/bin/sh # # $Source$ # $Author$ # $Revision$ # $Date$ # ####################################################################### # # Unix / Linux / Cygwin / Mac OS X Configuration File # # Edit this file to control how Cantera is built. Parameters can be set # here, or alternatively environment variables may be set before calling # this script. # # NOTE: if you make changes to this file, save it with another name # so that it will not be overwritten if you update the source # distribution. # Any parameters you are unsure of may be commented out, and # 'configure' will attempt to find suitable values for your system. ####################################################################### #---------------------------------------------------------------------- # Language Interfaces #---------------------------------------------------------------------- # # Cantera provides interfaces for several languages. Set to 'y' to # build the specified interface. If you only plan to use Cantera from # C++, you do not need to build any of these. #------------ Fortran 90 -------------------------------------------- # Build the Fortran 90 interface. BUILD_FORTRAN_90_INTERFACE='n' # Fortran is temporarily not working #------------ Python ------------------------------------------------- # Set this if you want to build the Cantera Python interface. Python # must be installed on your system first, since the build process runs # a python script. Python 2.0 or greater is required. Set PYTHON_CMD # to the path to the Python interpreter to use, if there is more than # one on your system. # BUILD_PYTHON_INTERFACE=${BUILD_PYTHON_INTERFACE:="y"} #----------- Matlab -------------------------------------------------- # Set this to "y" if you want to build the Matlab toolbox. Matlab must # be installed on your system first, since the build process runs a # Matlab script. BUILD_MATLAB_TOOLBOX=${BUILD_MATLAB_TOOLBOX:="y"} #---------------------------------------------------------------------- # Kernel Configuration #---------------------------------------------------------------------- # If you are only planning to use a portion of Cantera, you may only # need a stripped-down kernel. Set those features you want enabled to # 'y', and set those you want to skip to 'n' (actually anything but # 'y') or comment them out. Some features are dependent on others; for # example, enabling 'CK' automatically enables KINETICS and THERMO. # If you only need to use Cantera to evaluate thermodynamic, kinetic, # and transport properties, it is sufficient to enable only KINETICS # and TRANSPORT. # thermodynamic properties ENABLE_THERMO='y' # enable importing Chemkin input files ENABLE_CK='y' # homogeneous and heterogeneous kinetics ENABLE_KINETICS='y' # transport properties ENABLE_TRANSPORT='y' # chemical equilibrium ENABLE_EQUIL='y' # stirred reactor models ENABLE_REACTORS='y' # One-dimensional flows ENABLE_FLOW1D='y' # ODE integrators and DAE solvers ENABLE_SOLVERS='y' # reaction path analysis ENABLE_RXNPATH='y' # non-ideal pure substance models for a few fluids imported from the # 'TPX' package (http://adam.caltech.edu/software/tpx) ENABLE_TPX='n' #----------------------------------------------------------------- # BLAS and LAPACK #----------------------------------------------------------------- # # Cantera comes with Fortran versions of those parts of BLAS and # LAPACK it requires. But if you have another version of BLAS and/or # LAPACK you'd like to use, uncomment one or both of the following # lines, and enter here the string that should be added to the link # command to link to it. # # BLAS_LIBRARY=-lblas # # LAPACK_LIBRARY=-llapack # # The options below do not need be set if you are using the default libraries. # # Set to 'lower' or 'upper', depending on whether the procedure names # in the libraries are lowercase or uppercase. If you don't know, run # 'nm' on the library file (e.g. 'nm libblas.a') Note that the these options # apply to both the BLAS and LAPACK libraries. LAPACK_NAMES='lower' LAPACK_FTN_TRAILING_UNDERSCORE='y' # Currently this must be set to 'y'. LAPACK_FTN_STRING_LEN_AT_END='y' #------------------------------------------------------------------ # C++ compiler options #------------------------------------------------------------------ # # the C++ compiler to use. # CXX=${CXX:=g++} # C++ compiler flags CXXFLAGS=${CXXFLAGS:="-O2 -Wall"} # the C++ flags required for linking #LCXX_FLAGS= # Ending libraries to tack onto the linking of all C++ programs LCXX_END_LIBS="-lm" # the compiler flag to use to compile code that will be inserted into shared # libraries. PIC=${PIC:=-fPIC} # the compiler option to create a shared library from object files SHARED=${SHARED:="-shared"} #------------------------------------------------------------------- # Fortran compiler options #------------------------------------------------------------------- # Cantera uses some external procedures written in Fortran 77. # In addition, Cantera implements an interface for Fortran 90 # application programs. The parameters in this section apply # to both. # the Fortran 77 and Fortran 90 compilers. You only need a Fortran 90 # compiler if you are building the Fortran 90 interface. #F77=${F77:=f77} F90=${F90:=f90} # Fortran compiler flags FFLAGS=${FFLAGS:='-O2'} # the additional Fortran flags required for linking, if any #LFORT_FLAGS = # Fortran 90 module directory FORT_MODULE_DIRECTORY=${FORT_MODULE_DIRECTORY:=$CANTERA_ROOT/include/fortran} # Fortran 90 module search path command FORT_MODULE_PATH_CMD=${FORT_MODULE_PATH_CMD:="-I$FORT_MODULE_DIRECTORY"} #------------------------------------------------------ # other programs #------------------------------------------------------ # the command to create a static library ARCHIVE=${ARCHIVE:="ar ruv"} # the command to run the 'make' utility. The Cantera Makefiles are # compatible with the GNU make utility, so if your make utility # doesn't work, try GNU make. MAKE=${MAKE:=make} # # file extensions CXX_EXT=${CXX_EXT:=cpp} F77_EXT=${F77_EXT:=f} F90_EXT=${F90_EXT:=f90} #OBJ_EXT= #EXE_EXT= CT_SHARED_LIB=${CT_SHARED_LIB:=ct14} #----------------------------------------------------------------------- #------------------- don't change anything below!! --------------------- #----------------------------------------------------------------------- export ARCHIVE export BLAS_LIBRARY export BUILD_F90 export BUILD_FORTRAN_90_INTERFACE export BUILD_PYTHON_INTERFACE export BUILD_MATLAB_TOOLBOX export MATLAB_CMD export CANTERA_ROOT export CT_SHARED_LIB export CXX export CXX_EXT export CXXFLAGS export CXX_INCLUDES export ENABLE_THERMO export ENABLE_KINETICS export ENABLE_TRANSPORT export ENABLE_CK export ENABLE_EQUIL export ENABLE_REACTORS export ENABLE_SOLVERS export ENABLE_RXNPATH export ENABLE_TPX export ENABLE_FLOW1D export EXE_EXT export F77 export F77_EXT export F90 export F90_EXT export FFLAGS export LAPACK_LIBRARY export LAPACK_NAMES export LCXX_FLAGS export LCXX_END_LIBS export LFORT_FLAGS export LAPACK_FTN_STRING_LEN_AT_END export LAPACK_FTN_TRAILING_UNDERSCORE export LIB_DIR export FORT_MODULE_DIRECTORY export FORT_MODULE_PATH_COMMAND export OBJ_EXT export PYTHON_INCDIR export PYTHON_CMD export PIC export SHARED export SOEXT export MAKE #checkroot="checking whether CANTERA_ROOT is properly set..." #if test "$CANTERA_ROOT_INIT" = "$CANTERA_ROOT"; then # echo $checkroot' 'yes #else # echo $checkroot' 'no # echo ' #### IMPORTANT! #### before using Cantera, set environment variable #### CANTERA_ROOT to '$CANTERA_ROOT # if test -n "$CANTERA_ROOT_INIT"; then # echo '#### (CANTERA_ROOT is currently set to '$CANTERA_ROOT_INIT') # ' # fi # #fi cd config chmod +x ./configure chmod +x ./config.guess chmod +x ./config.sub chmod +x ./install-sh ./configure $1 $2 $3 $4