Fixed some issues with paths in Cantera.mak and cantera.pc

This commit is contained in:
Ray Speth 2012-08-13 20:14:14 +00:00
parent 08f1e48371
commit a79428f894
3 changed files with 32 additions and 7 deletions

View file

@ -577,8 +577,11 @@ elif env['env_vars']:
else:
print 'WARNING: failed to propagate environment variable', name
env.Append(CPPPATH=env['extra_inc_dirs'].split(':'),
LIBPATH=env['extra_lib_dirs'].split(':'))
env['extra_inc_dirs'] = [d for d in env['extra_inc_dirs'].split(':') if d]
env['extra_lib_dirs'] = [d for d in env['extra_lib_dirs'].split(':') if d]
env.Append(CPPPATH=env['extra_inc_dirs'],
LIBPATH=env['extra_lib_dirs'])
# Try to find a Fortran compiler:
if env['f90_interface'] in ('y','default'):

View file

@ -27,17 +27,23 @@ CANTERA_VERSION=@cantera_version@
CANTERA_CORE_INCLUDES=-I@ct_incroot@
CANTERA_EXTRA_INCLUDES=@mak_extra_includes@
# Required Cantera libraries
CANTERA_CORE_LIBS=@mak_threadflags@ -L@ct_libdir@ @mak_corelibs@
CANTERA_CORE_LIBS_DEP = @ct_libdir@/libcantera.a
CANTERA_EXTRA_LIBDIRS=@mak_extra_libdirs@
CANTERA_CORE_FTN=-L@ct_libdir@ -lcantera_fortran @mak_corelibs@
CANTERA_FORTRAN_MODS=@ct_incroot@/cantera
CANTERA_FORTRAN_SYSLIBS=@mak_fort_threadflags@ -lstdc++
CANTERA_SYSLIBS=@mak_syslibs@
###############################################################################
# BOOST
###############################################################################
@ -59,7 +65,7 @@ CANTERA_SUNDIALS_LIBS=@mak_sundials_libdir@ @mak_sundials_libs@
CANTERA_have_blas_lapack_dir=@mak_have_blas_lapack_dir@
ifeq ($(CANTERA_have_blas_lapack_dir), 1)
CANTERA_BLAS_LAPACK_LIBS=-L@blas_lapack_dir@
CANTERA_BLAS_LAPACK_LIBS=-L@blas_lapack_dir@ @mak_blas_lapack_libs@
else
CANTERA_BLAS_LAPACK_LIBS=@mak_blas_lapack_libs@
endif
@ -75,16 +81,17 @@ CANTERA_F2C_LIBS= @mak_f2c_lib@
###############################################################################
CANTERA_INCLUDES=$(CANTERA_CORE_INCLUDES) $(CANTERA_SUNDIALS_INCLUDE) \
$(CANTERA_BOOST_INCLUDES)
$(CANTERA_BOOST_INCLUDES) $(CANTERA_EXTRA_INCLUDES)
CANTERA_TOTAL_INCLUDES = $(CANTERA_INCLUDES)
# Add this into the compilation environment to identify the version number
CANTERA_DEFINES = -DCANTERA_VERSION=@cantera_version@
CANTERA_LIBS=$(CANTERA_CORE_LIBS) $(CANTERA_SUNDIALS_LIBS) \
CANTERA_LIBS=$(CANTERA_CORE_LIBS) \
$(CANTERA_EXTRA_LIBDIRS) $(CANTERA_SUNDIALS_LIBS) \
$(CANTERA_BLAS_LAPACK_LIBS) $(CANTERA_BOOST_LIBS) \
$(CANTERA_F2C_LIBS)
$(CANTERA_F2C_LIBS) $(CANTERA_SYSLIBS)
CANTERA_TOTAL_LIBS=$(CANTERA_LIBS)
@ -93,7 +100,8 @@ CANTERA_TOTAL_LIBS_DEP= $(CANTERA_CORE_LIBS_DEP) \
$(CANTERA_BLAS_LAPACK_LIBS_DEP)
CANTERA_FORTRAN_LIBS=$(CANTERA_CORE_FTN) $(CANTERA_SUNDIALS_LIBS) \
CANTERA_FORTRAN_LIBS=$(CANTERA_CORE_FTN) \
$(CANTERA_EXTRA_LIBDIRS) $(CANTERA_SUNDIALS_LIBS) \
$(CANTERA_BLAS_LAPACK_LIBS) $(CANTERA_F2C_LIBS) \
$(CANTERA_BOOST_LIBS) $(CANTERA_FORTRAN_SYSLIBS)

View file

@ -33,6 +33,12 @@ localenv['mak_corelibs'] = '-lcantera'
if not env['single_library']:
localenv['mak_corelibs'] += ' -lctmath -lexecstream'
localenv['mak_extra_includes'] = ['-I%s' % s for s in localenv['extra_inc_dirs']]
pc_incdirs.extend(localenv['extra_inc_dirs'])
localenv['mak_extra_libdirs'] = ['-L%s' % s for s in localenv['extra_lib_dirs']]
pc_libdirs.extend(localenv['extra_lib_dirs'])
if env['use_sundials'] == 'n':
localenv['mak_sundials_libs'] = '-lcvode'
localenv['mak_sundials_libdir'] = ''
@ -80,6 +86,10 @@ elif not env['single_library']:
else:
localenv['mak_blas_lapack_libs'] = ''
if 'Accelerate' in localenv['FRAMEWORKS']:
localenv['mak_blas_lapack_libs'] += ' -framework Accelerate'
pc_cflags.append('-framework Accelerate')
localenv['mak_threadflags'] = localenv['thread_flags']
if '-pthread' in localenv['thread_flags']:
localenv['mak_fort_threadflags'] = '-lpthread'
@ -91,6 +101,10 @@ else:
# Handle f2c Linkage
localenv['mak_f2c_lib'] = '-lctf2c' if localenv['build_with_f2c'] and not env['single_library'] else ''
if not localenv['build_with_f2c']:
localenv['mak_syslibs'] = ' '.join('-l%s' % s for s in localenv['FORTRANSYSLIBS'])
pc_libs.extend(localenv['FORTRANSYSLIBS'])
mak = build(localenv.SubstFile('Cantera.mak', 'Cantera.mak.in'))
install('$inst_incdir', mak)