1 |
jgs |
192 |
libinstall = None |
2 |
|
|
|
3 |
jgs |
187 |
Import('*') |
4 |
|
|
|
5 |
|
|
import os |
6 |
jgs |
190 |
import string |
7 |
jgs |
187 |
|
8 |
jgs |
190 |
paso_path = str(esysroot) + '/paso/src' |
9 |
|
|
scsl_path = str(esysroot) + '/paso/src/SCSL' |
10 |
|
|
solvers_path = str(esysroot) + '/paso/src/Solvers' |
11 |
|
|
mmio_path = str(esysroot) + '/tools/mmio/inc' |
12 |
jgs |
187 |
|
13 |
jgs |
190 |
cpp_path = [paso_path, |
14 |
|
|
scsl_path, |
15 |
|
|
solvers_path, |
16 |
|
|
mmio_path, |
17 |
|
|
python_path, |
18 |
|
|
boost_path] |
19 |
|
|
|
20 |
jgs |
187 |
lib = 'paso' |
21 |
|
|
sources = ['Options_getPackage.c', |
22 |
|
|
'Options_getSolver.c', |
23 |
|
|
'Options_setDefaults.c', |
24 |
|
|
'Paso.c', |
25 |
|
|
'solve.c', |
26 |
|
|
'SystemMatrix_borrowNormalization.c', |
27 |
|
|
'SystemMatrix.c', |
28 |
|
|
'SystemMatrix_copy.c', |
29 |
|
|
'SystemMatrix_getSubmatrix.c', |
30 |
|
|
'SystemMatrix_getSystemMatrixTypeId.c', |
31 |
|
|
'SystemMatrix_loadMM.c', |
32 |
|
|
'SystemMatrix_MatrixVector.c', |
33 |
|
|
'SystemMatrix_nullifyRowsAndCols.c', |
34 |
|
|
'SystemMatrixPattern.c', |
35 |
|
|
'SystemMatrixPattern_getSubpattern.c', |
36 |
|
|
'SystemMatrixPattern_mis.c', |
37 |
|
|
'SystemMatrixPattern_unrollBlocks.c', |
38 |
|
|
'SystemMatrix_saveHB.c', |
39 |
|
|
'SystemMatrix_saveMM.c', |
40 |
|
|
'SystemMatrix_setValues.c', |
41 |
|
|
'Util.c', |
42 |
|
|
'SCSL/SCSL.c', |
43 |
|
|
'SCSL/SCSL_direct.c', |
44 |
|
|
'SCSL/SCSL_iterative.c', |
45 |
|
|
'Solvers/BiCGStab.c', |
46 |
|
|
'Solvers/GMRES.c', |
47 |
|
|
'Solvers/PCG.c', |
48 |
|
|
'Solvers/Solver_applyBlockDiagonalMatrix.c', |
49 |
|
|
'Solvers/Solver.c', |
50 |
|
|
'Solvers/Solver_ILU.c', |
51 |
|
|
'Solvers/Solver_jacobi.c', |
52 |
|
|
'Solvers/Solver_preconditioner.c', |
53 |
|
|
'Solvers/Solver_SchurComplement.c'] |
54 |
|
|
|
55 |
|
|
paso_env = Environment(ENV = os.environ) |
56 |
|
|
|
57 |
|
|
paso_env.Replace(CC = 'icc') |
58 |
|
|
paso_env.Replace(CCFLAGS = cc_flags) |
59 |
jgs |
199 |
paso_env.Replace(ARFLAGS = ar_flags) |
60 |
jgs |
187 |
paso_env.Replace(CPPPATH = cpp_path) |
61 |
|
|
|
62 |
|
|
paso_lib = paso_env.StaticLibrary(lib, sources) |
63 |
|
|
paso_env.Install(libdir, paso_lib) |
64 |
jgs |
192 |
|
65 |
|
|
if libinstall != None: |
66 |
|
|
paso_env.Install(libinstall, paso_lib) |