/[escript]/trunk/SConstruct
ViewVC logotype

Diff of /trunk/SConstruct

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

revision 2387 by jfenwick, Wed Apr 15 05:05:27 2009 UTC revision 2430 by jfenwick, Wed May 20 03:20:57 2009 UTC
# Line 33  IS_WINDOWS_PLATFORM = (os.name== "nt") Line 33  IS_WINDOWS_PLATFORM = (os.name== "nt")
33    
34  prefix = ARGUMENTS.get('prefix', Dir('#.').abspath)  prefix = ARGUMENTS.get('prefix', Dir('#.').abspath)
35    
36  # Read configuration options from file scons/<hostname>_options.py  #Determine where to read options from use:
37  hostname = re.sub("[^0-9a-zA-Z]", "_", socket.gethostname().split('.')[0])  #1. command line
38  tmp = os.path.join("scons",hostname+"_options.py")  #2. scons/<hostname>_options.py
39  options_file = ARGUMENTS.get('options_file', tmp)  #3. name as part of a cluster
40    options_file=ARGUMENTS.get('options_file', None)
41    if not options_file:
42      hostname = re.sub("[^0-9a-zA-Z]", "_", socket.gethostname().split('.')[0])
43      options_file = os.path.join("scons",hostname+"_options.py")
44      #If there is no options file with that name see if there is a substitute
45      if not os.path.isfile(options_file):
46        tmp = scons_extensions.effectiveName(hostname)
47        options_file = os.path.join("scons",tmp+"_options.py")
48    
49  if not os.path.isfile(options_file):  if not os.path.isfile(options_file):
50      print "Options file not found (expected '%s')" % options_file
51    options_file = False    options_file = False
   print "Options file not found (expected '%s')" % tmp  
