1 |
libinstall = None |
2 |
incinstall = None |
3 |
|
4 |
Import('*') |
5 |
|
6 |
import os |
7 |
import string |
8 |
|
9 |
libname = 'brucecpp' |
10 |
|
11 |
bruce_path = str(esysroot) + '/bruce/src' |
12 |
escript_path = str(esysroot) + '/escript/src' |
13 |
esysUtils_path = str(esysroot) + '/esysUtils/src' |
14 |
|
15 |
esys_lib_path = str(esysroot) + '/lib' |
16 |
esysUtils_lib_path = str(esysroot) + '/esysUtils/lib' |
17 |
|
18 |
escript_lib = str(esys_lib_path) + '/libescriptcpp.so' |
19 |
esysUtils_lib = str(esysUtils_lib_path) + '/libesysUtils.a' |
20 |
|
21 |
cpp_path = [bruce_path, |
22 |
escript_path, |
23 |
esysUtils_path, |
24 |
python_path, |
25 |
boost_path] |
26 |
|
27 |
incs = ['BruceException.h', |
28 |
'BruceFactory.h', |
29 |
'Bruce.h', |
30 |
'vtkCellType.h'] |
31 |
|
32 |
sources = ['Bruce.cpp', |
33 |
'BruceFactory.cpp', |
34 |
'brucecpp.cpp'] |
35 |
|
36 |
lib_path = [esys_lib_path, |
37 |
esysUtils_lib_path, |
38 |
boost_lib_path] |
39 |
|
40 |
libs = ['esysUtils', |
41 |
'escriptcpp', |
42 |
str(boost_lib)] |
43 |
|
44 |
libs.extend(sys_libs) |
45 |
|
46 |
bruce_env = Environment(ENV = os.environ) |
47 |
|
48 |
bruce_env.Replace(CXX = cxx) |
49 |
bruce_env.Replace(SHOBJSUFFIX = '.lo') |
50 |
bruce_env.Replace(CXXFLAGS = cxx_flags) |
51 |
bruce_env.Replace(CPPPATH = cpp_path) |
52 |
bruce_env.Replace(LIBPATH = lib_path) |
53 |
bruce_env.Replace(LIBS = libs) |
54 |
|
55 |
bruce_lib = bruce_env.SharedLibrary(libname, sources) |
56 |
|
57 |
Depends(bruce_lib, esysUtils_lib) |
58 |
Depends(bruce_lib, escript_lib) |
59 |
|
60 |
Default(bruce_env.Install(incdir, incs)) |
61 |
Default(bruce_env.Install(incdir2, incs)) |
62 |
if incinstall != None: |
63 |
Default(bruce_env.Install(incinstall, incs)) |
64 |
|
65 |
Default(bruce_env.Install(libdir, bruce_lib)) |
66 |
Default(bruce_env.Install(libdir2, bruce_lib)) |
67 |
if libinstall != None: |
68 |
Default(bruce_env.Install(libinstall, bruce_lib)) |