diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 000000000..f30cbb68d --- /dev/null +++ b/ChangeLog @@ -0,0 +1 @@ +6/14/12 Merging PECOS autotools branch with scons cantera 2.0 diff --git a/cantera.pc.in b/cantera.pc.in new file mode 100644 index 000000000..869e3e3ef --- /dev/null +++ b/cantera.pc.in @@ -0,0 +1,24 @@ +# cantera installation details +prefix=/h2/topalian/workspace/cantera/install +exec_prefix=${prefix} +libdir=${exec_prefix}/lib +includedir=${prefix}/include +# Fortran compilation and linking information +# Retrieve these using `pkg-config --variable=name cantera` +#fflags=-I${exec_prefix}/lib +#flibs=-L${exec_prefix}/lib -lfcantera -lcantera + +Name: cantera +Description: An object-oriented software toolkit for chemical kinetics, thermodynamics, and transport processes. +URL: http://code.google.com/p/cantera/ +Requires: +Version: 2.0.0 + +LINK = -lctcxx -luser -loneD -lzeroD -lequil -lkinetics -ltransport -lthermo -lctnumerics -lctmath -ltpx -lctspectra -lconverters -lctbase -lcvode -lctlapack -lctblas -lctf2c -lm -lstdc++ + +#Libs: -L${libdir} ${LINK} +#Cflags: -I${includedir} + +fflags=-I${exec_prefix}/lib -I${includedir} +#fflags=-I${exec_prefix}/lib +flibs=-L${exec_prefix}/lib ${LINK} \ No newline at end of file diff --git a/configure.ac b/configure.ac index f076dd9bd..3ac8ce15d 100644 --- a/configure.ac +++ b/configure.ac @@ -27,7 +27,7 @@ AC_SUBST([PACKAGE_DESCRIPTION]) PACKAGE_URL="http://code.google.com/p/cantera/" AC_SUBST([PACKAGE_URL]) -# add trailing underscore(s) +# add various Defines AC_DEFINE([LAPACK_FTN_TRAILING_UNDERSCORE],1,[Define to add underscore after fortran functions]) LAPACK_FTN_TRAILING_UNDERSCORE=1 AC_DEFINE([FTN_TRAILING_UNDERSCORE],1,[Define to add underscore after fortran functions]) @@ -36,6 +36,23 @@ AC_DEFINE([LAPACK_NAMES_LOWERCASE],1,[Define to make lapack functions lowercase] LAPACK_NAMES_LOWERCASE=1 AC_DEFINE([LAPACK_FTN_STRING_LEN_AT_END],1,[Define to add string to end of lapack functions]) LAPACK_FTN_STRING_LEN_AT_END=1 +AC_DEFINE([INCL_PURE_FLUIDS],1,[Define to include pure fluids]) +INCL_PURE_FLUIDS=1 +AC_DEFINE([WITH_PURE_FLUIDS],1,[Define to include pure fluids]) +WITH_PURE_FLUIDS=1 +AC_DEFINE([WITH_LATTICE_SOLID],1,[Define to include Lattice Solids]) +WITH_LATTICE_SOLID=1 +AC_DEFINE([WITH_METAL],1,[Define to include metals]) +WITH_METAL=1 +AC_DEFINE([WITH_STOICH_SUBSTANCE],1,[Define to include stoichiometric substances]) +WITH_STOICH_SUBSTANCE=1 +AC_DEFINE([WITH_IDEAL_SOLUTIONS],1,[Define to include ideal solutions]) +WITH_IDEAL_SOLUTIONS=1 +AC_DEFINE([HAS_SSTREAM],1,[Define to include sstream]) +HAS_SSTREAM=1 + +AC_DEFINE_UNQUOTED([CANTERA_DATA], ["$prefix/data"], + [Default data directory]) AC_CHECK_TYPES([uint8_t, uint16_t, uint32_t, int32_t, uint64_t, int64_t]) AH_BOTTOM([ @@ -46,10 +63,6 @@ typedef int ftnlen; // Fortran hidden string length type #define STRING_LEN_AT_END #define STORE_MOLE_FRACTIONS -#define HAS_SSTREAM 1 - -#define CANTERA_DATA "/usr/local/cantera/data" - ]) # ------------------------------ @@ -65,8 +78,8 @@ AC_PROG_LIBTOOL AM_SANITY_CHECK # ---------------- -# Doxygen support -# ---------------- +# Doxygen support +# ---------------- DX_HTML_FEATURE(ON) DX_CHM_FEATURE(OFF) @@ -77,7 +90,7 @@ DX_RTF_FEATURE(OFF) DX_XML_FEATURE(OFF) DX_PDF_FEATURE(ON) DX_PS_FEATURE(OFF) -DX_INIT_DOXYGEN(cantera, doxygen/cantera.dox, docs) +DX_INIT_DOXYGEN(cantera, doxygen/cantera.dox, docs) # Generate Output Files AC_OUTPUT(Makefile \ @@ -125,33 +138,31 @@ AC_OUTPUT(Makefile \ test_problems/cathermo/wtWater/Makefile \ test_problems/PecosTransport/Makefile \ doxygen/Makefile \ - ext/Makefile \ - src/tpx/Makefile \ - ext/cvode/Makefile \ - ext/cvode/source/Makefile \ - ext/f2c_blas/Makefile \ - ext/f2c_lapack/Makefile \ - ext/f2c_libs/Makefile \ - ext/f2c_math/Makefile \ - src/fortran/Makefile \ - src/Makefile \ + src/Makefile \ + src/fortran/Makefile \ src/base/Makefile \ src/converters/Makefile \ src/kinetics/Makefile \ - src/numerics/Makefile src/oneD/Makefile \ + src/numerics/Makefile src/oneD/Makefile \ src/thermo/Makefile \ src/transport/Makefile \ - src/spectra/Makefile src/zeroD/Makefile \ - src/equil/Makefile \ - cantera.pc) + src/spectra/Makefile src/zeroD/Makefile \ + src/equil/Makefile \ + ext/Makefile \ + ext/f2c_libs/Makefile \ + ext/f2c_blas/Makefile \ + ext/f2c_lapack/Makefile \ + ext/f2c_math/Makefile \ + ext/cvode/Makefile \ + cantera.pc) # skipped tests -# test_problems/ck2cti/Makefile -# test_problems/nasa9_reader/Makefile -# test_problems/rankine_democxx/Makefile -# test_problems/VCSnonideal/NaCl_equil/Makefile +# test_problems/ck2cti/Makefile +# test_problems/nasa9_reader/Makefile +# test_problems/rankine_democxx/Makefile +# test_problems/VCSnonideal/NaCl_equil/Makefile # FINAL SUMMARY -AX_SUMMARIZE_CONFIG +AX_SUMMARIZE_CONFIG diff --git a/doxygen/aminclude.am b/doxygen/aminclude.am new file mode 100644 index 000000000..c035d2422 --- /dev/null +++ b/doxygen/aminclude.am @@ -0,0 +1,171 @@ +#----------------------------------- +# PECOS - add any additional doxygen +# dependencies here. +#----------------------------------- + +PECOS_extra_dependencies = doxygen/cantera.page \ + doxygen/txt_common/about.page \ + doxygen/txt_common/gpl.page \ + doxygen/txt_common/acknowledgment.page + +## --------------------------------- ## +## Format-independent Doxygen rules. ## +## --------------------------------- ## + +if DX_COND_doc + +## ------------------------------- ## +## Rules specific for HTML output. ## +## ------------------------------- ## + +if DX_COND_html + +DX_CLEAN_HTML = @DX_DOCDIR@/html + +endif DX_COND_html + +## ------------------------------ ## +## Rules specific for CHM output. ## +## ------------------------------ ## + +if DX_COND_chm + +DX_CLEAN_CHM = @DX_DOCDIR@/chm + +if DX_COND_chi + +DX_CLEAN_CHI = @DX_DOCDIR@/@PACKAGE@.chi + +endif DX_COND_chi + +endif DX_COND_chm + +## ------------------------------ ## +## Rules specific for MAN output. ## +## ------------------------------ ## + +if DX_COND_man + +DX_CLEAN_MAN = @DX_DOCDIR@/man + +endif DX_COND_man + +## ------------------------------ ## +## Rules specific for RTF output. ## +## ------------------------------ ## + +if DX_COND_rtf + +DX_CLEAN_RTF = @DX_DOCDIR@/rtf + +endif DX_COND_rtf + +## ------------------------------ ## +## Rules specific for XML output. ## +## ------------------------------ ## + +if DX_COND_xml + +DX_CLEAN_XML = @DX_DOCDIR@/xml + +endif DX_COND_xml + +## ----------------------------- ## +## Rules specific for PS output. ## +## ----------------------------- ## + +if DX_COND_ps + +DX_CLEAN_PS = @DX_DOCDIR@/@PACKAGE@.ps + +DX_PS_GOAL = doxygen-ps + +doxygen-ps: @DX_DOCDIR@/@PACKAGE@.ps + +@DX_DOCDIR@/@PACKAGE@.ps: @DX_DOCDIR@/@PACKAGE@.tag + cd @DX_DOCDIR@/latex; \ + rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ + $(DX_LATEX) refman.tex; \ + $(MAKEINDEX_PATH) refman.idx; \ + $(DX_LATEX) refman.tex; \ + countdown=5; \ + while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ + refman.log > /dev/null 2>&1 \ + && test $$countdown -gt 0; do \ + $(DX_LATEX) refman.tex; \ + countdown=`expr $$countdown - 1`; \ + done; \ + $(DX_DVIPS) -o ../@PACKAGE@.ps refman.dvi + +endif DX_COND_ps + +## ------------------------------ ## +## Rules specific for PDF output. ## +## ------------------------------ ## + +if DX_COND_pdf + +DX_CLEAN_PDF = @DX_DOCDIR@/@PACKAGE@.pdf + +DX_PDF_GOAL = doxygen-pdf + +doxygen-pdf: @DX_DOCDIR@/@PACKAGE@.pdf + +@DX_DOCDIR@/@PACKAGE@.pdf: @DX_DOCDIR@/@PACKAGE@.tag + cd @DX_DOCDIR@/latex; \ + rm -f *.aux *.toc *.idx *.ind *.ilg *.log *.out; \ + $(DX_PDFLATEX) refman.tex; \ + $(DX_MAKEINDEX) refman.idx; \ + $(DX_PDFLATEX) refman.tex; \ + countdown=5; \ + while $(DX_EGREP) 'Rerun (LaTeX|to get cross-references right)' \ + refman.log > /dev/null 2>&1 \ + && test $$countdown -gt 0; do \ + $(DX_PDFLATEX) refman.tex; \ + countdown=`expr $$countdown - 1`; \ + done; \ + mv refman.pdf ../@PACKAGE@.pdf + +endif DX_COND_pdf + +## ------------------------------------------------- ## +## Rules specific for LaTeX (shared for PS and PDF). ## +## ------------------------------------------------- ## + +if DX_COND_latex + +DX_CLEAN_LATEX = @DX_DOCDIR@/latex + +endif DX_COND_latex + +.PHONY: doxygen-run doxygen-doc $(DX_PS_GOAL) $(DX_PDF_GOAL) + +.INTERMEDIATE: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL) + +doxygen-run: @DX_DOCDIR@/@PACKAGE@.tag + +doxygen-doc: doxygen-run $(DX_PS_GOAL) $(DX_PDF_GOAL) + +doc: doxygen-doc +docs: doxygen-doc + +@DX_DOCDIR@/@PACKAGE@.tag: $(DX_CONFIG) $(pkginclude_HEADERS) $(PECOS_extra_dependencies) + rm -rf @DX_DOCDIR@ + $(DX_ENV) $(DX_DOXYGEN) $(srcdir)/$(DX_CONFIG) + +DX_CLEANFILES = \ + @DX_DOCDIR@/@PACKAGE@.tag \ + -r \ + $(DX_CLEAN_HTML) \ + $(DX_CLEAN_CHM) \ + $(DX_CLEAN_CHI) \ + $(DX_CLEAN_MAN) \ + $(DX_CLEAN_RTF) \ + $(DX_CLEAN_XML) \ + $(DX_CLEAN_PS) \ + $(DX_CLEAN_PDF) \ + $(DX_CLEAN_LATEX) + +# Additional PECOS dependencies + +endif DX_COND_doc diff --git a/ext/Makefile.am b/ext/Makefile.am index f92c577ad..342308364 100644 --- a/ext/Makefile.am +++ b/ext/Makefile.am @@ -1,2 +1,7 @@ SUBDIRS = f2c_libs f2c_blas f2c_lapack f2c_math cvode +# header file accumulation +all: + @echo copying headers $< + cp -p f2c_libs/sysdep1.h0 f2c_libs/sysdep1.h + cp -p f2c_libs/signal1.h0 f2c_libs/signal1.h diff --git a/ext/f2c_libs/Makefile.am b/ext/f2c_libs/Makefile.am index 34464c8d1..12f6fa2c6 100644 --- a/ext/f2c_libs/Makefile.am +++ b/ext/f2c_libs/Makefile.am @@ -34,7 +34,7 @@ cc_sources = abort_.c c_log.c d_atn2.c dfe.c d_prod.c \ i_nint.c l_lt.c pow_hh.c r_abs.c rdfmt.c \ r_mod.c r_sqrt.c signal_.c uio.c xwsne.c -h_sources = f2c.h sysdep1.h fio.h fmt.h fp.h lio.h rawio.h +h_sources = AM_CPPFLAGS = -I. AM_CXXFLAGS = $(AM_CPPFLAGS) @@ -48,13 +48,6 @@ library_include_HEADERS = $(h_sources) # Cantera Converters C/C++ library #----------------------- -# header file accumulation -all: - @echo copying headers $< - cp -p sysdep1.h0 sysdep1.h - cp -p signal1.h0 signal1.h - cp -p $(h_sources) $(top_builddir)/include/ - __top_builddir__build_lib_libctf2c_la_LDFLAGS = $(all_libraries) -release $(GENERIC_RELEASE) __top_builddir__build_lib_libctf2c_la_SOURCES = $(cc_sources) $(h_sources) @@ -62,4 +55,10 @@ __top_builddir__build_lib_libctf2c_include_HEADERS = $(h_sources) __top_builddir__build_lib_libctf2c_includedir = $(prefix)/include +# header file accumulation +all: + @echo copying headers $< + cp -p sysdep1.h0 sysdep1.h + cp -p signal1.h0 signal1.h + CLEANFILES = *.o diff --git a/src/kinetics/Makefile.am b/src/kinetics/Makefile.am index ea26c59d3..45153b0cf 100644 --- a/src/kinetics/Makefile.am +++ b/src/kinetics/Makefile.am @@ -5,7 +5,7 @@ cc_sources = importKinetics.cpp GRI_30_Kinetics.cpp KineticsFactory.cpp \ ReactionPath.cpp InterfaceKinetics.cpp ImplicitSurfChem.cpp \ Group.cpp -AM_CPPFLAGS = -I$(top_builddir)/include +AM_CPPFLAGS = -I$(top_builddir)/include/cantera AM_CXXFLAGS = $(AM_CPPFLAGS) lib_LTLIBRARIES = $(top_builddir)/build/lib/libkinetics.la @@ -19,4 +19,4 @@ __top_builddir__build_lib_libkinetics_la_LDFLAGS = $(all_libraries) -releas __top_builddir__build_lib_libkinetics_la_SOURCES = $(cc_sources) $(h_sources) __top_builddir__build_lib_libkinetics_include_HEADERS = $(h_sources) -__top_builddir__build_lib_libkinetics_includedir = $(prefix)/include +__top_builddir__build_lib_libkinetics_includedir = $(prefix)/include \ No newline at end of file diff --git a/test_problems/cathermo/DH_graph_1/Makefile.am b/test_problems/cathermo/DH_graph_1/Makefile.am index 8b3eb31bf..9b7f258d3 100644 --- a/test_problems/cathermo/DH_graph_1/Makefile.am +++ b/test_problems/cathermo/DH_graph_1/Makefile.am @@ -1,4 +1,4 @@ -INC = -I. -I$(top_builddir)/include/ -I$(top_builddir)/test_problems/shared +INC = -I. -I$(top_builddir)/include/cantera -I$(top_builddir)/test_problems/shared AM_CPPFLAGS = $(INC) AM_CXXFLAGS = $(AM_CPPFLAGS)