~vcs-imports/escript-finley/trunk

« back to all changes in this revision

Viewing changes to paso/src/SConscript

  • Committer: jfenwick
  • Date: 2010-10-11 01:48:14 UTC
  • Revision ID: svn-v4:77569008-7704-0410-b7a0-a92fef0b09fd:trunk:3259
Merging dudley and scons updates from branches

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
#
12
12
########################################################
13
13
 
14
 
 
15
 
import os
16
14
Import('*')
17
 
 
18
 
local_env = clone_env(env_mpi)
19
 
 
20
 
# And just for blocktimer cancer.....
21
 
local_env.Append(LIBS = ['esysUtils'])
 
15
local_env = env.Clone()
22
16
 
23
17
lib_name = 'paso'
24
18
 
25
19
sources = """
26
 
        BiCGStab.c
27
 
        BlockOps.c
28
 
        Coupler.c
29
 
        Coarsening.c
30
 
        Distribution.c
31
 
        Functions.c
32
 
        GMRES.c
33
 
        GMRES2.c
34
 
        MKL.c
35
 
        NewtonGMRES.c
36
 
        Options_getPackage.c
37
 
        Options_getSolver.c
38
 
        Options_setDefaults.c
39
 
        PCG.c
40
 
        Paso.c
41
 
        PasoUtil.c
42
 
        Paso_MPI.c
43
 
        Pattern.c
44
 
        Pattern_getSubpattern.c
45
 
        Pattern_mis.c
46
 
        Pattern_reduceBandwidth.c
47
 
        Pattern_unrollBlocks.c
48
 
        SharedComponents.c
49
 
        Solver.c
50
 
        Transport.c
51
 
        Transport_solve.c
52
 
        FCTSolver.c
53
 
        FCTSolver_util.c
54
 
        ReactiveSolver.c
55
 
        Solver_Function.c
56
 
        Smoother.c
57
 
        ILU.c
58
 
        RILU.c
59
 
        AMG.c
60
 
        AMLI.c
61
 
        SchurComplement.c
62
 
        Preconditioner.c
63
 
        SparseMatrix.c
64
 
        SparseMatrix_MatrixVector.c
65
 
        SparseMatrix_addAbsRow.c
66
 
        SparseMatrix_addRow.c
67
 
        SparseMatrix_getSubmatrix.c
68
 
        SparseMatrix_AMGcomponents.c
69
 
        SparseMatrix_nullifyRowsAndCols.c
70
 
        SparseMatrix_saveHB.c
71
 
        SparseMatrix_setValues.c
72
 
        SparseMatrix_invMain.c
73
 
        SystemMatrix.c
74
 
        SystemMatrixPattern.c
75
 
        SystemMatrixPattern_unrollBlocks.c
76
 
        SystemMatrix_MatrixVector.c
77
 
        SystemMatrix_borrowNormalization.c
78
 
        SystemMatrix_getSystemMatrixTypeId.c
79
 
        SystemMatrix_loadMM.c
80
 
        SystemMatrix_MIS.c
81
 
        SystemMatrix_nullifyRows.c
82
 
        SystemMatrix_nullifyRowsAndCols.c
83
 
        SystemMatrix_rowSum.c
84
 
        SystemMatrix_saveHB.c
85
 
        SystemMatrix_saveMM.c
86
 
        SystemMatrix_setValues.c
87
 
        TFQMR.c
88
 
        MINRES.c
89
 
        UMFPACK.c
90
 
        mmio.c
91
 
        performance.c
92
 
        solve.c
 
20
    BiCGStab.c
 
21
    BlockOps.c
 
22
    Coupler.c
 
23
    Coarsening.c
 
24
    Distribution.c
 
25
    Functions.c
 
26
    GMRES.c
 
27
    GMRES2.c
 
28
    MKL.c
 
29
    NewtonGMRES.c
 
30
    Options_getPackage.c
 
31
    Options_getSolver.c
 
32
    Options_setDefaults.c
 
33
    PCG.c
 
34
    PasoUtil.c
 
35
    Pattern.c
 
36
    Pattern_getSubpattern.c
 
37
    Pattern_mis.c
 
38
    Pattern_reduceBandwidth.c
 
39
    Pattern_unrollBlocks.c
 
40
    SharedComponents.c
 
41
    Solver.c
 
42
    Transport.c
 
43
    Transport_solve.c
 
44
    FCTSolver.c
 
45
    FCTSolver_util.c
 
46
    ReactiveSolver.c
 
47
    Solver_Function.c
 
48
    Smoother.c
 
49
    ILU.c
 
50
    RILU.c
 
51
    AMG.c
 
52
    AMLI.c
 
53
    SchurComplement.c
 
54
    Preconditioner.c
 
55
    SparseMatrix.c
 
56
    SparseMatrix_MatrixVector.c
 
57
    SparseMatrix_addAbsRow.c
 
58
    SparseMatrix_addRow.c
 
59
    SparseMatrix_getSubmatrix.c
 
60
    SparseMatrix_AMGcomponents.c
 
61
    SparseMatrix_nullifyRowsAndCols.c
 
62
    SparseMatrix_saveHB.c
 
63
    SparseMatrix_setValues.c
 
64
    SparseMatrix_invMain.c
 
65
    SystemMatrix.c
 
66
    SystemMatrixPattern.c
 
67
    SystemMatrixPattern_unrollBlocks.c
 
68
    SystemMatrix_MatrixVector.c
 
69
    SystemMatrix_borrowNormalization.c
 
70
    SystemMatrix_getSystemMatrixTypeId.c
 
71
    SystemMatrix_loadMM.c
 
72
    SystemMatrix_MIS.c
 
73
    SystemMatrix_nullifyRows.c
 
74
    SystemMatrix_nullifyRowsAndCols.c
 
75
    SystemMatrix_rowSum.c
 
76
    SystemMatrix_saveHB.c
 
77
    SystemMatrix_saveMM.c
 
78
    SystemMatrix_setValues.c
 
79
    TFQMR.c
 
80
    MINRES.c
 
81
    UMFPACK.c
 
82
    mmio.c
 
83
    performance.c
 
84
    solve.c
93
85
""".split()
 
