~vcs-imports/escript-finley/trunk

« back to all changes in this revision

Viewing changes to scons/windows_mscv90_options.py

  • Committer: jfenwick
  • Date: 2010-10-11 01:48:14 UTC
  • Revision ID: svn-v4:77569008-7704-0410-b7a0-a92fef0b09fd:trunk:3259
Merging dudley and scons updates from branches

Show diffs side-by-side

added added

removed removed

Lines of Context:
11
11
#
12
12
########################################################
13
13
 
14
 
 
15
 
import sys, os
16
 
 
17
 
source_root = os.path.realpath('.')
18
 
 
19
 
pyinstall = os.path.join(source_root,'esys')
20
 
incinstall = os.path.join(source_root,'include')
21
 
libinstall = os.path.join(source_root,'lib')
22
 
exinstall = os.path.join(source_root,'examples')
23
 
 
24
 
# locations of files for python
25
 
py_vers = '%s%s'%(sys.version_info[0],sys.version_info[1])
26
 
python_root = 'C:/python' + py_vers
27
 
python_cmd = os.path.join(python_root,'python')
28
 
python_path =  os.path.join(python_root,'include')
29
 
python_lib_path = os.path.join(python_root,'libs')
30
 
python_libs = ['python' + py_vers]
31
 
 
32
 
# locations of libraries for boost
33
 
dotdot = os.path.realpath('..')
34
 
boost_path = os.path.join(dotdot,'boost_1_39_0')
35
 
boost_lib_path = os.path.join(boost_path,'windows_binary','lib')
36
 
boost_libs = ['boost_python-vc90-mt-1_39']
37
 
 
38
 
# locations of netcdf
39
 
useNetCDF = "yes"
40
 
netCDF_root = os.path.join(dotdot,"netcdf")
41
 
netCDF_path = os.path.join(netCDF_root,"src","include")
42
 
netCDF_lib_path = os.path.join(netCDF_root,'lib')
43
 
netCDF_libs = ["netcdf", "netcdf_cpp" ]
44
 
 
45
 
cc_defines = ['_USE_MATH_DEFINES']
46
 
# c flags to use
47
 
# /wd4068 - ignore unknown pragmas.
48
 
# /EHsc - /EHsc Catch C++ exceptions only, assume C code does not throw.
49
 
# /GR - enable RTTI.
50
 
# /MD - link to DLL multithreaded RTL
51
 
# /ZI - dont put the library name in the .obj file.
52
 
# /Yd - Put debug info in .obj file.
53
 
# /Y- - Ignore precompiled header options, we don't want them.
54
 
# /RTCcsu - Stack frame, use of uninitialised variabe and truncation checks.
55
 
cc_flags  = '/EHsc /GR /wd4068  /MD'
56
 
#cc_optim  = '/O2 /Op /W3'
57
 
cc_optim  = '/O2 /W3'
58
 
cc_debug  = '/Od /RTCcsu /ZI /Yd /Y-'
59
 
 
60
 
# MPI version using MSMPI
61
 
usempi = 'yes'
62
 
mpi_path = 'C:/Program Files/Microsoft HPC Pack 2008 SDK/include'
63
 
mpi_lib_path = 'C:/Program Files/Microsoft HPC Pack 2008 SDK/lib/i386'
64
 
mpi_libs = ['msmpi']
65
 
mpi_flavour = 'MPICH2'
66
 
 
67
 
# linker flags to use
68
 
#link_flags = ''
69
 
#link_flags_debug = '/debug /incremental:no /opt:ref /opt:icf'
70
 
# Extra flags to enable compiling on VS 9.0 on the HPC platform
 
14
import os
 
15
 
 
16
# PREFIXES:
 
17
# There are two ways to specify where to find dependent headers and libraries
 
18
# (via the <dependency>_prefix):
 
19
# 1) If your installation follows the general scheme where headers are located
 
20
#    in <prefix>/include[32,64], and libraries in <prefix>/lib[32,64] then
 
21
#    it is sufficient to specify this prefix, e.g. boost_prefix='C:/python'
 
22
# 2) Otherwise provide a list with two elements, where the first one is the
 
23
#    include path, and the second the library path, e.g.
 
24
#    boost_prefix=['C:/boost/include/boost1_44', 'C:/boost/lib']
 
25
# All <dependency>_prefix settings default to '/usr' so have to be set
 
26
# manually on Windows.
 
27
 
 
28
# The options file version. SCons will refuse to build if there have been
 
29
# changes to the set of variables and your file has not been updated.
 
30
# This setting is mandatory.
 
31
escript_opts_version = 200
 
32
 
 
33
# Installation prefix. Files will be installed in subdirectories underneath.
 
34
# DEFAULT: '.' (current directory)
 
