cantera/Cantera/python/SConscript
2011-12-14 03:04:18 +00:00

46 lines
1.3 KiB
Python

from buildutils import *
import distutils.sysconfig
Import('env', 'build')
localenv = env.Clone()
def make_ctconf(target, source, env):
text = """
buildPython = %(BUILD_PYTHON)s
ctversion = %(cantera_version)r
""" % env
with open(str(target[0]), 'w') as f:
f.write(text)
conf = localenv.Command('ctconf.py', [], make_ctconf)
gcv = distutils.sysconfig.get_config_var
localenv.Append(CPPPATH=[gcv('INCLUDEPY')],
SHLINKFLAGS=gcv('LDFLAGS'),
CPPFLAGS=[gcv('BASECFLAGS'), gcv('OPT')])
linkLibs = ['clib','oneD','zeroD','equil','kinetics','transport',
'thermo','ctnumerics','ctmath','tpx',
'ctspectra','converters','ctbase']
if env['use_sundials']:
linkLibs.extend(('sundials_cvodes','sundials_nvecserial'))
linkLibs.extend(localenv['blas_lapack_libs'])
if env['build_with_f2c']:
linkLibs.append('ctf2c')
else:
linkLibs.append('gfortran')
pymodule = localenv.SharedLibrary('Cantera/_cantera', ['src/pycantera.cpp'],
LIBS=linkLibs,
SHLIBPREFIX='',
SHLIBSUFFIX=gcv('SO'))
pybuild = localenv.Command('built_python', 'Cantera/_cantera.so',
'cd Cantera/python; python setup.py build; touch built_python')
localenv.Depends(pybuild, [pymodule, conf])