86
 
94
87
headers = """
95
 
        Common.h
96
 
        Coupler.h
97
 
        Coarsening.h
98
 
        Distribution.h
99
 
        Functions.h
100
 
        MKL.h
101
 
        Options.h
102
 
        Paso.h
103
 
        PasoUtil.h
104
 
        Paso_MPI.h
105
 
        Pattern.h
106
 
        Preconditioner.h
107
 
        SharedComponents.h
108
 
        Solver.h
109
 
        Transport.h
110
 
        FCTSolver.h
111
 
        ReactiveSolver.h
112
 
        SparseMatrix.h
113
 
        SystemMatrix.h
114
 
        SystemMatrix_MIS.h
115
 
        SystemMatrixPattern.h
116
 
        UMFPACK.h
117
 
        mmio.h
118
 
        mpi_C.h
119
 
        BlockOps.h
120
 
        performance.h
 
88
    Common.h
 
89
    Coupler.h
 
90
    Coarsening.h
 
91
    Distribution.h
 
92
    Functions.h
 
93
    MKL.h
 
94
    Options.h
 
95
    Paso.h
 
96
    PasoUtil.h
 
97
    Pattern.h
 
98
    Preconditioner.h
 
99
    SharedComponents.h
 
100
    Solver.h
 
101
    Transport.h
 
102
    FCTSolver.h
 
103
    ReactiveSolver.h
 
104
    SparseMatrix.h
 
105
    SystemMatrix.h
 
106
    SystemMatrix_MIS.h
 
107
    SystemMatrixPattern.h
 
108
    UMFPACK.h
 
109
    mmio.h
 
110
    BlockOps.h
 
111
    performance.h
121
112
""".split()
122
113
 
123
 
if IS_WINDOWS_PLATFORM :
124
 
  local_env.Append(CPPDEFINES = ['PASO_EXPORTS'])
 
114
# And just for blocktimer cancer.....
 
115
local_env.Append(LIBS = ['esysUtils'])
 
116
if IS_WINDOWS:
 
117
    local_env.Append(CPPDEFINES = ['PASO_EXPORTS'])
125
118
 
126
 
if local_env['share_paso'] :
127
 
  lib = local_env.SharedLibrary(lib_name, sources)
 
119
if local_env['share_paso']:
 
120
    lib = local_env.SharedLibrary(lib_name, sources)
128
121
else:
129
 
  lib = local_env.StaticLibrary(lib_name, sources)
 
122
    lib = local_env.StaticLibrary(lib_name, sources)
130
123
 
131
 
env.Alias('target_paso_a', lib)
 
124
env.Alias('build_paso_lib', lib)
132
125
 
133
126
include_path = Dir('paso', local_env['incinstall'])
134
127
solvers_include_path = Dir('Solvers', include_path)
135
128
 
136
 
tmp1 = local_env.Install(include_path, headers )
137
 
env.Alias('target_install_paso_headers', [tmp1])
138
 
 
139
 
tmp2 = local_env.Install(local_env['libinstall'], lib)
140
 
env.Alias('target_install_paso_a', [tmp2])
141
 
 
 
129
hdr_inst = local_env.Install(include_path, headers)
 
130
env.Alias('install_paso_headers', hdr_inst)
 
131
 
 
132
lib_inst = local_env.Install(local_env['libinstall'], lib)
 
133
env.Alias('install_paso_lib', lib_inst)
 
134