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

Annotation of /trunk/dudley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3400 - (hide annotations)
Mon Dec 6 02:23:07 2010 UTC (9 years, 2 months ago) by caltinay
File size: 4593 byte(s)
Moved vtkCellType.h to weipa where it belongs now.

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

  ViewVC Help
Powered by ViewVC 1.1.26