35
#prefix = 'C:/escript'
 
36
 
 
37
# C compiler command name or full path.
 
38
# DEFAULT: auto-detected
 
39
#cc = 'cl'
 
40
 
 
41
# C++ compiler command name or full path.
 
42
# DEFAULT: auto-detected
 
43
#cxx = 'cl'
 
44
 
 
45
# Flags to use with both C and C++ compilers. Do not set unless you know
 
46
# what you are doing - use cc_extra to specify additional flags!
 
47
# DEFAULT: compiler-dependent
 
48
cc_flags = '/EHsc /GR /wd4068 /MD'
 
49
 
 
50
# Additional compiler (optimization) flags for non-debug builds
 
51
# DEFAULT: compiler-dependent
 
52
cc_optim = '/O2 /W3'
 
53
 
 
54
# Additional compiler flags for debug builds
 
55
# DEFAULT: compiler-dependent
 
56
cc_debug = '/Od /RTCcsu /ZI /Yd /Y-'
 
57
 
 
58
# Additional flags to add to the C compiler only
 
59
# DEFAULT: '' (empty)
 
60
#cc_extra = ''
 
61
 
 
62
# Additional flags to add to the C++ compiler only
 
63
# DEFAULT: '' (empty)
 
64
#cxx_extra = ''
 
65
 
 
66
# Additional flags to add to the linker
 
67
# DEFAULT: '' (empty)
71
68
ld_extra = '/LIBPATH:"C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/lib" \
72
69
            /LIBPATH:"C:/Program Files (x86)/Microsoft Visual Studio 9.0/VC/redist/x86/Microsoft.VC90.CRT" \
73
 
            /LIBPATH:"C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib" \
 
70
                /LIBPATH:"C:/Program Files/Microsoft SDKs/Windows/v6.0A/Lib" \
74
71
            /LIBPATH:"C:/Windows/winsxs/x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91" \
75
 
            /LIBPATH:"C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/SDK/v1.1/Lib"' 
76
 
 
77
 
# static library archiver flags to use
78
 
#ar_flags = 'crus'
79
 
 
80
 
# system specific libraries to link with - this is only used after compilation of the
81
 
# sources. Don't rely on it linking the correct libs for cleaning, testing etc (see ld_extra)
82
 
#sys_libs = ["C:/Windows/winsxs/x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.21022.8_none_bcb86ed6ac711f91/msvcp90"]
83
 
sys_libs = []
84
 
tools_names = ['msvc']
 
72
            /LIBPATH:"C:/Program Files (x86)/Microsoft Visual Studio .NET 2003/SDK/v1.1/Lib"'
 
73
 
 
74
# Whether to treat compiler warnings as errors
 
75
# DEFAULT: True
 
76
werror = False
 
77
 
 
78
# Whether to build a debug version
 
79
# DEFAULT: False
 
80
#debug = True
 
81
 
 
82
# Set to True to print the full compiler/linker command line
 
83
# DEFAULT: False
 
84
verbose = True
 
85
 
 
86
# Set to True to add flags that enable OpenMP parallelization
 
87
# DEFAULT: False
 
88
#openmp = True
 
89
 
 
90
# Additional compiler flags for OpenMP builds
 
91
# DEFAULT: compiler-dependent
 
92
#omp_flags = '/Qopenmp /Qparallel'
 
93
 
 
94
# Additional linker flags for OpenMP builds
 
95
# DEFAULT: compiler-dependent
 
96
#omp_ldflags = '/Qopenmp /Qparallel'
 
97
 
 
98
# Flavour of MPI implementation
 
99
# Recognized values: 'none', 'MPT', 'MPICH', 'MPICH2', 'OPENMPI', 'INTELMPI'
 
100
# DEFAULT: 'none' (disable MPI)
 
101
mpi = 'MPICH2'
 
102
 
 
103
# Prefix or paths to MPI headers and libraries. See note above about prefixes.
 
104
mpi_prefix = ['C:/Program Files/Microsoft HPC Pack 2008 SDK/include', 'C:/Program Files/Microsoft HPC Pack 2008 SDK/lib/i386']
 
105
 
 
106
# MPI libraries to link against
 
107
mpi_libs = ['msmpi']
 
108
 
 
109
dotdot = os.path.realpath('..')
 
110
 
 
111
# Prefix or paths to boost-python headers and libraries. See note above.
 
112
boost_prefix = [os.path.join(dotdot, 'boost_1_39_0'), os.path.join(dotdot, 'boost_1_39_0','windows_binary','lib')]
 
113
 
 
114
# boost-python library/libraries to link against
 
115
boost_libs = ['boost_python-vc90-mt-1_39']
 
116
 
 
117
# Whether to use the netCDF library for dump file support
 
118
# DEFAULT: False
 
