[cantera]: fixing up the build system in prep for the 2.0 release. Should be shiny.

This commit is contained in:
Nicholas Malaya
2012-06-14 23:00:58 +00:00
parent f49ce03f88
commit 724baced8b
8 changed files with 249 additions and 38 deletions

1
ChangeLog Normal file
View File

@@ -0,0 +1 @@
6/14/12 Merging PECOS autotools branch with scons cantera 2.0

24
cantera.pc.in Normal file
View File

@@ -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}

View File

@@ -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

171
doxygen/aminclude.am Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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

View File

@@ -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)