22 |
if sys.path.count('scons')==0: sys.path.append('scons') |
if sys.path.count('scons')==0: sys.path.append('scons') |
23 |
import scons_extensions |
import scons_extensions |
24 |
|
|
25 |
|
# check if UMFPACK is installed on the system: |
26 |
|
if os.path.isdir('/opt/UMFPACK/Include') and os.path.isdir('/opt/UMFPACK/Lib') and os.path.isdir('/opt/AMD/Lib'): |
27 |
|
umf_path_default='/opt/UMFPACK/Include' |
28 |
|
umf_lib_path_default='/opt/UMFPACK/Lib' |
29 |
|
amd_lib_path_default='/opt/AMD/Lib' |
30 |
|
umf_libs_default=['amd', 'umfpack'] |
31 |
|
else: |
32 |
|
umf_path_default=None |
33 |
|
umf_lib_path_default=None |
34 |
|
amd_lib_path_default=None |
35 |
|
umf_libs_default=None |
36 |
|
if os.path.isdir('/opt/GotoBLAS'): |
37 |
|
blas_path_default='/opt/GotoBLAS' |
38 |
|
blas_lib_path_default='/opt/GotoBLAS' |
39 |
|
blas_libs_default=['goto',] |
40 |
|
else: |
41 |
|
blas_path_default=None |
42 |
|
blas_lib_path_default=None |
43 |
|
blas_libs_default=None |
44 |
# Default options and options help text |
# Default options and options help text |
45 |
# These are defaults and can be overridden using command line arguments or an options file. |
# These are defaults and can be overridden using command line arguments or an options file. |
46 |
# if the options_file or ARGUMENTS do not exist then the ones listed as default here are used |
# if the options_file or ARGUMENTS do not exist then the ones listed as default here are used |
98 |
('scsl_libs', 'SCSL libraries to link with', None), |
('scsl_libs', 'SCSL libraries to link with', None), |
99 |
('scsl_libs_MPI', 'SCSL libraries to link with for MPI build', None), |
('scsl_libs_MPI', 'SCSL libraries to link with for MPI build', None), |
100 |
# UMFPACK |
# UMFPACK |
101 |
PathOption('umf_path', 'Path to UMF includes', None), |
PathOption('umf_path', 'Path to UMF includes', umf_path_default), |
102 |
PathOption('umf_lib_path', 'Path to UMF libs', None), |
PathOption('umf_lib_path', 'Path to UMF libs', umf_lib_path_default), |
103 |
('umf_libs', 'UMF libraries to link with', None), |
PathOption('amd_lib_path', 'Path to UMF libs', amd_lib_path_default), |
104 |
|
('umf_libs', 'UMF libraries to link with', umf_libs_default), |
105 |
|
# BLAS |
106 |
|
PathOption('blas_path', 'Path to BLAS includes', blas_path_default), |
107 |
|
PathOption('blas_lib_path', 'Path to BLAS libs', blas_lib_path_default ), |
108 |
|
('blas_libs', 'BLAS libraries to link with', blas_libs_default ), |
109 |
# Python |
# Python |
110 |
# locations of include files for python |
# locations of include files for python |
111 |
PathOption('python_path', 'Path to Python includes', '/usr/include/python%s.%s'%(sys.version_info[0],sys.version_info[1])), |
PathOption('python_path', 'Path to Python includes', '/usr/include/python%s.%s'%(sys.version_info[0],sys.version_info[1])), |
318 |
scsl_libs = env['scsl_libs'] |
scsl_libs = env['scsl_libs'] |
319 |
except KeyError: |
except KeyError: |
320 |
scsl_libs = '' |
scsl_libs = '' |
321 |
|
|
322 |
try: |
try: |
323 |
includes = env['umf_path'] |
includes = env['umf_path'] |
324 |
env.Append(CPPPATH = [includes,]) |
env.Append(CPPPATH = [includes,]) |
325 |
except KeyError: |
except KeyError: |
326 |
pass |
pass |
327 |
|
|
328 |
try: |
try: |
329 |
lib_path = env['umf_lib_path'] |
lib_path = env['umf_lib_path'] |
330 |
env.Append(LIBPATH = [lib_path,]) |
env.Append(LIBPATH = [lib_path,]) |
331 |
except KeyError: |
except KeyError: |
332 |
pass |
pass |
333 |
|
|
334 |
|
try: |
335 |
|
lib_path = env['amd_lib_path'] |
336 |
|
env.Append(LIBPATH = [lib_path,]) |
337 |
|
except KeyError: |
338 |
|
pass |
339 |
|
|
340 |
try: |
try: |
341 |
umf_libs = env['umf_libs'] |
umf_libs = env['umf_libs'] |
342 |
except KeyError: |
except KeyError: |
343 |
umf_libs = '' |
umf_libs = '' |
344 |
|
|
345 |
|
try: |
346 |
|
includes = env['blas_path'] |
347 |
|
env.Append(CPPPATH = [includes,]) |
348 |
|
except KeyError: |
349 |
|
pass |
350 |
|
try: |
351 |
|
lib_path = env['blas_lib_path'] |
352 |
|
env.Append(LIBPATH = [lib_path,]) |
353 |
|
except KeyError: |
354 |
|
pass |
355 |
|
try: |
356 |
|
blas_libs = env['blas_libs'] |
357 |
|
except KeyError: |
358 |
|
blas_libs = '' |
359 |
|
|
360 |
try: |
try: |
361 |
includes = env['boost_path'] |
includes = env['boost_path'] |
362 |
env.Append(CPPPATH = [includes,]) |
env.Append(CPPPATH = [includes,]) |