119
netcdf = True
 
120
 
 
121
# Prefix or paths to netCDF headers and libraries. See note above.
 
122
netcdf_prefix = [os.path.join(dotdot, 'netcdf', 'src', 'include'), os.path.join(dotdot, 'netcdf', 'lib')]
 
123
 
 
124
# netCDF library/libraries to link against
 
125
netcdf_libs = ['netcdf_cpp', 'netcdf']
 
126
 
 
127
# Whether to use the parMETIS library (only in conjunction with MPI)
 
128
# DEFAULT: False
 
129
#parmetis = True
 
130
 
 
131
# Prefix or paths to parMETIS headers and libraries. See note above.
 
132
#parmetis_prefix = 'C:/parmetis'
 
133
 
 
134
# parMETIS library/libraries to link against
 
135
#parmetis_libs = ['parmetis', 'metis']
 
136
 
 
137
# Whether to use the Intel PAPI (Performance API) library
 
138
# DEFAULT: False
 
139
#papi = True
 
140
 
 
141
# Prefix or paths to PAPI headers and libraries. See note above.
 
142
#papi_prefix = 'C:/papi'
 
143
 
 
144
# PAPI library/libraries to link against
 
145
#papi_libs = ['papi']
 
146
 
 
147
# Whether to use PAPI to instrument solver iterations
 
148
# DEFAULT: False
 
149
#papi_instrument_solver = True
 
150
 
 
151
# Whether to use Intel MKL (Math Kernel Library)
 
152
# DEFAULT: False
 
153
#mkl = True
 
154
 
 
155
# Prefix or paths to MKL headers and libraries. See note above.
 
156
#mkl_prefix = 'C:/mkl'
 
157
 
 
158
# MKL library/libraries to link against
 
159
#mkl_libs = ['mkl_solver', 'mkl_em64t', 'mkl_core', 'guide']
 
160
 
 
161
# Whether to use UMFPACK (requires AMD and BLAS)
 
162
# DEFAULT: False
 
163
#umfpack = True
 
164
 
 
165
# Prefix or paths to UMFPACK headers and libraries. See note above.
 
166
#umfpack_prefix = 'C:/umfpack'
 
167
 
 
168
# UMFPACK library/libraries to link against
 
169
#umfpack_libs = ['umfpack']
 
170
 
 
171
# Flavour of LAPACK implementation
 
172
# Recognized values: 'none', 'clapack', 'mkl'
 
173
# DEFAULT: 'none' (do not use LAPACK)
 
174
#lapack = 'clapack'
 
175
 
 
176
# Prefix or paths to LAPACK headers and libraries. See note above.
 
177
#lapack_prefix = 'C:/lapack'
 
178
 
 
179
# LAPACK library/libraries to link against
 
180
#lapack_libs = ['lapack_atlas']
 
181
 
 
182
# Whether to use LLNL's SILO library for Silo output file support in weipa
 
183
# DEFAULT: False
 
184
#silo = True
 
185
 
 
186
# Prefix or paths to SILO headers and libraries. See note above.
 
187
#silo_prefix = 'C:/silo'
 
188
 
 
189
# SILO library/libraries to link against
 
190
#silo_libs = ['siloh5', 'hdf5']
 
191
 
 
192
# Whether to use LLNL's VisIt simulation interface (only version 2 supported)
 
193
# DEFAULT: False
 
194
#visit = True
 
195
 
 
196
# Prefix or paths to VisIt's sim2 headers and libraries. See note above.
 
197
#visit_prefix = 'C:/visit/2.1.0/linux-intel/libsim/V2'
 
198
 
 
199
# Sim2 library/libraries to link against
 
200
#visit_libs = ['simV2']
 
201
 
 
202
# Whether to enable the deprecated PyVisi interface (requires the VTK python
 
203
# modules)
 
204
# DEFAULT: False
 
205
#pyvisi = True
 
206
 
 
207
 
 
208
### ADVANCED OPTIONS ###
 
209
# Do not change the following options unless you know what they do
 
210
 
 
211
# Extra libraries to link with
 
212
sys_libs = ['C:/Program Files/Microsoft Visual Studio .NET 2003/Vc7/PlatformSDK/Lib/Ws2_32']
 
213
 
 
214
# Additional environmental variables to export to the tools
 
215
#env_export = []
 
216
 
 
217
# Build a shared esysUtils library
 
218
#share_esysutils = True
 
219
 
 
220
# Build a shared paso library
 
221
#share_paso = True
 
222
 
 
223
#tools_names = ['msvc']
 
224
 
 
225
#iknowwhatimdoing = False
 
226
 
 
227
#forcelazy = 'leave_alone'
 
228
 
 
229
#forcecollres = 'leave_alone'
 
230