/[escript]/trunk/scons/esys_options.py
ViewVC logotype

Diff of /trunk/scons/esys_options.py

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

revision 426 by gross, Tue Jan 10 04:17:43 2006 UTC revision 645 by elspeth, Fri Mar 24 01:10:42 2006 UTC
# Line 1  Line 1 
1    
2    #          Copyright 2006 by ACcESS MNRF                  
3    #                                                          
4    #              http://www.access.edu.au                    
5    #       Primary Business: Queensland, Australia            
6    #  Licensed under the Open Software License version 3.0    
7    #     http://www.opensource.org/licenses/osl-3.0.php      
8    #                                                          
9    
10    
11    
12  # this code should be called by all esys13 scons builder and testing scripts  # this code should be called by all esys13 scons builder and testing scripts
13  # it sets default values for relevant variables and overloads them with the  # it sets default values for relevant variables and overloads them with the
14  # standart gcc settings by importing gcc_options. If there is  # standard gcc settings by importing gcc_options. If there is
15  # a <hostname>_options file it is imported to set platform specific settings  # a <hostname>_options file it is imported to set platform specific settings
16    
17  # this is the general set up for the esys scons system:  # this is the general set up for the esys scons system:
18  libinstall = None  libinstall = None
19  pyinstall = None  pyinstall = None
20    incinstall = None
21  dodebug = 0  dodebug = 0
22    
23  # locations of libs etc used by mkl  # locations of libs etc used by mkl
# Line 18  scsl_path = '' Line 30  scsl_path = ''
30  scsl_lib_path = ''  scsl_lib_path = ''
31  scsl_libs = []  scsl_libs = []
32    
   
33  # locations of libs etc used by UMFPACK  # locations of libs etc used by UMFPACK
34  umfpack_path = ''  umfpack_path = ''
35  umfpack_lib_path = ''  umfpack_lib_path = ''
36  umfpack_libs = []  umfpack_libs = []
37    
   
38  # locations of include files for python  # locations of include files for python
39  python_path = Dir('/usr/include')  python_path = Dir('/usr/include')
40  python_lib_path =Dir('/usr/lib')  python_lib_path = Dir('/usr/lib')
41  python_lib = Library('python2.3')  python_lib = [ 'python2.3' ]
42    
43    # locations of PAPI
44    papi_path = ''
45    papi_lib_path = ''
46    papi_libs = []
47    
48  # locations of libraries for boost  # locations of libraries for boost
49  boost_path =Dir('/usr/include')  boost_path = '/usr/include'
50  boost_lib_path =Dir('/usr/lib')  boost_lib_path = '/usr/lib'
51  boost_lib = Library('boost_python')  boost_lib = 'boost_python'
52    
53    # locations of doc building executables
54    doxygen_path = ''
55    epydoc_path = ''
56    epydoc_pythonpath = ''
57    
58  # names of c and c++ compilers to use  # names of c and c++ compilers to use
59  cc = 'gcc'  cc = 'gcc'
# Line 54  ar_flags = 'crus' Line 74  ar_flags = 'crus'
74  sys_libs = []  sys_libs = []
75    
76  #==== end of setting options ===========================================  #==== end of setting options ===========================================
77    
78  import sys  import sys
79  # set esys root  
80    # set esysroot
81  options_dir = Dir(esysroot + '/scons')  options_dir = Dir(esysroot + '/scons')
82  if sys.path.count(str(options_dir))==0: sys.path.append(str(options_dir))  if sys.path.count(str(options_dir))==0: sys.path.append(str(options_dir))
83    
84  #  #
85  # ensure correct versions of python and scons  # ensure correct versions of python and scons
86  EnsurePythonVersion(2,3)  EnsurePythonVersion(2,3)
87  EnsureSConsVersion(0,96)  EnsureSConsVersion(0,96)
88  #  
 # import configuration variables passed in from  
 # calling SConscript (if any)  
89  #  #
90  # retreive command-line arguments if any and overwrite settings in <hostname>_options  # retreive command-line arguments if any and overwrite settings in <hostname>_options
91  usegcc = 0  usegcc = 0
92  options = None  options = None
93  if ARGUMENTS.get('libinstall',0): libinstall = ARGUMENTS.get('libinstall',0)  if ARGUMENTS.get('libinstall',0): libinstall = ARGUMENTS.get('libinstall',0)
94  if ARGUMENTS.get('pyinstall',0): pyinstall = ARGUMENTS.get('pyinstall',0)  if ARGUMENTS.get('pyinstall',0): pyinstall = ARGUMENTS.get('pyinstall',0)
95    if ARGUMENTS.get('incinstall',0): pyinstall = ARGUMENTS.get('incinstall',0)
96  if ARGUMENTS.get('debug',0): dodebug = 1  if ARGUMENTS.get('debug',0): dodebug = 1
97  if ARGUMENTS.get('options',0): options = ARGUMENTS.get('options',0)  if ARGUMENTS.get('options',0): options = ARGUMENTS.get('options',0)
98  if ARGUMENTS.get('usegcc',0): usegcc = 1  if ARGUMENTS.get('usegcc',0): usegcc = 1
# Line 80  try: Line 102  try:
102      exec "from gcc_options import *"      exec "from gcc_options import *"
103  except ImportError:  except ImportError:
104      pass      pass
105    
106  #  #
107  # try to import <hostname>_options  # try to import <hostname>_options
108  if usegcc==0:  if usegcc==0:
109     import socket     import socket
110     hostname = socket.gethostname()     from string import ascii_letters,digits
111       hostname=""
112       for s in socket.gethostname().split('.')[0]:
113            if s in ascii_letters+digits:
114               hostname+=s
115            else:
116               hostname+="_"
117     try:     try:
118        exec "from "+hostname+"_options import *"        exec "from "+hostname+"_options import *"
119     except ImportError:     except ImportError:
120        pass        pass
121    
122    #
123  # import additional options:  # import additional options:
124  if options!=None:  if options!=None:
125    exec "from " + options + " import *"    exec "from " + options + " import *"
126    
127  #  #
128  # use debug options:  # use debug options:
129  if dodebug==1:  if dodebug==1:
130       cxx_flags=cxx_flags_debug       cxx_flags=cxx_flags_debug
131       c_flags=c_flags_debug       cc_flags=cc_flags_debug
132    
133    #
134    # export configuration variables
135  #  #
 # export some stuff  
136  Export(["esysroot"])  Export(["esysroot"])
137    Export(["libinstall"])
138    Export(["incinstall"])
139    Export(["pyinstall"])

Legend:
Removed from v.426  
changed lines
  Added in v.645

  ViewVC Help
Powered by ViewVC 1.1.26