52  else:  else:
53    print "Options file is", options_file    print "Options file is", options_file
54    
55  # Load options file and command-line arguments  #Does our scons support the newer Variables class or do we need to use Options?
56  opts = Options(options_file, ARGUMENTS)  
57    try:
58       dummyvar=Variables
59       opts = Variables(options_file, ARGUMENTS)
60       adder = opts.AddVariables
61    except:
62       opts = Options(options_file, ARGUMENTS)
63       adder = opts.AddOptions
64       BoolVariable = BoolOption
65    
66  ############ Load build options ################################  ############ Load build options ################################
67    
68  opts.AddOptions(  adder(
69    #opts.AddOptions(
70  # Where to install esys stuff  # Where to install esys stuff
71    ('prefix', 'where everything will be installed',                       Dir('#.').abspath),    ('prefix', 'where everything will be installed',                       Dir('#.').abspath),
72    ('incinstall', 'where the esys headers will be installed',             os.path.join(Dir('#.').abspath,'include')),    ('incinstall', 'where the esys headers will be installed',             os.path.join(Dir('#.').abspath,'include')),
# Line 56  opts.AddOptions( Line 74  opts.AddOptions(
74    ('libinstall', 'where the esys libraries will be installed',           os.path.join(prefix,'lib')),    ('libinstall', 'where the esys libraries will be installed',           os.path.join(prefix,'lib')),
75    ('pyinstall', 'where the esys python modules will be installed',       os.path.join(prefix,'esys')),    ('pyinstall', 'where the esys python modules will be installed',       os.path.join(prefix,'esys')),
76  # Compilation options  # Compilation options
77    BoolOption('dodebug', 'For backwards compatibility', 'no'),    BoolVariable('dodebug', 'For backwards compatibility', 'no'),
78    BoolOption('usedebug', 'Do you want a debug build?', 'no'),    BoolVariable('usedebug', 'Do you want a debug build?', 'no'),
79    BoolOption('usevtk', 'Do you want to use VTK?', 'yes'),    BoolVariable('usevtk', 'Do you want to use VTK?', 'yes'),
80    ('options_file', 'File of paths/options. Default: scons/<hostname>_options.py', options_file),    ('options_file', 'File of paths/options. Default: scons/<hostname>_options.py', options_file),
81    ('win_cc_name', 'windows C compiler name if needed', 'msvc'),    ('win_cc_name', 'windows C compiler name if needed', 'msvc'),
82    # The strings -DDEFAULT_ get replaced by scons/<hostname>_options.py or by defaults below    # The strings -DDEFAULT_ get replaced by scons/<hostname>_options.py or by defaults below
# Line 72  opts.AddOptions( Line 90  opts.AddOptions(
90    ('ld_extra', 'Extra linker flags', ''),    ('ld_extra', 'Extra linker flags', ''),
91    ('sys_libs', 'System libraries to link with', []),    ('sys_libs', 'System libraries to link with', []),
92    ('ar_flags', 'Static library archiver flags to use', ''),    ('ar_flags', 'Static library archiver flags to use', ''),
93    BoolOption('useopenmp', 'Compile parallel version using OpenMP', 'no'),    BoolVariable('useopenmp', 'Compile parallel version using OpenMP', 'no'),
94    BoolOption('usepedantic', 'Compile with -pedantic if using gcc', 'no'),    BoolVariable('usepedantic', 'Compile with -pedantic if using gcc', 'no'),
95    BoolOption('usewarnings','Compile with warnings as errors if using gcc','yes'),    BoolVariable('usewarnings','Compile with warnings as errors if using gcc','yes'),
96    ('forcelazy','for testing use only - set the default value for autolazy','leave_alone'),    ('forcelazy','for testing use only - set the default value for autolazy','leave_alone'),
97  # Python  # Python
98    ('python_path', 'Path to Python includes', '/usr/include/'+python_version),    ('python_path', 'Path to Python includes', '/usr/include/'+python_version),
# Line 86  opts.AddOptions( Line 104  opts.AddOptions(
104    ('boost_lib_path', 'Path to Boost libs', usr_lib),    ('boost_lib_path', 'Path to Boost libs', usr_lib),
105    ('boost_libs', 'Boost libraries to link with', ['boost_python']),    ('boost_libs', 'Boost libraries to link with', ['boost_python']),
106  # NetCDF  # NetCDF
107    BoolOption('usenetcdf', 'switch on/off the usage of netCDF', 'yes'),    BoolVariable('usenetcdf', 'switch on/off the usage of netCDF', 'yes'),
108    ('netCDF_path', 'Path to netCDF includes', '/usr/include'),    ('netCDF_path', 'Path to netCDF includes', '/usr/include'),
109    ('netCDF_lib_path', 'Path to netCDF libs', usr_lib),    ('netCDF_lib_path', 'Path to netCDF libs', usr_lib),
110    ('netCDF_libs', 'netCDF C++ libraries to link with', ['netcdf_c++', 'netcdf']),    ('netCDF_libs', 'netCDF C++ libraries to link with', ['netcdf_c++', 'netcdf']),
111  # MPI  # MPI
112    BoolOption('useMPI', 'For backwards compatibility', 'no'),    BoolVariable('useMPI', 'For backwards compatibility', 'no'),
113    BoolOption('usempi', 'Compile parallel version using MPI', 'no'),    BoolVariable('usempi', 'Compile parallel version using MPI', 'no'),
114    ('MPICH_IGNORE_CXX_SEEK', 'name of macro to ignore MPI settings of C++ SEEK macro (for MPICH)' , 'MPICH_IGNORE_CXX_SEEK'),    ('MPICH_IGNORE_CXX_SEEK', 'name of macro to ignore MPI settings of C++ SEEK macro (for MPICH)' , 'MPICH_IGNORE_CXX_SEEK'),
115    ('mpi_path', 'Path to MPI includes', '/usr/include'),    ('mpi_path', 'Path to MPI includes', '/usr/include'),
116    ('mpi_run', 'mpirun name' , 'mpiexec -np 1'),    ('mpi_run', 'mpirun name' , 'mpiexec -np 1'),
# Line 100  opts.AddOptions( Line 118  opts.AddOptions(
118    ('mpi_libs', 'MPI libraries to link with (needs to be shared!)', ['mpich' , 'pthread', 'rt']),    ('mpi_libs', 'MPI libraries to link with (needs to be shared!)', ['mpich' , 'pthread', 'rt']),
119    ('mpi_flavour','Type of MPI execution environment','none'),    ('mpi_flavour','Type of MPI execution environment','none'),
120  # ParMETIS  # ParMETIS
121    BoolOption('useparmetis', 'Compile parallel version using ParMETIS', 'yes'),    BoolVariable('useparmetis', 'Compile parallel version using ParMETIS', 'yes'),
122    ('parmetis_path', 'Path to ParMETIS includes', '/usr/include'),    ('parmetis_path', 'Path to ParMETIS includes', '/usr/include'),
123    ('parmetis_lib_path', 'Path to ParMETIS library', usr_lib),    ('parmetis_lib_path', 'Path to ParMETIS library', usr_lib),
124    ('parmetis_libs', 'ParMETIS library to link with', ['parmetis', 'metis']),    ('parmetis_libs', 'ParMETIS library to link with', ['parmetis', 'metis']),
125  # PAPI  # PAPI
126    BoolOption('usepapi', 'switch on/off the usage of PAPI', 'no'),    BoolVariable('usepapi', 'switch on/off the usage of PAPI', 'no'),
127    ('papi_path', 'Path to PAPI includes', '/usr/include'),    ('papi_path', 'Path to PAPI includes', '/usr/include'),
128    ('papi_lib_path', 'Path to PAPI libs', usr_lib),    ('papi_lib_path', 'Path to PAPI libs', usr_lib),
129    ('papi_libs', 'PAPI libraries to link with', ['papi']),    ('papi_libs', 'PAPI libraries to link with', ['papi']),
130    BoolOption('papi_instrument_solver', 'use PAPI in Solver.c to instrument each iteration of the solver', False),    BoolVariable('papi_instrument_solver', 'use PAPI in Solver.c to instrument each iteration of the solver', False),
131  # MKL  # MKL
132    BoolOption('usemkl', 'switch on/off the usage of MKL', 'no'),    BoolVariable('usemkl', 'switch on/off the usage of MKL', 'no'),
133    ('mkl_path', 'Path to MKL includes', '/sw/sdev/cmkl/10.0.2.18/include'),    ('mkl_path', 'Path to MKL includes', '/sw/sdev/cmkl/10.0.2.18/include'),
134    ('mkl_lib_path', 'Path to MKL libs', '/sw/sdev/cmkl/10.0.2.18/lib/em64t'),    ('mkl_lib_path', 'Path to MKL libs', '/sw/sdev/cmkl/10.0.2.18/lib/em64t'),
135    ('mkl_libs', 'MKL libraries to link with', ['mkl_solver', 'mkl_em64t', 'guide', 'pthread']),    ('mkl_libs', 'MKL libraries to link with', ['mkl_solver', 'mkl_em64t', 'guide', 'pthread']),
136  # UMFPACK  # UMFPACK
137    BoolOption('useumfpack', 'switch on/off the usage of UMFPACK', 'no'),    BoolVariable('useumfpack', 'switch on/off the usage of UMFPACK', 'no'),
138    ('ufc_path', 'Path to UFconfig includes', '/usr/include/suitesparse'),    ('ufc_path', 'Path to UFconfig includes', '/usr/include/suitesparse'),
139    ('umf_path', 'Path to UMFPACK includes', '/usr/include/suitesparse'),    ('umf_path', 'Path to UMFPACK includes', '/usr/include/suitesparse'),
140    ('umf_lib_path', 'Path to UMFPACK libs', usr_lib),    ('umf_lib_path', 'Path to UMFPACK libs', usr_lib),
141    ('umf_libs', 'UMFPACK libraries to link with', ['umfpack']),    ('umf_libs', 'UMFPACK libraries to link with', ['umfpack']),
142  # Silo  # Silo
143    BoolOption('usesilo', 'switch on/off the usage of Silo', 'yes'),    BoolVariable('usesilo', 'switch on/off the usage of Silo', 'yes'),
144    ('silo_path', 'Path to Silo includes', '/usr/include'),    ('silo_path', 'Path to Silo includes', '/usr/include'),
145    ('silo_lib_path', 'Path to Silo libs', usr_lib),    ('silo_lib_path', 'Path to Silo libs', usr_lib),
146    ('silo_libs', 'Silo libraries to link with', ['siloh5', 'hdf5']),    ('silo_libs', 'Silo libraries to link with', ['siloh5', 'hdf5']),
# Line 238  if not env["useopenmp"]: Line 256  if not env["useopenmp"]:
256    
257  if env['omp_optim'] == "" and env['omp_debug'] == "": env["useopenmp"] = 0  if env['omp_optim'] == "" and env['omp_debug'] == "": env["useopenmp"] = 0
258    
259    # Windows doesn't use LD_LIBRARY_PATH but PATH instead
260    if IS_WINDOWS_PLATFORM:
261        LD_LIBRARY_PATH_KEY='PATH'
262        env['ENV']['LD_LIBRARY_PATH']=''
263    else:
264        LD_LIBRARY_PATH_KEY='LD_LIBRARY_PATH'
265  ############ Copy environment variables into scons env #########  ############ Copy environment variables into scons env #########
266    
267  try: env['ENV']['OMP_NUM_THREADS'] = os.environ['OMP_NUM_THREADS']  try: env['ENV']['OMP_NUM_THREADS'] = os.environ['OMP_NUM_THREADS']
# Line 247  try: env['ENV']['ESCRIPT_NUM_THREADS'] = Line 271  try: env['ENV']['ESCRIPT_NUM_THREADS'] =
271  except KeyError: pass  except KeyError: pass
272    
273  try: env['ENV']['ESCRIPT_NUM_PROCS'] = os.environ['ESCRIPT_NUM_PROCS']  try: env['ENV']['ESCRIPT_NUM_PROCS'] = os.environ['ESCRIPT_NUM_PROCS']
274  except KeyError: pass  except KeyError: env['ENV']['ESCRIPT_NUM_PROCS']=1
275    
276  try: env['ENV']['ESCRIPT_NUM_NODES'] = os.environ['ESCRIPT_NUM_NODES']  try: env['ENV']['ESCRIPT_NUM_NODES'] = os.environ['ESCRIPT_NUM_NODES']
277  except KeyError: pass  except KeyError: env['ENV']['ESCRIPT_NUM_NODES']=1
278    
279  try: env['ENV']['ESCRIPT_HOSTFILE'] = os.environ['ESCRIPT_HOSTFILE']  try: env['ENV']['ESCRIPT_HOSTFILE'] = os.environ['ESCRIPT_HOSTFILE']
280  except KeyError: pass  except KeyError: pass
# Line 267  except KeyError: pass Line 291  except KeyError: pass
291  try: env['ENV']['CPLUS_INCLUDE_PATH'] = os.environ['CPLUS_INCLUDE_PATH']  try: env['ENV']['CPLUS_INCLUDE_PATH'] = os.environ['CPLUS_INCLUDE_PATH']
292  except KeyError: pass  except KeyError: pass
293    
294  try: env['ENV']['LD_LIBRARY_PATH'] = os.environ['LD_LIBRARY_PATH']  try: env.PrependENVPath(LD_LIBRARY_PATH_KEY,os.environ['LD_LIBRARY_PATH'])
295  except KeyError: pass  except KeyError: pass
296    
297  try: env['ENV']['LIBRARY_PATH'] = os.environ['LIBRARY_PATH']  try: env['ENV']['LIBRARY_PATH'] = os.environ['LIBRARY_PATH']
# Line 283  try: env['ENV']['HOME'] = os.environ['HO Line 307  try: env['ENV']['HOME'] = os.environ['HO
307  except KeyError: pass  except KeyError: pass
308    
309  # Configure for test suite  # Configure for test suite
 env.PrependENVPath('PYTHONPATH', prefix)  
 env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])  
