1 |
Import('env') |
Import('env') |
2 |
|
|
3 |
objs = [] |
if 'IDA' in env['WITH_SOLVERS']: |
4 |
|
|
5 |
sundials_env = solver_env.Copy() |
solver_env = env.Copy() |
6 |
|
|
7 |
if env.get('WITH_MMIO'): |
if env.get('WITH_MMIO'): |
8 |
sundials_env.Append(CPPPATH=["#/mmio"]) |
solver_env.Append(CPPPATH=["#/mmio"]) |
9 |
|
|
10 |
if env.get('SUNDIALS_CPPPATH'): |
if env.get('SUNDIALS_CPPPATH'): |
11 |
sundials_env.Append(CPPPATH=[env.get('SUNDIALS_CPPPATH')]) |
solver_env.Append(CPPPATH=[env.get('SUNDIALS_CPPPATH')]) |
12 |
|
|
13 |
|
if env.get('SUNDIALS_CPPPATH_EXTRA'): |
14 |
|
solver_env.AppendUnique( |
15 |
|
CPPPATH=env.get('SUNDIALS_CPPPATH_EXTRA') |
16 |
|
) |
17 |
|
|
18 |
|
solver_env.Append( |
19 |
|
CPPDEFINES=[ |
20 |
|
('SUNDIALS_VERSION_MAJOR',"$SUNDIALS_VERSION_MAJOR") |
21 |
|
,('SUNDIALS_VERSION_MINOR',"$SUNDIALS_VERSION_MINOR") |
22 |
|
,'ASC_WITH_IDA' |
23 |
|
] |
24 |
|
) |
25 |
|
|
26 |
if env.get('SUNDIALS_CPPPATH_EXTRA'): |
solver_env.Append( |
27 |
sundials_env.AppendUnique( |
LIBPATH=[env.get('SUNDIALS_LIBPATH')] |
28 |
CPPPATH=env.get('SUNDIALS_CPPPATH_EXTRA') |
, LIBS=[env.get('SUNDIALS_LIBS'),"ascend"] |
29 |
) |
) |
30 |
|
|
31 |
sundials_env.Append( |
srcs = ['ida.c','idalinear.c', 'idaanalyse.c'] |
32 |
CPPDEFINES=[ |
libida = solver_env.SharedLibrary("ida",srcs) |
33 |
('SUNDIALS_VERSION_MAJOR',"$SUNDIALS_VERSION_MAJOR") |
|
34 |
,('SUNDIALS_VERSION_MINOR',"$SUNDIALS_VERSION_MINOR") |
env['extfns'] += libida |
35 |
] |
|
36 |
) |
if env.get('CAN_INSTALL'): |
37 |
|
dir = Dir(env.subst("$INSTALL_ROOT$INSTALL_SOLVERS")) |
38 |
sundials_env.Append( |
env.InstallShared(dir,libida) |
|
LIBPATH=[solver_env.get('SUNDIALS_LIBPATH')] |
|
|
, LIBS=[solver_env.get('SUNDIALS_LIBS')] |
|
|
) |
|
|
|
|
|
idasrcs = ['ida.c','idalinear.c', 'idaanalyse.c'] |
|
|
for s in idasrcs: |
|
|
objs += sundials_env.SharedObject(s) |
|
|
|
|
|
libida = sundials_env.SharedLibrary("ida",objs) |
|
|
|
|
|
env['extfns'] += libda |
|
|
|
|
|
if env.get('CAN_INSTALL'): |
|
|
dir = Dir(env.subst("$INSTALL_ROOT$INSTALL_SOLVERS")) |
|
|
env.InstallShared(dir,libida) |
|
39 |
|
|
40 |
# vim: set syntax=python: |
# vim: set syntax=python: |