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_DEFINE(NDEBUG) ac_sys_system=`uname -s` ac_sys_release=`uname -r` AC_PREFIX_DEFAULT([/usr/local]) local_inst=1 if test "x${prefix}" = "xNONE"; then prefix=${ac_default_prefix} local_inst=0 fi AC_SUBST(prefix) AC_SUBST(local_inst) CANTERA_LIBDIR=$prefix/lib/cantera CANTERA_INCDIR=$prefix/include/cantera ctroot=`(cd ..;pwd)` if test -z "$username"; then username=$USER; fi AC_SUBST(username) AC_SUBST(ctroot) AC_CANONICAL_SYSTEM() buildlib=$ctroot/build/lib/$target AC_SUBST(buildlib) if test -z "$MAKE"; then MAKE='make'; fi AC_SUBST(MAKE) #if test -z "$ARCHIVE"; then ARCHIVE='ar ruv'; fi AC_SUBST(ARCHIVE) #if test -z "$SOEXT"; then SOEXT='so'; fi 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) #if test -z "$LCXX_FLAGS"; then LCXX_FLAGS="$CXXFLAGS"; fi AC_SUBST(LCXX_FLAGS) #if test -z "$LCXX_END_LIBS"; then LCXX_END_LIBS='-lm'; fi AC_SUBST(LCXX_END_LIBS) ######################################################### # The Cantera Kernel ######################################################### KERNEL='base' BUILD_CK= NEED_CKREADER= NEED_BLAS= NEED_LAPACK= NEED_RECIPES= NEED_MATH= NEED_TPX= NEED_CVODE= NEED_TRANSPORT= NEED_ZEROD= NEED_ONED= if test "$ENABLE_THERMO" = "y"; then KERNEL=$KERNEL' 'thermo; fi if test "$ENABLE_KINETICS" = "y"; then KERNEL=$KERNEL' 'kinetics; fi if test "$ENABLE_CK" = "y" then KERNEL=$KERNEL' 'ck BUILD_CK=1 NEED_CKREADER=1 fi if test "$ENABLE_TRANSPORT" = "y" then KERNEL=$KERNEL' 'trprops NEED_BLAS=1 NEED_LAPACK=1 NEED_MATH=1 NEED_TRANSPORT=1 fi if test "$ENABLE_EQUIL" = "y" then KERNEL=$KERNEL' 'equil NEED_BLAS=1 NEED_LAPACK=1 NEED_RECIPES=1 fi if test "$ENABLE_REACTORS" = "y" then KERNEL=$KERNEL' 'reactor NEED_CVODE=1 NEED_ZEROD=1 fi if test "$ENABLE_SOLVERS" = "y" then KERNEL=$KERNEL' 'solvers NEED_CVODE=1 NEED_MATH=1 fi if test "$ENABLE_FLOW1D" = "y" then KERNEL=$KERNEL' 'flow1D NEED_BLAS=1 NEED_LAPACK=1 NEED_MATH=1 NEED_ONED=1 fi if test "$ENABLE_RXNPATH" = "y" then KERNEL=$KERNEL' 'rpath fi if test "$ENABLE_TPX" = "y" then KERNEL=$KERNEL' 'tpx NEED_TPX=1 fi AC_SUBST(KERNEL) AC_SUBST(BUILD_CK) AC_SUBST(LIB_DIR) ######################################################## # BLAS and LAPACK ######################################################## # # if lapack and blas libraries have been specified, then skip building the # supplied libraries build_lapack=0 if test -z "$LAPACK_LIBRARY"; then LAPACK_LIBRARY=-lctlapack; build_lapack=1; fi AC_SUBST(LAPACK_LIBRARY) AC_SUBST(build_lapack) build_blas=0 if test -z "$BLAS_LIBRARY"; then BLAS_LIBRARY=-lctblas; build_blas=1; fi AC_SUBST(BLAS_LIBRARY) AC_SUBST(build_blas) LOCAL_LIBS= 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_TRANSPORT" then LOCAL_LIBS=$LOCAL_LIBS' '-ltransport fi if test -n "$NEED_CKREADER" then LOCAL_LIBS=$LOCAL_LIBS' '-lconverters fi LOCAL_LIBS=$LOCAL_LIBS' '-lcantera if test -n "$NEED_RECIPES" then LOCAL_LIBS=$LOCAL_LIBS' '-lrecipes fi if test -n "$NEED_CVODE" then LOCAL_LIBS=$LOCAL_LIBS' '-lcvode fi if test -n "$NEED_LAPACK" then LOCAL_LIBS=$LOCAL_LIBS' '$LAPACK_LIBRARY fi if test -n "$NEED_MATH" then LOCAL_LIBS=$LOCAL_LIBS' '-lctmath fi if test -n "$NEED_BLAS" then LOCAL_LIBS=$LOCAL_LIBS' '$BLAS_LIBRARY fi if test -n "$NEED_TPX" then LOCAL_LIBS=$LOCAL_LIBS' '-ltpx fi AC_SUBST(LOCAL_LIBS) # # Cantera directory structure # if test -z "$CANTERA_ROOT"; then CANTERA_ROOT=$prefix/cantera; fi #AC_SUBST(CANTERA_ROOT) #if test -z "$CANTERA_LIBDIR"; then CANTERA_LIBDIR=$CANTERA_ROOT/lib; fi AC_SUBST(CANTERA_LIBDIR) #if test -z "$CANTERA_INCDIR"; then CANTERA_INCDIR=$CANTERA_ROOT/include; fi AC_SUBST(CANTERA_INCDIR) if test -z "$CT_TOOLS_BIN"; then CT_TOOLS_BIN=$CANTERA_ROOT/tools/bin; fi AC_SUBST(CT_TOOLS_BIN) if test -z "$CANTERA_BINDIR"; then CANTERA_BINDIR=$CANTERA_ROOT/bin; fi AC_SUBST(CANTERA_BINDIR) if test -z "$CANTERA_EXAMPLES_DIR"; then CANTERA_EXAMPLES_DIR=$CANTERA_ROOT/examples; fi AC_SUBST(CANTERA_EXAMPLES_DIR) if test -z "$CANTERA_DATA_DIR"; then CANTERA_DATA_DIR=$CANTERA_ROOT/data; fi AC_SUBST(CANTERA_DATA_DIR) #------------------------------------------------- # Language Interfaces #------------------------------------------------- AC_SUBST(CT_SHARED_LIB) BUILD_CLIB=0 # # Fortran 90 Interface # BUILD_F90=0 if test "$BUILD_FORTRAN_90_INTERFACE" = "y"; then BUILD_F90=1; BUILD_CLIB=1; fi AC_SUBST(BUILD_F90) # # Python Interface # BUILD_PYTHON=0 if test -z "$PYTHON_CMD"; then AC_PATH_PROGS(PYTHON_CMD, python2 python, "none") if test "$PYTHON_CMD" != "none"; then BUILD_PYTHON=1; BUILD_CLIB=1; fi else BUILD_PYTHON=1 fi AC_SUBST(BUILD_PYTHON) #AC_SUBST(PYTHON_CMD) # # Matlab Interface # BUILD_MATLAB=0 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 fi #if test "$BUILD_MATLAB_TOOLBOX" = "y"; then BUILD_MATLAB=1; BUILD_CLIB=1; fi AC_SUBST(BUILD_MATLAB) # AC_SUBST(MATLAB_CMD) AC_SUBST(BUILD_CLIB) #------------------------------------------------- export_name=$target AC_SUBST(export_name) dnl Checks for programs. AC_PROG_CXX() AC_PROG_CC() AC_PROG_INSTALL AC_SUBST(CXX_DEPENDS) #--------------------------------- # Fortran #--------------------------------- AC_PROG_F77() AC_SUBST(F90) # 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 SHARED_CTLIB=0 OS_IS_DARWIN=0 mex_ext=mexglx dnl Checks for libraries. AC_F77_LIBRARY_LDFLAGS() case $ac_sys_system in Darwin*) FLIBS='-lg2c -lgcc'; SHARED_CTLIB=0; OS_IS_DARWIN=1; mex_ext=mexmac; AC_SUBST(FLIBS) AC_SUBST(OS_IS_DARWIN) esac AC_SUBST(SHARED_CTLIB) AC_SUBST(mex_ext) # filename extensions for Fortran 77 and Fortran 90 if test -z "$F77_EXT"; then F77_EXT=f; fi AC_SUBST(F77_EXT) if test -z "$F90_EXT"; then F90_EXT=f90; fi AC_SUBST(F90_EXT) if test -n "$FORT_MODULE_PATH_CMD" then FORT_MOD_PATH=$FORT_MODULE_PATH_CMD fi AC_SUBST(FORT_MOD_PATH) AC_LANG_CPLUSPLUS AC_OBJEXT AC_EXEEXT if test -z "$CXX_EXT"; then CXX_EXT=cpp; fi AC_SUBST(CXX_EXT) if test -z "$OBJ_EXT"; then OBJ_EXT=$OBJEXT; 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='-lrecipes -lcvode' AC_SUBST(local_math_libs) math_libs='-lrecipes -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) # 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) dnl Checks for library functions. AC_OUTPUT(../Cantera/Makefile \ ../Cantera/src/Makefile \ ../Cantera/src/zeroD/Makefile \ ../Cantera/src/oneD/Makefile \ ../Cantera/src/converters/Makefile \ ../Cantera/src/transport/Makefile \ ../Cantera/clib/src/Makefile \ ../Cantera/matlab/Makefile \ ../Cantera/python/Makefile \ ../Cantera/python/setup.py \ ../Cantera/cxx/Makefile \ ../Cantera/python/src/Makefile \ ../ext/lapack/Makefile \ ../ext/blas/Makefile \ ../ext/cvode/Makefile \ ../ext/math/Makefile \ ../ext/tpx/Makefile \ ../ext/Makefile \ ../ext/recipes/Makefile \ ../examples/Makefile \ ../examples/cxx/Makefile \ ../Makefile \ ../tools/Makefile \ ../tools/src/Makefile \ ../tools/src/sample.mak \ ../tools/templates/f77/demo.mak \ ../tools/testtools/Makefile \ ../data/inputs/Makefile \ ../test_problems/Makefile \ ../test_problems/cxx_ex/Makefile \ ../test_problems/silane_equil/Makefile) # ) # $Log: configure.in,v