310    
311    
312    env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
313    env.PrependENVPath('PYTHONPATH', prefix)
314  env['ENV']['ESCRIPT_ROOT'] = prefix  env['ENV']['ESCRIPT_ROOT'] = prefix
315    
316  ############ Set up paths for Configure() ######################  ############ Set up paths for Configure() ######################
# Line 363  else: Line 388  else:
388  conf.env.AppendUnique(LIBPATH       = [env['python_lib_path']])  conf.env.AppendUnique(LIBPATH       = [env['python_lib_path']])
389  conf.env.AppendUnique(LIBS      = [env['python_libs']])  conf.env.AppendUnique(LIBS      = [env['python_libs']])
390    
 conf.env.PrependENVPath('LD_LIBRARY_PATH', env['python_lib_path'])  # The wrapper script needs to find these libs  
391  conf.env.PrependENVPath('PYTHONPATH', prefix)  conf.env.PrependENVPath('PYTHONPATH', prefix)
392  conf.env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])  conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['python_lib_path'])    # The wrapper script needs to find these libs
393    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
394    
395  if not conf.CheckCHeader('Python.h'):  if not conf.CheckCHeader('Python.h'):
396    print "Cannot find python include files (tried 'Python.h' in directory %s)" % (env['python_path'])    print "Cannot find python include files (tried 'Python.h' in directory %s)" % (env['python_path'])
# Line 388  else: Line 413  else:
413  conf.env.AppendUnique(LIBPATH       = [env['boost_lib_path']])  conf.env.AppendUnique(LIBPATH       = [env['boost_lib_path']])
414  conf.env.AppendUnique(LIBS      = [env['boost_libs']])  conf.env.AppendUnique(LIBS      = [env['boost_libs']])
415    
416  conf.env.PrependENVPath('LD_LIBRARY_PATH', env['boost_lib_path'])   # The wrapper script needs to find these libs  conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['boost_lib_path']) # The wrapper script needs to find these libs
417  #ensure that our path entries remain at the front  #ensure that our path entries remain at the front
418  conf.env.PrependENVPath('PYTHONPATH', prefix)  conf.env.PrependENVPath('PYTHONPATH', prefix)
419  conf.env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])  conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
420    
421  if not conf.CheckCXXHeader('boost/python.hpp'):  if not conf.CheckCXXHeader('boost/python.hpp'):
422    print "Cannot find boost include files (tried boost/python.hpp in directory %s)" % (env['boost_path'])    print "Cannot find boost include files (tried boost/python.hpp in directory %s)" % (env['boost_path'])
# Line 425  if env['usenetcdf']: Line 450  if env['usenetcdf']:
450    conf.env.AppendUnique(CPPPATH = [env['netCDF_path']])    conf.env.AppendUnique(CPPPATH = [env['netCDF_path']])
451    conf.env.AppendUnique(LIBPATH = [env['netCDF_lib_path']])    conf.env.AppendUnique(LIBPATH = [env['netCDF_lib_path']])
452    conf.env.AppendUnique(LIBS    = [env['netCDF_libs']])    conf.env.AppendUnique(LIBS    = [env['netCDF_libs']])
453    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['netCDF_lib_path'])    # The wrapper script needs to find these libs    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['netCDF_lib_path'])  # The wrapper script needs to find these libs
454    #ensure that our path entries remain at the front    #ensure that our path entries remain at the front
455    conf.env.PrependENVPath('PYTHONPATH', prefix)    conf.env.PrependENVPath('PYTHONPATH', prefix)
456    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
457    
458  if env['usenetcdf'] and not conf.CheckCHeader('netcdf.h'): env['usenetcdf'] = 0  if env['usenetcdf'] and not conf.CheckCHeader('netcdf.h'): env['usenetcdf'] = 0
459  if env['usenetcdf'] and not conf.CheckFunc('nc_open'): env['usenetcdf'] = 0  if env['usenetcdf'] and not conf.CheckFunc('nc_open'): env['usenetcdf'] = 0
# Line 449  if env['usepapi']: Line 474  if env['usepapi']:
474    conf.env.AppendUnique(CPPPATH = [env['papi_path']])    conf.env.AppendUnique(CPPPATH = [env['papi_path']])
475    conf.env.AppendUnique(LIBPATH = [env['papi_lib_path']])    conf.env.AppendUnique(LIBPATH = [env['papi_lib_path']])
476    conf.env.AppendUnique(LIBS    = [env['papi_libs']])    conf.env.AppendUnique(LIBS    = [env['papi_libs']])
477    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['papi_lib_path'])  # The wrapper script needs to find these libs    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['papi_lib_path'])    # The wrapper script needs to find these libs
478    #ensure that our path entries remain at the front    #ensure that our path entries remain at the front
479    conf.env.PrependENVPath('PYTHONPATH', prefix)    conf.env.PrependENVPath('PYTHONPATH', prefix)
480    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
481    
482  if env['usepapi'] and not conf.CheckCHeader('papi.h'): env['usepapi'] = 0  if env['usepapi'] and not conf.CheckCHeader('papi.h'): env['usepapi'] = 0
483  if env['usepapi'] and not conf.CheckFunc('PAPI_start_counters'): env['usepapi'] = 0  if env['usepapi'] and not conf.CheckFunc('PAPI_start_counters'): env['usepapi'] = 0
# Line 473  if env['usemkl']: Line 498  if env['usemkl']:
498    conf.env.AppendUnique(CPPPATH = [env['mkl_path']])    conf.env.AppendUnique(CPPPATH = [env['mkl_path']])
499    conf.env.AppendUnique(LIBPATH = [env['mkl_lib_path']])    conf.env.AppendUnique(LIBPATH = [env['mkl_lib_path']])
500    conf.env.AppendUnique(LIBS    = [env['mkl_libs']])    conf.env.AppendUnique(LIBS    = [env['mkl_libs']])
501    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['mkl_lib_path'])   # The wrapper script needs to find these libs    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['mkl_lib_path']) # The wrapper script needs to find these libs
502    #ensure that our path entries remain at the front    #ensure that our path entries remain at the front
503    conf.env.PrependENVPath('PYTHONPATH', prefix)    conf.env.PrependENVPath('PYTHONPATH', prefix)
504    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
505    
506  if env['usemkl'] and not conf.CheckCHeader('mkl_solver.h'): env['usemkl'] = 0  if env['usemkl'] and not conf.CheckCHeader('mkl_solver.h'): env['usemkl'] = 0
507  if env['usemkl'] and not conf.CheckFunc('pardiso'): env['usemkl'] = 0  if env['usemkl'] and not conf.CheckFunc('pardiso'): env['usemkl'] = 0
# Line 504  if env['useumfpack']: Line 529  if env['useumfpack']:
529    conf.env.AppendUnique(CPPPATH = [env['blas_path']])    conf.env.AppendUnique(CPPPATH = [env['blas_path']])
530    conf.env.AppendUnique(LIBPATH = [env['blas_lib_path']])    conf.env.AppendUnique(LIBPATH = [env['blas_lib_path']])
531    conf.env.AppendUnique(LIBS    = [env['blas_libs']])    conf.env.AppendUnique(LIBS    = [env['blas_libs']])
532    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['umf_lib_path'])   # The wrapper script needs to find these libs    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['umf_lib_path']) # The wrapper script needs to find these libs
533    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['amd_lib_path'])   # The wrapper script needs to find these libs    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['amd_lib_path']) # The wrapper script needs to find these libs
534    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['blas_lib_path'])  # The wrapper script needs to find these libs    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['blas_lib_path'])    # The wrapper script needs to find these libs
535    #ensure that our path entries remain at the front    #ensure that our path entries remain at the front
536    conf.env.PrependENVPath('PYTHONPATH', prefix)    conf.env.PrependENVPath('PYTHONPATH', prefix)
537    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
538    
539  if env['useumfpack'] and not conf.CheckFunc('umfpack_di_symbolic'): env['useumfpack'] = 0  if env['useumfpack'] and not conf.CheckFunc('umfpack_di_symbolic'): env['useumfpack'] = 0
540  if env['useumfpack'] and not conf.CheckCHeader('umfpack.h'): env['useumfpack'] = 0  if env['useumfpack'] and not conf.CheckCHeader('umfpack.h'): env['useumfpack'] = 0
# Line 585  if env_mpi['usempi']: Line 610  if env_mpi['usempi']:
610    conf.env.AppendUnique(CPPPATH = [env_mpi['mpi_path']])    conf.env.AppendUnique(CPPPATH = [env_mpi['mpi_path']])
611    conf.env.AppendUnique(LIBPATH = [env_mpi['mpi_lib_path']])    conf.env.AppendUnique(LIBPATH = [env_mpi['mpi_lib_path']])
612    conf.env.AppendUnique(LIBS    = [env_mpi['mpi_libs']])    conf.env.AppendUnique(LIBS    = [env_mpi['mpi_libs']])
613    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['mpi_lib_path'])   # The wrapper script needs to find these libs    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['mpi_lib_path']) # The wrapper script needs to find these libs
614    #ensure that our path entries remain at the front    #ensure that our path entries remain at the front
615    conf.env.PrependENVPath('PYTHONPATH', prefix)    conf.env.PrependENVPath('PYTHONPATH', prefix)
616    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
617    
618  if env_mpi['usempi'] and not conf.CheckCHeader('mpi.h'): env_mpi['usempi'] = 0  if env_mpi['usempi'] and not conf.CheckCHeader('mpi.h'): env_mpi['usempi'] = 0
619  # if env_mpi['usempi'] and not conf.CheckFunc('MPI_Init'): env_mpi['usempi'] = 0  # if env_mpi['usempi'] and not conf.CheckFunc('MPI_Init'): env_mpi['usempi'] = 0
# Line 614  if env_mpi['useparmetis']: Line 639  if env_mpi['useparmetis']:
639    conf.env.AppendUnique(CPPPATH = [env_mpi['parmetis_path']])    conf.env.AppendUnique(CPPPATH = [env_mpi['parmetis_path']])
640    conf.env.AppendUnique(LIBPATH = [env_mpi['parmetis_lib_path']])    conf.env.AppendUnique(LIBPATH = [env_mpi['parmetis_lib_path']])
641    conf.env.AppendUnique(LIBS    = [env_mpi['parmetis_libs']])    conf.env.AppendUnique(LIBS    = [env_mpi['parmetis_libs']])
642    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['parmetis_lib_path'])  # The wrapper script needs to find these libs    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['parmetis_lib_path'])    # The wrapper script needs to find these libs
643    #ensure that our path entries remain at the front    #ensure that our path entries remain at the front
644    conf.env.PrependENVPath('PYTHONPATH', prefix)    conf.env.PrependENVPath('PYTHONPATH', prefix)
645    conf.env.PrependENVPath('LD_LIBRARY_PATH', env['libinstall'])    conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall'])
646    
647  if env_mpi['useparmetis'] and not conf.CheckCHeader('parmetis.h'): env_mpi['useparmetis'] = 0  if env_mpi['useparmetis'] and not conf.CheckCHeader('parmetis.h'): env_mpi['useparmetis'] = 0
648  if env_mpi['useparmetis'] and not conf.CheckFunc('ParMETIS_V3_PartGeomKway'): env_mpi['useparmetis'] = 0  if env_mpi['useparmetis'] and not conf.CheckFunc('ParMETIS_V3_PartGeomKway'): env_mpi['useparmetis'] = 0
# Line 796  build_all_list += ['build_paso'] Line 821  build_all_list += ['build_paso']
821  build_all_list += ['build_escript']  build_all_list += ['build_escript']
822  build_all_list += ['build_finley']  build_all_list += ['build_finley']
823  if env['usempi']:       build_all_list += ['target_pythonMPI_exe']  if env['usempi']:       build_all_list += ['target_pythonMPI_exe']
824  if not IS_WINDOWS_PLATFORM: build_all_list += ['target_escript_wrapper']  #if not IS_WINDOWS_PLATFORM:    build_all_list += ['target_escript_wrapper']
825  if env['usesilo']:  build_all_list += ['target_escript2silo']  if env['usesilo']:  build_all_list += ['target_escript2silo']
826  env.Alias('build_all', build_all_list)  env.Alias('build_all', build_all_list)
827    
# Line 810  install_all_list += ['target_install_pyv Line 835  install_all_list += ['target_install_pyv
835  install_all_list += ['target_install_modellib_py']  install_all_list += ['target_install_modellib_py']
836  install_all_list += ['target_install_pycad_py']  install_all_list += ['target_install_pycad_py']
837  if env['usempi']:       install_all_list += ['target_install_pythonMPI_exe']  if env['usempi']:       install_all_list += ['target_install_pythonMPI_exe']
838  if not IS_WINDOWS_PLATFORM: install_all_list += ['target_install_escript_wrapper']  #if not IS_WINDOWS_PLATFORM:    install_all_list += ['target_install_escript_wrapper']
839  if env['usesilo']:  install_all_list += ['target_install_escript2silo']  if env['usesilo']:  install_all_list += ['target_install_escript2silo']
840  install_all_list += ['remember_options']  install_all_list += ['remember_options']
841  env.Alias('install_all', install_all_list)  env.Alias('install_all', install_all_list)

Legend:
Removed from v.2387  
changed lines
  Added in v.2430

  ViewVC Help
Powered by ViewVC 1.1.26