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

Annotation of /trunk/escript/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1705 - (hide annotations)
Thu Aug 14 05:56:40 2008 UTC (10 years, 9 months ago) by ksteube
File size: 3328 byte(s)
Branch scons-dev is hereby closed.
Some parts of scons scripts have been re-written.

1 ksteube 1705 #
2     # $Id$
3     #
4     #######################################################
5     #
6     # Copyright 2003-2007 by ACceSS MNRF
7     # Copyright 2007 by University of Queensland
8     #
9     # http://esscc.uq.edu.au
10     # Primary Business: Queensland, Australia
11     # Licensed under the Open Software License version 3.0
12     # http://www.opensource.org/licenses/osl-3.0.php
13     #
14     #######################################################
15     #
16    
17 gross 700 import os
18 jgs 181 Import('*')
19    
20 ksteube 1705 local_env = clone_env(env_mpi)
21     py_wrapper_local_env = clone_env(env_mpi)
22    
23 robwdcock 682 # Remove the sharedlibrary prefix on all platform - we don't want 'lib' mucking with our python modules
24     del py_wrapper_local_env['SHLIBPREFIX']
25 jgs 181
26 ksteube 1705 sources = """
27     AbstractContinuousDomain.cpp
28     AbstractDomain.cpp
29     AbstractSystemMatrix.cpp
30     AbstractTransportProblem.cpp
31     Data.cpp
32     DataAbstract.cpp
33     DataArrayView.cpp
34     DataBlocks2D.cpp
35     DataC.cpp
36     DataConstant.cpp
37     DataEmpty.cpp
38     DataException.cpp
39     DataExpanded.cpp
40     DataFactory.cpp
41     DataTagged.cpp
42     DataVector.cpp
43     DomainException.cpp
44     FunctionSpace.cpp
45     FunctionSpaceException.cpp
46     FunctionSpaceFactory.cpp
47     NullDomain.cpp
48     SystemMatrixException.cpp
49     Taipan.cpp
50     TransportProblemException.cpp
51     Utils.cpp
52     blocktimer.c
53     """.split()
54     headers = """
55     AbstractContinuousDomain.h
56     AbstractDomain.h
57     AbstractSystemMatrix.h
58     AbstractTransportProblem.h
59     BinaryOp.h
60     Data.h
61     DataAbstract.h
62     DataAlgorithm.h
63     DataArrayView.h
64     DataBlocks2D.h
65     DataC.h
66     DataConstant.h
67     DataEmpty.h
68     DataException.h
69     DataExpanded.h
70     DataFactory.h
71     DataTagged.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 jgs 277
91 ksteube 1705 local_env.Append(LIBS = [ 'esysUtils'] + env['sys_libs'] )
92     py_wrapper_local_env.Append(LIBS = [ 'escript', 'esysUtils'] + env['sys_libs'])
93 jgs 181
94 ksteube 1705 lib = local_env.SharedLibrary('escript', sources)
95     env.Alias('target_escript_so', lib)
96 gross 700
97 ksteube 1705 py_wrapper_lib = py_wrapper_local_env.SharedLibrary('escriptcpp', 'escriptcpp.cpp')
98     env.Alias('target_escriptcpp_so', py_wrapper_lib)
99 jgs 277
100 ksteube 1705 include_path = Dir('escript', local_env['incinstall'])
101 jgs 190
102 ksteube 1705 tmp1 = local_env.Install(include_path, headers )
103     env.Alias('target_install_escript_headers', [tmp1])
104 ksteube 1312
105 ksteube 1705 tmp3 = local_env.Install(local_env['libinstall'], lib)
106     env.Alias('target_install_escript_so', tmp3)
107 woo409 757
108 trankine 1428 #windows specific mod
109     if os.name == 'nt':
110 ksteube 1705 tmp4 = py_wrapper_local_env.Install(local_env['pyinstall']+'/escript', ['escriptcpp.pyd', 'escriptcpp.lib', 'escriptcpp.exp'])
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 trankine 1428
115 robwdcock 682 # 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 ksteube 1705 dep_lib = [local_env['libinstall']+'/'+str(x) for x in lib]
119 robwdcock 682 Export('dep_lib')
120 jgs 277
121 robwdcock 682 # Call the python sconscript
122     env.SConscript(dirs = ['#/escript/py_src'], build_dir='py', duplicate=0)
123 jgs 277
124 robwdcock 682 # Call the unit tests SConscript
125     local_env.SConscript(dirs = ['#/escript/test'], build_dir='#/build/$PLATFORM/escript/test', duplicate=0)
126 ksteube 1705

  ViewVC Help
Powered by ViewVC 1.1.26