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

Diff of /trunk/finley/src/SConscript

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 682 by robwdcock, Mon Mar 27 02:43:09 2006 UTC revision 1235 by phornby, Mon Aug 13 00:25:29 2007 UTC
# Line 1  Line 1 
1    #          Copyright 2006 by ACcESS MNRF
2    #
3    #              http://www.access.edu.au
4    #       Primary Business: Queensland, Australia
5    #  Licensed under the Open Software License version 3.0
6    #     http://www.opensource.org/licenses/osl-3.0.php
7    #
8    import os
9  Import('*')  Import('*')
10    
11  local_env=env.Copy()  local_env=env.Copy()
# Line 11  py_wrapper_source = 'CPPAdapter/'+py_wra Line 19  py_wrapper_source = 'CPPAdapter/'+py_wra
19  py_wrapper_lib_name = py_wrapper_name  py_wrapper_lib_name = py_wrapper_name
20    
21  src_dir = local_env.Dir('.').srcnode().abspath  src_dir = local_env.Dir('.').srcnode().abspath
22    filenames = [ x for x in os.listdir(src_dir) if os.path.splitext(x)[1] in [".h", ".c", ".cpp"] ]
23    
 import os  
 filenames = os.listdir(src_dir)  
24  sources = [x for x in filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]  sources = [x for x in filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]
25  headers = [x for x in filenames if os.path.splitext(x)[1] in ['.h']]  headers = [x for x in filenames if os.path.splitext(x)[1] in ['.h']]
 # Filter unused sources  
 sources.remove('ElementFile_borrowLocalVolume.c') # FIXME: Should this file be removed?  
26    
27    
28  # finleycpp has additional source in the CPPAdapter sub-directory. Append these to the list  # finleycpp has additional source in the CPPAdapter sub-directory. Append these to the list
29  cppadapter_filenames = os.listdir(src_dir+'/CPPAdapter');  cppadapter_filenames = [ 'CPPAdapter/'+x for x in os.listdir(src_dir+'/CPPAdapter')  if os.path.splitext(x)[1] in [".h", ".c", ".cpp"] ]
30  sources += ['CPPAdapter/'+x for x in cppadapter_filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]  sources += [ x for x in cppadapter_filenames if os.path.splitext(x)[1] in ['.cpp', '.c']]
31  cppadapter_headers = ['CPPAdapter/'+x for x in cppadapter_filenames if os.path.splitext(x)[1] in ['.h']]  cppadapter_headers = [x for x in cppadapter_filenames if os.path.splitext(x)[1] in ['.h']]
32    
33  sources.remove(py_wrapper_source) # FIXME: should probably refactor the source tree so the python wrapper isn't colocated with c++ sources  sources.remove(py_wrapper_source) # FIXME: should probably refactor the source tree so the python wrapper isn't colocated with c++ sources
34  local_env.Append(LIBS = [boost_lib, python_lib, sys_libs, 'escript', 'esysUtils', 'paso'])  local_env.Append(LIBS = [boost_lib, python_lib, 'escript', 'esysUtils', 'paso'] + sys_libs)
35  py_wrapper_local_env.Append(LIBS = [boost_lib, python_lib, sys_libs, lib_name, 'escript', 'esysUtils', 'paso'])  py_wrapper_local_env.Append(LIBS = [boost_lib, python_lib, lib_name, 'escript', 'esysUtils', 'paso'] + sys_libs)
36    
37  if mkl_libs:  if mkl_libs:
38     local_env.Append(CPPDEFINES=['MKL',])     local_env.Append(CPPDEFINES=['MKL',])
# Line 35  if mkl_libs: Line 40  if mkl_libs:
40  if scsl_libs:  if scsl_libs:
41     local_env.Append(CPPDEFINES=['SCSL',])     local_env.Append(CPPDEFINES=['SCSL',])
42     local_env.Append(LIBS = scsl_libs)     local_env.Append(LIBS = scsl_libs)
43  if umf_libs:  if umf_libs and amd_libs:
44     local_env.Append(CPPDEFINES=['UMFPACK',])     local_env.Append(CPPDEFINES=['UMFPACK',])
45     local_env.Append(LIBS = umf_libs)     local_env.Append(LIBS = umf_libs)
46       local_env.Append(LIBS = amd_libs)
47    
48    if blas_libs:
49       local_env.Append(LIBS = blas_libs)
50    
51  if papi_libs:  if papi_libs:
52     local_env.Append(CPPDEFINES=['PAPI',])     local_env.Append(CPPDEFINES=['PAPI',])
53     local_env.Append(LIBS = papi_libs)     local_env.Append(LIBS = papi_libs)
54    
55    local_env.Append(CPPDEFINES = 'FINLEY_EXPORTS')
56    
57  lib = local_env.SharedLibrary(lib_name, sources)  lib = local_env.SharedLibrary(lib_name, sources)
58  py_wrapper_lib = py_wrapper_local_env.SharedLibrary( py_wrapper_lib_name, py_wrapper_source)  py_wrapper_lib = py_wrapper_local_env.SharedLibrary( py_wrapper_lib_name, py_wrapper_source)
# Line 60  py_wrapper_local_env.Install(pyinstall+' Line 71  py_wrapper_local_env.Install(pyinstall+'
71  dep_lib = [libinstall+'/'+str(x) for x in lib]  dep_lib = [libinstall+'/'+str(x) for x in lib]
72  Export('dep_lib')  Export('dep_lib')
73    
74    # add source files to release
75    release_srcfiles = [ env.File(x) for x in filenames + cppadapter_filenames ] + [env.File("SConscript"), ]
76    env.Zip(src_zipfile, release_srcfiles)
77    try:
78      env.Tar(src_tarfile, release_srcfiles)
79    except AttributeError:
80      pass
81  # Call the python sconscript  # Call the python sconscript
82  env.SConscript(dirs = ['#/finley/py_src'], build_dir='py', duplicate=0)  env.SConscript(dirs = ['#/finley/py_src'], build_dir='py', duplicate=0)
83    

Legend:
Removed from v.682  
changed lines
  Added in v.1235

  ViewVC Help
Powered by ViewVC 1.1.26