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

Diff of /trunk/paso/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 682 by robwdcock, Mon Mar 27 02:43:09 2006 UTC revision 1804 by gross, Wed Sep 24 07:52:19 2008 UTC
# Line 1  Line 1 
1  Import('*')  #
2    # $Id$
3  local_env=env.Copy()  #
4    #######################################################
5  src_dir = local_env.Dir('.').srcnode().abspath  #
6    #           Copyright 2003-2007 by ACceSS MNRF
7    #       Copyright 2007 by University of Queensland
8    #
9    #                http://esscc.uq.edu.au
10    #        Primary Business: Queensland, Australia
11    #  Licensed under the Open Software License version 3.0
12    #     http://www.opensource.org/licenses/osl-3.0.php
13    #
14    #######################################################
15    #
16    
17  import os  import os
18  filenames = os.listdir(src_dir)  Import('*')
19  sources = [x for x in filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]  
20  headers = [x for x in filenames if os.path.splitext(x)[1] in ['.h']]  local_env = clone_env(env_mpi)
 # Filter unused sources  
 sources.remove('SystemMatrixPattern_reduceBandwidth.c') # FIXME: Should this file be removed?  
   
 # Paso has additional source in the Solvers sub-directory. Append these to the list  
 solver_filenames = os.listdir(src_dir+'/Solvers');  
 sources += ['Solvers/'+x for x in solver_filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]  
 solver_headers = ['Solvers/'+x for x in solver_filenames if os.path.splitext(x)[1] in ['.h']]  
   
 if mkl_libs:  
    local_env.Append(CPPDEFINES=['MKL',])  
    local_env.Append(LIBS = mkl_libs)  
 if scsl_libs:  
    local_env.Append(CPPDEFINES=['SCSL',])  
    local_env.Append(LIBS = scsl_libs)  
 if umf_libs:  
    local_env.Append(CPPDEFINES=['UMFPACK',])  
    local_env.Append(LIBS = umf_libs)  
 if papi_libs:  
    local_env.Append(CPPDEFINES=['PAPI',])  
    local_env.Append(LIBS = papi_libs)  
21    
22  lib_name = 'paso'  sources = """
23        BiCGStab.c
24        Coupler.c
25        Distribution.c
26        Functions.c
27        GMRES.c
28        GMRES2.c
29        MKL.c
30        NewtonGMRES.c
31        Options_getPackage.c
32        Options_getSolver.c
33        Options_setDefaults.c
34        PCG.c
35        Paso.c
36        PasoUtil.c
37        Paso_MPI.c
38        Pattern.c
39        Pattern_getSubpattern.c
40        Pattern_mis.c
41        Pattern_reduceBandwidth.c
42        Pattern_unrollBlocks.c
43        SCSL.c
44        SCSL_direct.c
45        SCSL_iterative.c
46        SharedComponents.c
47        Solver.c
48        SolverFCT.c
49        SolverFCT_FluxControl.c
50        SolverFCT_reset.c
51        SolverFCT_solve.c
52        Solver_Function.c
53        Solver_ILU.c
54        Solver_RILU.c
55        Solver_SchurComplement.c
56        Solver_applyBlockDiagonalMatrix.c
57        Solver_jacobi.c
58        Solver_preconditioner.c
59        SparseMatrix.c
60        SparseMatrix_MatrixVector.c
61        SparseMatrix_addAbsRow.c
62        SparseMatrix_addRow.c
63        SparseMatrix_getSubmatrix.c
64        SparseMatrix_nullifyRowsAndCols.c
65        SparseMatrix_saveHB.c
66        SparseMatrix_setValues.c
67        SystemMatrix.c
68        SystemMatrixPattern.c
69        SystemMatrixPattern_unrollBlocks.c
70        SystemMatrix_MatrixVector.c
71        SystemMatrix_borrowNormalization.c
72        SystemMatrix_getSystemMatrixTypeId.c
73        SystemMatrix_loadMM.c
74        SystemMatrix_nullifyRows.c
75        SystemMatrix_nullifyRowsAndCols.c
76        SystemMatrix_rowSum.c
77        SystemMatrix_saveHB.c
78        SystemMatrix_saveMM.c
79        SystemMatrix_setValues.c
80        TFQMR.c
81        MINRES.c
82        UMFPACK.c
83        mmio.c
84        performance.c
85        solve.c
86    """.split()
87    headers = """
88        Common.h
89        Coupler.h
90        Distribution.h
91        Functions.h
92        MKL.h
93        Options.h
94        Paso.h
95        PasoUtil.h
96        Paso_MPI.h
97        Pattern.h
98        SCSL.h
99        SharedComponents.h
100        Solver.h
101        SolverFCT.h
102        SparseMatrix.h
103        SystemMatrix.h
104        SystemMatrixPattern.h
105        UMFPACK.h
106        mmio.h
107        mpi_C.h
108        performance.h
109    """.split()
110    
111  lib = local_env.StaticLibrary(lib_name, sources)  lib = local_env.StaticLibrary('paso', sources)
112    env.Alias('target_paso_a', lib)
113    
114  include_path = Dir(lib_name, incinstall)  include_path = Dir('paso', local_env['incinstall'])
115  solvers_include_path = Dir('Solvers', include_path)  solvers_include_path = Dir('Solvers', include_path)
116    
117  local_env.Install(include_path, headers )  tmp1 = local_env.Install(include_path, headers )
118  local_env.Install(solvers_include_path, solver_headers )  env.Alias('target_install_paso_headers', [tmp1])
119  local_env.Install(libinstall, lib)  
120    tmp2 = local_env.Install(local_env['libinstall'], lib)
121    env.Alias('target_install_paso_a', [tmp2])
122    

Legend:
Removed from v.682  
changed lines
  Added in v.1804

  ViewVC Help
Powered by ViewVC 1.1.26