/[escript]/branches/arrayview_from_1695_trunk/finley/src/SConscript
ViewVC logotype

Annotation of /branches/arrayview_from_1695_trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1781 - (hide annotations)
Thu Sep 11 05:03:14 2008 UTC (10 years, 9 months ago) by jfenwick
File size: 4828 byte(s)
Branch commit

Merged changes from trunk version 1695 up to and including version 1779.


1 gross 707 #
2 jfenwick 1781 # $Id$
3     #
4     #######################################################
5     #
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 gross 707 # Licensed under the Open Software License version 3.0
12     # http://www.opensource.org/licenses/osl-3.0.php
13     #
14 jfenwick 1781 #######################################################
15     #
16    
17 gross 700 import os
18 jgs 182 Import('*')
19    
20 jfenwick 1781 local_env = clone_env(env_mpi)
21     py_wrapper_local_env = clone_env(env_mpi)
22    
23 robwdcock 682 # Remove the sharedlibrary prefix on all platform - we don't want 'lib' mucking with our python modules
24     del py_wrapper_local_env['SHLIBPREFIX']
25 jgs 182
26 jfenwick 1781 sources = """
27     Assemble_AverageElementData.c
28     Assemble_CopyElementData.c
29     Assemble_CopyNodalData.c
30     Assemble_LumpedSystem.c
31     Assemble_NodeCoordinates.c
32     Assemble_PDE.c
33     Assemble_PDE_Single2_1D.c
34     Assemble_PDE_Single2_2D.c
35     Assemble_PDE_Single2_3D.c
36     Assemble_PDE_Single2_C.c
37     Assemble_PDE_System2_1D.c
38     Assemble_PDE_System2_2D.c
39     Assemble_PDE_System2_3D.c
40     Assemble_PDE_System2_C.c
41     Assemble_addToSystemMatrix.c
42     Assemble_getAssembleParameters.c
43     Assemble_getSize.c
44     Assemble_gradient.c
45     Assemble_integrate.c
46     Assemble_interpolate.c
47     Assemble_jacobeans.c
48     Assemble_setNormal.c
49     ElementFile.c
50     ElementFile_allocTable.c
51     ElementFile_copyTable.c
52     ElementFile_createColoring.c
53     ElementFile_distributeByRankOfDOF.c
54     ElementFile_gather.c
55     ElementFile_jacobeans.c
56     ElementFile_markNodes.c
57     ElementFile_optimizeOrdering.c
58     ElementFile_relableNodes.c
59     ElementFile_scatter.c
60     ElementFile_setCoordinates.c
61     ElementFile_setNodeRange.c
62     ElementFile_setTags.c
63     Finley.c
64     IndexList.c
65     Mesh.c
66     Mesh_createNodeFileMappings.c
67     Mesh_distributeByRankOfDOF.c
68     Mesh_findMatchingFaces.c
69     Mesh_getPattern.c
70     Mesh_glueFaces.c
71     Mesh_hex20.c
72     Mesh_hex8.c
73     Mesh_joinFaces.c
74     Mesh_markNodes.c
75     Mesh_merge.c
76     Mesh_optimizeDOFDistribution.c
77     Mesh_optimizeDOFLabeling.c
78     Mesh_prepare.c
79     Mesh_print.c
80     Mesh_read.c
81     Mesh_readGmsh.c
82     Mesh_rec4.c
83     Mesh_rec8.c
84     Mesh_relableElementNodes.c
85     Mesh_resolveNodeIds.c
86     Mesh_saveDX.c
87     Mesh_saveVTK.c
88     Mesh_setCoordinates.c
89     Mesh_tagmaps.c
90     Mesh_write.c
91     NodeFile.c
92     NodeFile_allocTable.c
93     NodeFile_copyTable.c
94     NodeFile_createDenseLabelings.c
95     NodeFile_gather.c
96     NodeFile_scatter.c
97     NodeFile_setCoordinates.c
98     NodeFile_setIdRange.c
99     NodeFile_setTags.c
100     NodeMapping.c
101     Quadrature.c
102     ReferenceElements.c
103     ShapeFunctions.c
104     TagMap.c
105     Util.c
106     CPPAdapter/FinleAdapterException.cpp
107     CPPAdapter/FinleyError.cpp
108     CPPAdapter/MeshAdapter.cpp
109     CPPAdapter/MeshAdapterFactory.cpp
110     CPPAdapter/SystemMatrixAdapter.cpp
111     CPPAdapter/TransportProblemAdapter.cpp
112     """.split()
113     headers = """
114     Assemble.h
115     ElementFile.h
116     Finley.h
117     FinleyVersion.h
118     IndexList.h
119     Mesh.h
120     NodeFile.h
121     NodeMapping.h
122     Quadrature.h
123     RectangularMesh.h
124     ReferenceElements.h
125     ShapeFunctions.h
126     TagMap.h
127     Util.h
128     vtkCellType.h
129     """.split()
130     cppadapter_headers = """
131     CPPAdapter/FinleyAdapterException.h
132     CPPAdapter/FinleyError.h
133     CPPAdapter/MeshAdapter.h
134     CPPAdapter/MeshAdapterFactory.h
135     CPPAdapter/SystemMatrixAdapter.h
136     CPPAdapter/TransportProblemAdapter.h
137     CPPAdapter/system_dep.h
138     """.split()
139 jgs 277
140 jfenwick 1781 local_env.Append(LIBS = ['escript', 'esysUtils', 'paso'] + env['sys_libs'] )
141     py_wrapper_local_env.Append(LIBS = ['finley', 'escript', 'esysUtils', 'paso'] + env['sys_libs'] )
142 jgs 182
143 jfenwick 1781 lib = local_env.SharedLibrary('finley', sources)
144     env.Alias('target_finley_so', lib)
145 jgs 277
146 jfenwick 1781 py_wrapper_lib = py_wrapper_local_env.SharedLibrary('finleycpp', 'CPPAdapter/finleycpp.cpp')
147     env.Alias('target_finleycpp_so', py_wrapper_lib)
148 jgs 277
149 jfenwick 1781 include_path = Dir('finley', local_env['incinstall'])
150     cppadapter_include_path = Dir('CppAdapter', include_path)
151 jgs 190
152 jfenwick 1781 tmp1 = local_env.Install(include_path, headers )
153     tmp2 = local_env.Install(cppadapter_include_path, cppadapter_headers )
154     env.Alias('target_install_finley_headers', [tmp1, tmp2])
155 jgs 481
156 jfenwick 1781 tmp3 = local_env.Install(local_env['libinstall'], lib)
157     env.Alias('target_install_finley_so', tmp3)
158 gross 806
159 trankine 1428 #windows specific mod
160     if os.name == 'nt':
161 jfenwick 1781 tmp4 = py_wrapper_local_env.Install(local_env['pyinstall']+'/finley', ['finleycpp.pyd', 'finleycpp.lib', 'finleycpp.exp'])
162     else:
163     tmp4 = py_wrapper_local_env.InstallAs(local_env['pyinstall']+'/finley/finleycpp.so', py_wrapper_lib)
164     env.Alias('target_install_finleycpp_so', tmp4)
165 trankine 1428
166 robwdcock 682 # export the lib target since tests will depend on it
167     # the lib target is a list of file nodes (why? win32 produces more than one output file: .lib, .dll, .pdb)
168     # FIXME: This list handling produces the desired result but can this be done directly with scons File nodes?
169 jfenwick 1781 dep_lib = [local_env['libinstall']+'/'+str(x) for x in lib]
170 robwdcock 682 Export('dep_lib')
171 jgs 277
172 robwdcock 682 # Call the python sconscript
173     env.SConscript(dirs = ['#/finley/py_src'], build_dir='py', duplicate=0)
174 jgs 277
175 robwdcock 682 # Call the unit tests SConscript
176     local_env.SConscript(dirs = ['#/finley/test'], build_dir='#/build/$PLATFORM/finley/test', duplicate=0)
177 jgs 481

  ViewVC Help
Powered by ViewVC 1.1.26