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

Annotation of /trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3522 - (hide annotations)
Tue May 24 00:57:58 2011 UTC (8 years ago) by gross
File size: 5043 byte(s)
(almost) full support for Point elements
1 ksteube 1811
2     ########################################################
3 gross 707 #
4 jfenwick 2881 # Copyright (c) 2003-2010 by University of Queensland
5 ksteube 1811 # Earth Systems Science Computational Center (ESSCC)
6     # http://www.uq.edu.au/esscc
7 ksteube 1705 #
8 ksteube 1811 # Primary Business: Queensland, Australia
9     # Licensed under the Open Software License version 3.0
10     # http://www.opensource.org/licenses/osl-3.0.php
11 ksteube 1705 #
12 ksteube 1811 ########################################################
13 ksteube 1705
14 gross 700 import os
15 jgs 182 Import('*')
16    
17 jfenwick 3259 local_env = env.Clone()
18     py_wrapper_local_env = env.Clone()
19 ksteube 1705
20 jfenwick 3259 # Remove the sharedlibrary prefix on all platform - we don't want 'lib'
21     # mucking with our python modules
22 robwdcock 682 del py_wrapper_local_env['SHLIBPREFIX']
23 jgs 182
24 ksteube 1705 sources = """
25 jfenwick 3259 Assemble_AverageElementData.c
26     Assemble_CopyElementData.c
27     Assemble_CopyNodalData.c
28     Assemble_LumpedSystem.c
29     Assemble_NodeCoordinates.c
30     Assemble_PDE.c
31 gross 3522 Assemble_PDE_Points.c
32 jfenwick 3259 Assemble_PDE_Single2_1D.c
33     Assemble_PDE_Single2_2D.c
34     Assemble_PDE_Single2_3D.c
35     Assemble_PDE_Single2_C.c
36     Assemble_PDE_System2_1D.c
37     Assemble_PDE_System2_2D.c
38     Assemble_PDE_System2_3D.c
39     Assemble_PDE_System2_C.c
40     Assemble_addToSystemMatrix.c
41     Assemble_getAssembleParameters.c
42     Assemble_getSize.c
43     Assemble_gradient.c
44     Assemble_integrate.c
45     Assemble_interpolate.c
46     Assemble_jacobeans.c
47     Assemble_setNormal.c
48     ElementFile.c
49     ElementFile_allocTable.c
50     ElementFile_copyTable.c
51     ElementFile_createColoring.c
52     ElementFile_distributeByRankOfDOF.c
53     ElementFile_gather.c
54     ElementFile_jacobeans.c
55     ElementFile_markNodes.c
56     ElementFile_optimizeOrdering.c
57     ElementFile_relableNodes.c
58     ElementFile_scatter.c
59     ElementFile_setCoordinates.c
60     ElementFile_setNodeRange.c
61     ElementFile_setTags.c
62     Finley.c
63     IndexList.c
64     Mesh.c
65     Mesh_createNodeFileMappings.c
66     Mesh_distributeByRankOfDOF.c
67     Mesh_findMatchingFaces.c
68     Mesh_getPattern.c
69     Mesh_glueFaces.c
70     Mesh_hex20.c
71     Mesh_hex8.c
72     Mesh_joinFaces.c
73     Mesh_markNodes.c
74     Mesh_merge.c
75     Mesh_optimizeDOFDistribution.c
76     Mesh_optimizeDOFLabeling.c
77     Mesh_prepare.c
78     Mesh_print.c
79     Mesh_read.c
80     Mesh_readGmsh.c
81     Mesh_rec4.c
82     Mesh_rec8.c
83     Mesh_relableElementNodes.c
84     Mesh_resolveNodeIds.c
85     Mesh_saveDX.c
86     Mesh_setCoordinates.c
87     Mesh_tagmaps.c
88 gross 3515 Mesh_addPoints.c
89 jfenwick 3259 Mesh_write.c
90     NodeFile.c
91     NodeFile_allocTable.c
92     NodeFile_copyTable.c
93     NodeFile_createDenseLabelings.c
94     NodeFile_gather.c
95     NodeFile_scatter.c
96     NodeFile_setCoordinates.c
97     NodeFile_setIdRange.c
98     NodeFile_setTags.c
99     NodeMapping.c
100     Quadrature.c
101     ReferenceElements.c
102     ShapeFunctions.c
103     TagMap.c
104     Util.c
105     ReferenceElementSets.c
106     CPPAdapter/FinleyAdapterException.cpp
107     CPPAdapter/FinleyError.cpp
108     CPPAdapter/MeshAdapter.cpp
109     CPPAdapter/MeshAdapterFactory.cpp
110     CPPAdapter/SystemMatrixAdapter.cpp
111     CPPAdapter/TransportProblemAdapter.cpp
112 ksteube 1705 """.split()
113 jfenwick 3259
114 ksteube 1705 headers = """
115 jfenwick 3259 Assemble.h
116     ElementFile.h
117     Finley.h
118     FinleyVersion.h
119     IndexList.h
120     Mesh.h
121     NodeFile.h
122     NodeMapping.h
123     Quadrature.h
124     RectangularMesh.h
125     ReferenceElements.h
126     ShapeFunctions.h
127     TagMap.h
128     Util.h
129     ReferenceElementSets.h
130 ksteube 1705 """.split()
131 jfenwick 3259
132 ksteube 1705 cppadapter_headers = """
133 jfenwick 3259 CPPAdapter/FinleyAdapterException.h
134     CPPAdapter/FinleyError.h
135     CPPAdapter/MeshAdapter.h
136     CPPAdapter/MeshAdapterFactory.h
137     CPPAdapter/SystemMatrixAdapter.h
138     CPPAdapter/TransportProblemAdapter.h
139     CPPAdapter/system_dep.h
140 ksteube 1705 """.split()
141 jgs 277
142 jfenwick 3259 local_env.Append(LIBS = ['escript', 'esysUtils', 'paso'])
143     if IS_WINDOWS:
144     local_env.Append(CPPDEFINES = ['FINLEY_EXPORTS'])
145 phornby 2027
146 phornby 1847 module_name = 'finley'
147    
148     lib = local_env.SharedLibrary(module_name, sources)
149 jfenwick 3259 env.Alias('build_finley_lib', lib)
150 jgs 277
151 ksteube 1705 include_path = Dir('finley', local_env['incinstall'])
152     cppadapter_include_path = Dir('CppAdapter', include_path)
153 jgs 190
154 jfenwick 3259 hdr_inst1 = local_env.Install(include_path, headers)
155     hdr_inst2 = local_env.Install(cppadapter_include_path, cppadapter_headers)
156     env.Alias('install_finley_headers', [hdr_inst1, hdr_inst2])
157 jgs 481
158 jfenwick 3259 lib_inst = local_env.Install(local_env['libinstall'], lib)
159     env.Alias('install_finley_lib', lib_inst)
160 gross 806
161 jfenwick 3259 ### Python wrapper ###
162     py_wrapper_local_env.Append(LIBS = ['finley', 'escript', 'esysUtils', 'paso'])
163     py_wrapper_name = module_name + 'cpp'
164     py_wrapper_lib = py_wrapper_local_env.SharedLibrary(py_wrapper_name, 'CPPAdapter/finleycpp.cpp')
165     env.Alias('build_finleycpp_lib', py_wrapper_lib)
166    
167     tmp_inst = os.path.join(local_env['pyinstall'], module_name)
168     if IS_WINDOWS:
169     wrapper_ext = '.pyd'
170 ksteube 1705 else:
171 jfenwick 3259 wrapper_ext = '.so'
172 phornby 1840
173 jfenwick 3259 share_name = os.path.join(tmp_inst, py_wrapper_name+wrapper_ext)
174     mod_inst = py_wrapper_local_env.InstallAs(target=share_name,
175     source=py_wrapper_lib[0])
176     env.Alias('install_finleycpp_lib', mod_inst)
177 phornby 1840
178 jfenwick 3259 # configure python module
179     local_env.SConscript(dirs = ['#/finley/py_src'], variant_dir='py', duplicate=0)
180 phornby 1840
181 jfenwick 3259 # configure unit tests
182 caltinay 3349 local_env.SConscript(dirs = ['#/finley/test'], variant_dir='$BUILD_DIR/$PLATFORM/finley/test', duplicate=0, exports=['py_wrapper_lib'])
183 trankine 1428

  ViewVC Help
Powered by ViewVC 1.1.26