/[escript]/branches/ROBW_XPLATFORM/finley/src/SConscript
ViewVC logotype

Annotation of /branches/ROBW_XPLATFORM/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log


Revision 655 - (hide annotations)
Fri Mar 24 07:55:21 2006 UTC (16 years, 4 months ago) by robwdcock
File size: 2105 byte(s)
# fix some lib flags

1 jgs 182 Import('*')
2    
3 robwdcock 623 local_env=env.Copy()
4    
5     src_dir = local_env.Dir('.').srcnode().abspath
6    
7 jgs 182 import os
8 robwdcock 623 filenames = os.listdir(src_dir)
9     sources = [x for x in filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]
10     headers = [x for x in filenames if os.path.splitext(x)[1] in ['.h']]
11 jgs 182
12 robwdcock 623 # Filter unused sources
13     sources.remove('ElementFile_borrowLocalVolume.c') # FIXME: Should this file be removed?
14 jgs 277
15 robwdcock 623 # finleycpp has additional source in the CPPAdapter sub-directory. Append these to the list
16     cppadapter_filenames = os.listdir(src_dir+'/CPPAdapter');
17     sources += ['CPPAdapter/'+x for x in cppadapter_filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]
18     cppadapter_headers = ['CPPAdapter/'+x for x in cppadapter_filenames if os.path.splitext(x)[1] in ['.h']]
19 jgs 182
20 robwdcock 623 if mkl_libs:
21     local_env.Append(CPPDEFINES=['MKL',])
22 robwdcock 655 local_env.Append(LIBS = mkl_libs)
23 robwdcock 623 if scsl_libs:
24     local_env.Append(CPPDEFINES=['SCSL',])
25 robwdcock 655 local_env.Append(LIBS = scsl_libs)
26 robwdcock 623 if umf_libs:
27     local_env.Append(CPPDEFINES=['UMFPACK',])
28 robwdcock 655 local_env.Append(LIBS = umf_libs)
29 robwdcock 623 if papi_libs:
30     local_env.Append(CPPDEFINES=['PAPI',])
31 robwdcock 655 local_env.Append(LIBS = papi_libs)
32 jgs 277
33 robwdcock 623 lib_name = 'finleycpp'
34 jgs 277
35 robwdcock 648 local_env.Append(LIBS = [boost_lib, python_lib, sys_libs, 'esysUtils', 'escriptcpp', 'paso'])
36 jgs 190
37 robwdcock 623 lib = local_env.SharedLibrary(lib_name, sources)
38 jgs 481
39 robwdcock 623 include_path = Dir(lib_name, incinstall)
40     cppadapter_include_path = Dir('CppAdapter', include_path)
41 jgs 182
42 robwdcock 623 local_env.Install(include_path, headers )
43     local_env.Install(cppadapter_include_path, cppadapter_headers )
44     local_env.Install(libinstall, lib)
45 jgs 277
46 robwdcock 648 # export the lib target since tests will depend on it
47     # the lib target is a list of file nodes (why? win32 produces more than one output file: .lib, .dll, .pdb)
48     # FIXME: This list handling produces the desired result but can this be done directly with scons File nodes?
49     dep_lib = [libinstall+'/'+str(x) for x in lib]
50     Export('dep_lib')
51    
52 robwdcock 651 # Call the python sconscript
53     env.SConscript(dirs = ['#/finley/py_src'], build_dir='py', duplicate=0)
54    
55     # Call the unit tests SConscript
56 robwdcock 648 local_env.SConscript(dirs = ['#/finley/test'], build_dir='#/build/$PLATFORM/finley/test', duplicate=0)
57    

  ViewVC Help
Powered by ViewVC 1.1.26