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

Contents of /trunk/escript/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1837 - (show annotations)
Fri Oct 3 02:03:07 2008 UTC (11 years ago) by phornby
File size: 3285 byte(s)
Just getting run_tests going. I now recall that windows python will look for a .pyd
and not a .dll. So somehow we must install the python wrapper .dlls as a .pyds
I'll get to that later.
1
2 ########################################################
3 #
4 # Copyright (c) 2003-2008 by University of Queensland
5 # Earth Systems Science Computational Center (ESSCC)
6 # http://www.uq.edu.au/esscc
7 #
8 # 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 #
12 ########################################################
13
14
15 import os
16 Import('*')
17
18 local_env = clone_env(env_mpi)
19 py_wrapper_local_env = clone_env(env_mpi)
20
21 # Remove the sharedlibrary prefix on all platform - we don't want 'lib' mucking with our python modules
22 del py_wrapper_local_env['SHLIBPREFIX']
23
24 sources = """
25 AbstractContinuousDomain.cpp
26 AbstractDomain.cpp
27 AbstractSystemMatrix.cpp
28 AbstractTransportProblem.cpp
29 Data.cpp
30 DataAbstract.cpp
31 DataBlocks2D.cpp
32 DataC.cpp
33 DataConstant.cpp
34 DataEmpty.cpp
35 DataException.cpp
36 DataExpanded.cpp
37 DataFactory.cpp
38 DataMaths.cpp
39 DataTagged.cpp
40 DataTypes.cpp
41 DataVector.cpp
42 DomainException.cpp
43 FunctionSpace.cpp
44 FunctionSpaceException.cpp
45 FunctionSpaceFactory.cpp
46 NullDomain.cpp
47 SystemMatrixException.cpp
48 Taipan.cpp
49 TransportProblemException.cpp
50 Utils.cpp
51 blocktimer.c
52 """.split()
53 headers = """
54 AbstractContinuousDomain.h
55 AbstractDomain.h
56 AbstractSystemMatrix.h
57 AbstractTransportProblem.h
58 BinaryOp.h
59 Data.h
60 DataAbstract.h
61 DataAlgorithm.h
62 DataBlocks2D.h
63 DataC.h
64 DataConstant.h
65 DataEmpty.h
66 DataException.h
67 DataExpanded.h
68 DataFactory.h
69 DataMaths.h
70 DataTagged.h
71 DataTypes.h
72 DataVector.h
73 DomainException.h
74 FunctionSpace.h
75 FunctionSpaceException.h
76 FunctionSpaceFactory.h
77 LocalOps.h
78 NullDomain.h
79 SystemMatrixException.h
80 Taipan.h
81 TransportProblemException.h
82 UnaryFuncs.h
83 UnaryOp.h
84 UtilC.h
85 Utils.h
86 blocktimer.h
87 esysmpi.h
88 system_dep.h
89 """.split()
90
91 local_env.Append(LIBS = [ 'esysUtils'] + env['sys_libs'] )
92 py_wrapper_local_env.Append(LIBS = [ 'escript', 'esysUtils'] + env['sys_libs'])
93
94 lib = local_env.SharedLibrary('escript', sources)
95 env.Alias('target_escript_so', lib)
96
97 py_wrapper_lib = py_wrapper_local_env.SharedLibrary('escriptcpp', 'escriptcpp.cpp')
98 env.Alias('target_escriptcpp_so', py_wrapper_lib)
99
100 include_path = Dir('escript', local_env['incinstall'])
101
102 tmp1 = local_env.Install(include_path, headers )
103 env.Alias('target_install_escript_headers', [tmp1])
104
105 tmp3 = local_env.Install(local_env['libinstall'], lib)
106 env.Alias('target_install_escript_so', tmp3)
107
108 #windows specific mod
109 if os.name == 'nt':
110 tmp4 = py_wrapper_local_env.Install(local_env['pyinstall']+'/escript', py_wrapper_lib)
111 else:
112 tmp4 = py_wrapper_local_env.InstallAs(local_env['pyinstall']+'/escript/escriptcpp.so', py_wrapper_lib)
113 env.Alias('target_install_escriptcpp_so', tmp4)
114
115 # export the lib target since tests will depend on it
116 # the lib target is a list of file nodes (why? win32 produces more than one output file: .lib, .dll, .pdb)
117 # FIXME: This list handling produces the desired result but can this be done directly with scons File nodes?
118 dep_lib = [local_env['libinstall']+'/'+str(x) for x in lib]
119 Export('dep_lib')
120
121 # Call the python sconscript
122 env.SConscript(dirs = ['#/escript/py_src'], build_dir='py', duplicate=0)
123
124 # Call the unit tests SConscript
125 local_env.SConscript(dirs = ['#/escript/test'], build_dir='#/build/$PLATFORM/escript/test', duplicate=0)
126

  ViewVC Help
Powered by ViewVC 1.1.26