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

Annotation of /trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3628 - (hide annotations)
Wed Oct 19 02:09:36 2011 UTC (7 years, 8 months ago) by caltinay
File size: 5045 byte(s)
Prepend our libraries instead of appending. This should fix HYPRE link
issue on epic.

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 caltinay 3628 local_env.Prepend(LIBS = ['escript', 'esysUtils', 'paso'])
143 jfenwick 3259 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 caltinay 3628 py_wrapper_local_env.Prepend(LIBS = ['finley', 'escript', 'esysUtils', 'paso'])
163 jfenwick 3259 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