1 |
johnpye |
1181 |
Import('libascend_env') |
2 |
|
|
|
3 |
jpye |
1404 |
objs = [] |
4 |
|
|
|
5 |
johnpye |
1181 |
csrcs = Split(""" |
6 |
|
|
integrator.c lsode.c samplelist.c aww.c |
7 |
|
|
""") |
8 |
|
|
|
9 |
|
|
solver_env = libascend_env.Copy() |
10 |
|
|
if solver_env.get('WITH_MMIO'): |
11 |
|
|
solver_env.Append(CPPPATH=["#/mmio"]) |
12 |
|
|
|
13 |
|
|
|
14 |
|
|
for c in csrcs: |
15 |
|
|
objs += solver_env.SharedObject(c) |
16 |
|
|
|
17 |
|
|
if solver_env.get('WITH_IDA'): |
18 |
|
|
sundials_env = solver_env.Copy() |
19 |
jpye |
1394 |
|
20 |
jpye |
1404 |
if solver_env.get('SUNDIALS_CPPPATH'): |
21 |
|
|
sundials_env.Append(CPPPATH=[solver_env.get('SUNDIALS_CPPPATH')]) |
22 |
johnpye |
1181 |
|
23 |
jpye |
1404 |
if solver_env.get('SUNDIALS_CPPPATH_EXTRA'): |
24 |
johnpye |
1181 |
sundials_env.AppendUnique( |
25 |
jpye |
1404 |
CPPPATH=solver_env.get('SUNDIALS_CPPPATH_EXTRA') |
26 |
johnpye |
1181 |
) |
27 |
|
|
|
28 |
jpye |
1404 |
sundials_env.Append(CPPDEFINES=[('SUNDIALS_VERSION_MAJOR',"$SUNDIALS_VERSION_MAJOR"),('SUNDIALS_VERSION_MINOR',"$SUNDIALS_VERSION_MINOR")]) |
29 |
|
|
|
30 |
|
|
libascend_env.Append( |
31 |
|
|
LIBPATH=[solver_env.get('SUNDIALS_LIBPATH')] |
32 |
|
|
, LIBS=[solver_env.get('SUNDIALS_LIBS')] |
33 |
johnpye |
1181 |
) |
34 |
|
|
|
35 |
johnpye |
1239 |
idasrcs = ['ida.c','idalinear.c', 'idaanalyse.c'] |
36 |
johnpye |
1181 |
for s in idasrcs: |
37 |
|
|
objs += sundials_env.SharedObject(s) |
38 |
|
|
else: |
39 |
|
|
pass |
40 |
|
|
# print "NO IDA REQUESTED!" |
41 |
|
|
|
42 |
|
|
if 'LSOD' in solver_env.get('WITH_SOLVERS'): |
43 |
|
|
if solver_env.get('F2C_LIBPATH'): |
44 |
|
|
libascend_env.AppendUnique(LIBPATH=[solver_env.get('F2C_LIBPATH')]) |
45 |
|
|
if solver_env.get('F2C_LIB'): |
46 |
|
|
libascend_env.AppendUnique(LIBS=[solver_env.get('F2C_LIB')]) |
47 |
|
|
|
48 |
|
|
#-------------------- |
49 |
|
|
# INSTALL |
50 |
|
|
|
51 |
|
|
import glob |
52 |
|
|
|
53 |
|
|
if libascend_env.get('CAN_INSTALL'): |
54 |
jpye |
1436 |
installdir = Dir(libascend_env.subst("$INSTALL_ROOT$INSTALL_INCLUDE/integrator")) |
55 |
johnpye |
1181 |
|
56 |
|
|
headers = glob.glob("*.h") |
57 |
|
|
libascend_env.InstallHeader(installdir,headers) |
58 |
|
|
|
59 |
jpye |
1402 |
print "OBJS =",objs |
60 |
johnpye |
1181 |
Return('objs') |
61 |
|
|
|
62 |
jpye |
1436 |
# vim: set syntax=python: |
63 |
johnpye |
1181 |
|