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

Annotation of /trunk/scons/esys_options.py

Parent Directory Parent Directory | Revision Log Revision Log


Revision 645 - (hide annotations)
Fri Mar 24 01:10:42 2006 UTC (13 years, 3 months ago) by elspeth
File MIME type: text/x-python
File size: 3632 byte(s)
More copyright.

1 elspeth 645
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 gross 426 # 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
14 jgs 455 # standard gcc settings by importing gcc_options. If there is
15 gross 426 # a <hostname>_options file it is imported to set platform specific settings
16    
17 gross 425 # this is the general set up for the esys scons system:
18     libinstall = None
19     pyinstall = None
20 jgs 481 incinstall = None
21 gross 425 dodebug = 0
22    
23     # locations of libs etc used by mkl
24     mkl_path = ''
25     mkl_lib_path = ''
26     mkl_libs = []
27    
28     # locations of libs etc used by SCSL
29     scsl_path = ''
30     scsl_lib_path = ''
31     scsl_libs = []
32    
33     # locations of libs etc used by UMFPACK
34     umfpack_path = ''
35     umfpack_lib_path = ''
36     umfpack_libs = []
37    
38     # locations of include files for python
39     python_path = Dir('/usr/include')
40 jgs 486 python_lib_path = Dir('/usr/lib')
41 gross 584 python_lib = [ 'python2.3' ]
42 gross 425
43 gross 584 # locations of PAPI
44     papi_path = ''
45     papi_lib_path = ''
46     papi_libs = []
47    
48 gross 425 # locations of libraries for boost
49 gross 584 boost_path = '/usr/include'
50     boost_lib_path = '/usr/lib'
51     boost_lib = 'boost_python'
52 gross 425
53 jgs 486 # locations of doc building executables
54     doxygen_path = ''
55     epydoc_path = ''
56 jgs 487 epydoc_pythonpath = ''
57 jgs 486
58 gross 425 # names of c and c++ compilers to use
59     cc = 'gcc'
60     cxx = 'g++'
61    
62     # c flags to use
63     cc_flags = '-O0 -std=c99 -fpic -W -Wall -Wno-unknown-pragmas'
64     cc_flags_debug = '-g -O0 -std=c99 -fpic -W -Wall -Wno-unknown-pragmas'
65    
66     # c++ flags to use
67     cxx_flags = '-O0 -ansi -fpic -W -Wall -Wno-unknown-pragmas'
68     cxx_flags_debug = '-g -O0 -ansi -fpic -W -Wall -Wno-unknown-pragmas -DDOASSERT -DDOPROF'
69    
70     # static library archiver flags to use
71     ar_flags = 'crus'
72    
73     # system specific libraries to link with
74     sys_libs = []
75    
76     #==== end of setting options ===========================================
77 jgs 455
78 gross 425 import sys
79 jgs 455
80     # set esysroot
81 gross 425 options_dir = Dir(esysroot + '/scons')
82     if sys.path.count(str(options_dir))==0: sys.path.append(str(options_dir))
83 jgs 455
84 gross 425 #
85     # ensure correct versions of python and scons
86     EnsurePythonVersion(2,3)
87     EnsureSConsVersion(0,96)
88 jgs 455
89 gross 425 #
90     # retreive command-line arguments if any and overwrite settings in <hostname>_options
91     usegcc = 0
92     options = None
93     if ARGUMENTS.get('libinstall',0): libinstall = ARGUMENTS.get('libinstall',0)
94     if ARGUMENTS.get('pyinstall',0): pyinstall = ARGUMENTS.get('pyinstall',0)
95 jgs 481 if ARGUMENTS.get('incinstall',0): pyinstall = ARGUMENTS.get('incinstall',0)
96 gross 425 if ARGUMENTS.get('debug',0): dodebug = 1
97     if ARGUMENTS.get('options',0): options = ARGUMENTS.get('options',0)
98     if ARGUMENTS.get('usegcc',0): usegcc = 1
99     #
100     # try to import <hostname>_options
101     try:
102     exec "from gcc_options import *"
103     except ImportError:
104     pass
105 jgs 455
106 gross 425 #
107     # try to import <hostname>_options
108     if usegcc==0:
109     import socket
110 gross 619 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 gross 425 try:
118     exec "from "+hostname+"_options import *"
119     except ImportError:
120     pass
121 jgs 455
122     #
123 gross 425 # import additional options:
124     if options!=None:
125     exec "from " + options + " import *"
126 jgs 455
127 gross 425 #
128     # use debug options:
129     if dodebug==1:
130     cxx_flags=cxx_flags_debug
131 gross 427 cc_flags=cc_flags_debug
132 jgs 455
133 jgs 481 #
134     # export configuration variables
135 gross 584 #
136 gross 425 Export(["esysroot"])
137 jgs 457 Export(["libinstall"])
138 gross 584 Export(["incinstall"])
139 jgs 457 Export(["pyinstall"])

  ViewVC Help
Powered by ViewVC 1.1.26