Fixed configuration check for Sundials when Sundials requires BLAS/LAPACK
This commit is contained in:
parent
8078712e2a
commit
e2d775c2cb
1 changed files with 26 additions and 12 deletions
38
SConstruct
38
SConstruct
|
|
@ -709,6 +709,22 @@ if env['use_sundials'] in ('y','default'):
|
||||||
if env['sundials_libdir']:
|
if env['sundials_libdir']:
|
||||||
env.Append(LIBPATH=[env['sundials_libdir']])
|
env.Append(LIBPATH=[env['sundials_libdir']])
|
||||||
|
|
||||||
|
# BLAS / LAPACK configuration
|
||||||
|
if env['blas_lapack_libs'] != '':
|
||||||
|
env['blas_lapack_libs'] = env['blas_lapack_libs'].split(',')
|
||||||
|
env['BUILD_BLAS_LAPACK'] = False
|
||||||
|
elif env['OS'] == 'Darwin':
|
||||||
|
env['BUILD_BLAS_LAPACK'] = False
|
||||||
|
env.Append(FRAMEWORKS=['Accelerate'])
|
||||||
|
else:
|
||||||
|
# External BLAS/LAPACK were not given, so we need to compile them
|
||||||
|
env['BUILD_BLAS_LAPACK'] = True
|
||||||
|
env['blas_lapack_libs'] = [] # built into libcantera
|
||||||
|
|
||||||
|
# ************************************
|
||||||
|
# *** Compiler Configuration Tests ***
|
||||||
|
# ************************************
|
||||||
|
|
||||||
conf = Configure(env)
|
conf = Configure(env)
|
||||||
|
|
||||||
# Set up compiler options before running configuration tests
|
# Set up compiler options before running configuration tests
|
||||||
|
|
@ -749,8 +765,16 @@ env['HAS_TIMES_H'] = conf.CheckCHeader('sys/times.h', '""')
|
||||||
env['HAS_UNISTD_H'] = conf.CheckCHeader('unistd.h', '""')
|
env['HAS_UNISTD_H'] = conf.CheckCHeader('unistd.h', '""')
|
||||||
env['HAS_MATH_H_ERF'] = conf.CheckDeclaration('erf', '#include <math.h>', 'C++')
|
env['HAS_MATH_H_ERF'] = conf.CheckDeclaration('erf', '#include <math.h>', 'C++')
|
||||||
env['HAS_BOOST_MATH'] = conf.CheckCXXHeader('boost/math/special_functions/erf.hpp', '<>')
|
env['HAS_BOOST_MATH'] = conf.CheckCXXHeader('boost/math/special_functions/erf.hpp', '<>')
|
||||||
env['HAS_SUNDIALS'] = conf.CheckLibWithHeader('sundials_cvodes', 'cvodes/cvodes.h', 'C++',
|
|
||||||
'CVodeCreate(CV_BDF, CV_NEWTON);', False)
|
import SCons.Conftest, SCons.SConf
|
||||||
|
ret = SCons.Conftest.CheckLib(SCons.SConf.CheckContext(conf),
|
||||||
|
['sundials_cvodes'],
|
||||||
|
header='#include "cvodes/cvodes.h"',
|
||||||
|
language='C++',
|
||||||
|
call='CVodeCreate(CV_BDF, CV_NEWTON);',
|
||||||
|
autoadd=False,
|
||||||
|
extra_libs=env['blas_lapack_libs'])
|
||||||
|
env['HAS_SUNDIALS'] = not ret # CheckLib returns False to indicate success
|
||||||
env['NEED_LIBM'] = not conf.CheckLibWithHeader(None, 'math.h', 'C',
|
env['NEED_LIBM'] = not conf.CheckLibWithHeader(None, 'math.h', 'C',
|
||||||
'double x; log(x);', False)
|
'double x; log(x);', False)
|
||||||
if env['NEED_LIBM']:
|
if env['NEED_LIBM']:
|
||||||
|
|
@ -853,16 +877,6 @@ if env.get('python_array') in ('numarray', 'numeric'):
|
||||||
# **********************************************
|
# **********************************************
|
||||||
# *** Set additional configuration variables ***
|
# *** Set additional configuration variables ***
|
||||||
# **********************************************
|
# **********************************************
|
||||||
if env['blas_lapack_libs'] != '':
|
|
||||||
env['blas_lapack_libs'] = env['blas_lapack_libs'].split(',')
|
|
||||||
env['BUILD_BLAS_LAPACK'] = False
|
|
||||||
elif env['OS'] == 'Darwin':
|
|
||||||
env['BUILD_BLAS_LAPACK'] = False
|
|
||||||
env.Append(FRAMEWORKS=['Accelerate'])
|
|
||||||
else:
|
|
||||||
# External BLAS/LAPACK were not given, so we need to compile them
|
|
||||||
env['BUILD_BLAS_LAPACK'] = True
|
|
||||||
env['blas_lapack_libs'] = [] # built into libcantera
|
|
||||||
|
|
||||||
# Directories where things will be after actually being installed
|
# Directories where things will be after actually being installed
|
||||||
# These variables are the ones that are used to populate header files,
|
# These variables are the ones that are used to populate header files,
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue