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

Annotation of /branches/domexper/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3253 - (hide annotations)
Thu Oct 7 05:34:33 2010 UTC (9 years, 5 months ago) by caltinay
File size: 5030 byte(s)
Corrected some merge issues, fixed another name clash that caused a segfault
in tests, changed remaining PASO_MPI's to ESYS_MPI and added -std=c99 to
gcc's default options.

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 caltinay 3253 local_env = env.Clone()
18     py_wrapper_local_env = env.Clone()
19 ksteube 1705
20 jfenwick 3251 # 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 3251 Assemble_AverageElementData.c
26     Assemble_CopyElementData.c
27     Assemble_CopyNodalData.c
28     Assemble_LumpedSystem.c
29     Assemble_NodeCoordinates.c
30     Assemble_PDE.c
31     Assemble_PDE_Single2_1D.c
32     Assemble_PDE_Single2_2D.c
33     Assemble_PDE_Single2_3D.c
34     Assemble_PDE_Single2_C.c
35     Assemble_PDE_System2_1D.c
36     Assemble_PDE_System2_2D.c
37     Assemble_PDE_System2_3D.c
38     Assemble_PDE_System2_C.c
39     Assemble_addToSystemMatrix.c
40     Assemble_getAssembleParameters.c
41     Assemble_getSize.c
42     Assemble_gradient.c
43     Assemble_integrate.c
44     Assemble_interpolate.c
45     Assemble_jacobeans.c
46     Assemble_setNormal.c
47     ElementFile.c
48     ElementFile_allocTable.c
49     ElementFile_copyTable.c
50     ElementFile_createColoring.c
51     ElementFile_distributeByRankOfDOF.c
52     ElementFile_gather.c
53     ElementFile_jacobeans.c
54     ElementFile_markNodes.c
55     ElementFile_optimizeOrdering.c
56     ElementFile_relableNodes.c
57     ElementFile_scatter.c
58     ElementFile_setCoordinates.c
59     ElementFile_setNodeRange.c
60     ElementFile_setTags.c
61     Finley.c
62     IndexList.c
63     Mesh.c
64     Mesh_createNodeFileMappings.c
65     Mesh_distributeByRankOfDOF.c
66     Mesh_findMatchingFaces.c
67     Mesh_getPattern.c
68     Mesh_glueFaces.c
69     Mesh_hex20.c
70     Mesh_hex8.c
71     Mesh_joinFaces.c
72     Mesh_markNodes.c
73     Mesh_merge.c
74     Mesh_optimizeDOFDistribution.c
75     Mesh_optimizeDOFLabeling.c
76     Mesh_prepare.c
77     Mesh_print.c
78     Mesh_read.c
79     Mesh_readGmsh.c
80     Mesh_rec4.c
81     Mesh_rec8.c
82     Mesh_relableElementNodes.c
83     Mesh_resolveNodeIds.c
84     Mesh_saveDX.c
85     Mesh_saveVTK.c
86     Mesh_setCoordinates.c
87     Mesh_tagmaps.c
88     Mesh_write.c
89     NodeFile.c
90     NodeFile_allocTable.c
91     NodeFile_copyTable.c
92     NodeFile_createDenseLabelings.c
93     NodeFile_gather.c
94     NodeFile_scatter.c
95     NodeFile_setCoordinates.c
96     NodeFile_setIdRange.c
97     NodeFile_setTags.c
98     NodeMapping.c
99     Quadrature.c
100     ReferenceElements.c
101     ShapeFunctions.c
102     TagMap.c
103     Util.c
104     ReferenceElementSets.c
105     CPPAdapter/FinleyAdapterException.cpp
106     CPPAdapter/FinleyError.cpp
107     CPPAdapter/MeshAdapter.cpp
108     CPPAdapter/MeshAdapterFactory.cpp
109     CPPAdapter/SystemMatrixAdapter.cpp
110     CPPAdapter/TransportProblemAdapter.cpp
111 ksteube 1705 """.split()
112 jfenwick 3251
113 ksteube 1705 headers = """
114 jfenwick 3251 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     ReferenceElementSets.h
129     vtkCellType.h
130 ksteube 1705 """.split()
131 jfenwick 3251
132 ksteube 1705 cppadapter_headers = """
133 jfenwick 3251 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 3251 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 3251 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 3251 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 3251 lib_inst = local_env.Install(local_env['libinstall'], lib)
159     env.Alias('install_finley_lib', lib_inst)
160 gross 806
161 jfenwick 3251 ### 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 3251 wrapper_ext = '.so'
172 phornby 1840
173 jfenwick 3251 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 3251 # configure python module
179     local_env.SConscript(dirs = ['#/finley/py_src'], variant_dir='py', duplicate=0)
180 phornby 1840
181 jfenwick 3251 # configure unit tests
182     local_env.SConscript(dirs = ['#/finley/test'], variant_dir='#/build/$PLATFORM/finley/test', duplicate=0, exports=['py_wrapper_lib'])
183 trankine 1428

  ViewVC Help
Powered by ViewVC 1.1.26