/[escript]/trunk/paso/src/SConscript
ViewVC logotype

Contents of /trunk/paso/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 6145 - (show annotations)
Wed Apr 6 06:28:57 2016 UTC (2 years, 2 months ago) by caltinay
File size: 3218 byte(s)
now refraining from adding all libraries to all targets. So we don't link
unnecessary libraries, e.g. escript does not need parmetis etc...

1
2 ##############################################################################
3 #
4 # Copyright (c) 2003-2016 by The University of Queensland
5 # http://www.uq.edu.au
6 #
7 # Primary Business: Queensland, Australia
8 # Licensed under the Apache License, version 2.0
9 # http://www.apache.org/licenses/LICENSE-2.0
10 #
11 # Development until 2012 by Earth Systems Science Computational Center (ESSCC)
12 # Development 2012-2013 by School of Earth Sciences
13 # Development from 2014 by Centre for Geoscience Computing (GeoComp)
14 #
15 ##############################################################################
16
17 Import('*')
18
19 module_name = 'paso'
20
21 sources = """
22 AMG.cpp
23 AMG_Interpolation.cpp
24 AMG_Prolongation.cpp
25 AMG_Restriction.cpp
26 AMG_Root.cpp
27 BiCGStab.cpp
28 Coupler.cpp
29 Distribution.cpp
30 FCT_Solver.cpp
31 FluxLimiter.cpp
32 Functions.cpp
33 GMRES.cpp
34 GMRES2.cpp
35 LocalAMG.cpp
36 LocalAMG_Prolongation.cpp
37 MergedSolver.cpp
38 MKL.cpp
39 NewtonGMRES.cpp
40 Options.cpp
41 PCG.cpp
42 PasoUtil.cpp
43 Pattern.cpp
44 Pattern_mis.cpp
45 Pattern_reduceBandwidth.cpp
46 Preconditioner.cpp
47 ReactiveSolver.cpp
48 SchurComplement.cpp
49 Smoother.cpp
50 Solver.cpp
51 Solver_Function.cpp
52 SparseMatrix.cpp
53 SparseMatrix_getSubmatrix.cpp
54 SparseMatrix_nullifyRowsAndCols.cpp
55 SparseMatrix_saveHB.cpp
56 SparseMatrix_MatrixMatrix.cpp
57 SparseMatrix_MatrixMatrixTranspose.cpp
58 SparseMatrix_MatrixVector.cpp
59 SystemMatrix.cpp
60 SystemMatrix_MatrixVector.cpp
61 SystemMatrix_copyRemoteCoupleBlock.cpp
62 SystemMatrix_debug.cpp
63 SystemMatrix_extendedRows.cpp
64 SystemMatrix_loadMM.cpp
65 SystemMatrix_mergeMainAndCouple.cpp
66 SystemMatrixPattern.cpp
67 SystemMatrixPattern_unrollBlocks.cpp
68 Transport.cpp
69 Transport_solve.cpp
70 BOOMERAMG.cpp
71 ILU.cpp
72 MINRES.cpp
73 RILU.cpp
74 TFQMR.cpp
75 UMFPACK.cpp
76 mmio.cpp
77 performance.cpp
78 solve.cpp
79 """.split()
80
81 headers = """
82 BlockOps.h
83 BOOMERAMG.h
84 Coupler.h
85 Distribution.h
86 FCT_Solver.h
87 FluxLimiter.h
88 Functions.h
89 MergedSolver.h
90 MKL.h
91 mmio.h
92 Options.h
93 Paso.h
94 PasoException.h
95 PasoUtil.h
96 Pattern.h
97 performance.h
98 Preconditioner.h
99 ReactiveSolver.h
100 SharedComponents.h
101 Solver.h
102 SparseMatrix.h
103 SystemMatrix.h
104 SystemMatrixPattern.h
105 Transport.h
106 UMFPACK.h
107 """.split()
108
109 local_env = env.Clone()
110
111 # collect dependencies for other modules
112 pasolibs = env['escript_libs']
113 if env['uselapack']:
114 pasolibs += env['lapack_libs']
115 if env['mkl']:
116 pasolibs += env['mkl_libs']
117 if env['umfpack']:
118 pasolibs += env['umfpack_libs']
119 if env['boomeramg']:
120 pasolibs += env['boomeramg_libs']
121 if env['papi']:
122 pasolibs += env['papi_libs']
123
124 local_env.PrependUnique(LIBS = pasolibs)
125 env['paso_libs'] = [module_name] + pasolibs
126
127 if IS_WINDOWS:
128 local_env.Append(CPPDEFINES = ['PASO_EXPORTS'])
129
130 include_path = Dir(module_name, local_env['incinstall'])
131 hdr_inst = local_env.Install(include_path, headers)
132
133 lib = local_env.SharedLibrary(module_name, sources)
134 lib_inst = local_env.Install(local_env['libinstall'], lib)
135
136 build = env.Alias('build_paso', [hdr_inst, lib])
137 env.Alias('install_paso', [build, lib_inst])
138

  ViewVC Help
Powered by ViewVC 1.1.26