/[escript]/branches/inv2jf/SConstruct
ViewVC logotype

Diff of /branches/inv2jf/SConstruct

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

revision 4917 by caltinay, Wed Apr 30 05:58:08 2014 UTC revision 5250 by caltinay, Mon Nov 10 04:05:11 2014 UTC
# Line 23  from site_init import * Line 23  from site_init import *
23    
24  # Version number to check for in options file. Increment when new features are  # Version number to check for in options file. Increment when new features are
25  # added or existing options changed.  # added or existing options changed.
26  REQUIRED_OPTS_VERSION=201  REQUIRED_OPTS_VERSION=202
27    
28  # MS Windows support, many thanks to PH  # MS Windows support, many thanks to PH
29  IS_WINDOWS = (os.name == 'nt')  IS_WINDOWS = (os.name == 'nt')
# Line 69  vars.AddVariables( Line 69  vars.AddVariables(
69    ('cc_debug', 'Additional C++ flags for a debug build', 'default'),    ('cc_debug', 'Additional C++ flags for a debug build', 'default'),
70    ('cxx_extra', 'Extra C++ compiler flags', ''),    ('cxx_extra', 'Extra C++ compiler flags', ''),
71    ('ld_extra', 'Extra linker flags', ''),    ('ld_extra', 'Extra linker flags', ''),
72      ('nvcc', 'Path to CUDA compiler', 'default'),
73      ('nvccflags', 'Base CUDA compiler flags', 'default'),
74    BoolVariable('werror','Treat compiler warnings as errors', True),    BoolVariable('werror','Treat compiler warnings as errors', True),
75    BoolVariable('debug', 'Compile with debug flags', False),    BoolVariable('debug', 'Compile with debug flags', False),
76    BoolVariable('openmp', 'Compile parallel version using OpenMP', False),    BoolVariable('openmp', 'Compile parallel version using OpenMP', False),
# Line 84  vars.AddVariables( Line 86  vars.AddVariables(
86    EnumVariable('mpi', 'Compile parallel version using MPI flavour', 'none', allowed_values=mpi_flavours),    EnumVariable('mpi', 'Compile parallel version using MPI flavour', 'none', allowed_values=mpi_flavours),
87    ('mpi_prefix', 'Prefix/Paths of MPI installation', default_prefix),    ('mpi_prefix', 'Prefix/Paths of MPI installation', default_prefix),
88    ('mpi_libs', 'MPI shared libraries to link with', ['mpi']),    ('mpi_libs', 'MPI shared libraries to link with', ['mpi']),
89      BoolVariable('cuda', 'Enable GPU code with CUDA (requires thrust)', False),
90      ('thrust_prefix', 'Prefix/Paths to NVidia thrust installation', default_prefix),
91    BoolVariable('netcdf', 'Enable netCDF file support', False),    BoolVariable('netcdf', 'Enable netCDF file support', False),
92    ('netcdf_prefix', 'Prefix/Paths of netCDF installation', default_prefix),    ('netcdf_prefix', 'Prefix/Paths of netCDF installation', default_prefix),
93    ('netcdf_libs', 'netCDF libraries to link with', ['netcdf_c++', 'netcdf']),    ('netcdf_libs', 'netCDF libraries to link with', ['netcdf_c++', 'netcdf']),
94    BoolVariable('parmetis', 'Enable ParMETIS (requires MPI)', False),    BoolVariable('parmetis', 'Enable ParMETIS (requires MPI)', False),
95    ('parmetis_prefix', 'Prefix/Paths of ParMETIS installation', default_prefix),    ('parmetis_prefix', 'Prefix/Paths of ParMETIS installation', default_prefix),
96    ('parmetis_libs', 'ParMETIS libraries to link with', ['parmetis', 'metis']),    ('parmetis_libs', 'ParMETIS libraries to link with', ['parmetis', 'metis']),
   BoolVariable('papi', 'Enable PAPI', False),  
   ('papi_prefix', 'Prefix/Paths to PAPI installation', default_prefix),  
   ('papi_libs', 'PAPI libraries to link with', ['papi']),  
   BoolVariable('papi_instrument_solver', 'Use PAPI to instrument each iteration of the solver', False),  
97    BoolVariable('mkl', 'Enable the Math Kernel Library', False),    BoolVariable('mkl', 'Enable the Math Kernel Library', False),
98    ('mkl_prefix', 'Prefix/Paths to MKL installation', default_prefix),    ('mkl_prefix', 'Prefix/Paths to MKL installation', default_prefix),
99    ('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']),
# Line 112  vars.AddVariables( Line 112  vars.AddVariables(
112    BoolVariable('visit', 'Enable the VisIt simulation interface', False),    BoolVariable('visit', 'Enable the VisIt simulation interface', False),
113    ('visit_prefix', 'Prefix/Paths to VisIt installation', default_prefix),    ('visit_prefix', 'Prefix/Paths to VisIt installation', default_prefix),
114    ('visit_libs', 'VisIt libraries to link with', ['simV2']),    ('visit_libs', 'VisIt libraries to link with', ['simV2']),
115    BoolVariable('vsl_random', 'Use VSL from intel for random data', False),    ListVariable('domains', 'Which domains to build', 'all',\
116                   ['dudley','finley','ripley','speckley']),
117  # Advanced settings  # Advanced settings
118    #dudley_assemble_flags = -funroll-loops      to actually do something    #dudley_assemble_flags = -funroll-loops      to actually do something
119    ('dudley_assemble_flags', 'compiler flags for some dudley optimisations', ''),    ('dudley_assemble_flags', 'compiler flags for some dudley optimisations', ''),
# Line 123  vars.AddVariables( Line 124  vars.AddVariables(
124    ('env_export', 'Environment variables to be passed to tools',[]),    ('env_export', 'Environment variables to be passed to tools',[]),
125    EnumVariable('forcelazy', 'For testing use only - set the default value for autolazy', 'leave_alone', allowed_values=('leave_alone', 'on', 'off')),    EnumVariable('forcelazy', 'For testing use only - set the default value for autolazy', 'leave_alone', allowed_values=('leave_alone', 'on', 'off')),
126    EnumVariable('forcecollres', 'For testing use only - set the default value for force resolving collective ops', 'leave_alone', allowed_values=('leave_alone', 'on', 'off')),    EnumVariable('forcecollres', 'For testing use only - set the default value for force resolving collective ops', 'leave_alone', allowed_values=('leave_alone', 'on', 'off')),
   # finer control over library building, intel aggressive global optimisation  
   # works with dynamic libraries on windows.  
127    ('build_shared', 'Build dynamic libraries only', False),    ('build_shared', 'Build dynamic libraries only', False),
128    ('sys_libs', 'Extra libraries to link with', []),    ('sys_libs', 'Extra libraries to link with', []),
129    ('escript_opts_version', 'Version of options file (do not specify on command line)'),    ('escript_opts_version', 'Version of options file (do not specify on command line)'),
# Line 134  vars.AddVariables( Line 133  vars.AddVariables(
133    ('pythonlibname', 'Name of the python library to link. (This is found automatically for python2.X.)', ''),    ('pythonlibname', 'Name of the python library to link. (This is found automatically for python2.X.)', ''),
134    ('pythonlibpath', 'Path to the python library. (You should not need to set this unless your python has moved)',''),    ('pythonlibpath', 'Path to the python library. (You should not need to set this unless your python has moved)',''),
135    ('pythonincpath','Path to python include files. (You should not need to set this unless your python has moved',''),    ('pythonincpath','Path to python include files. (You should not need to set this unless your python has moved',''),
136      BoolVariable('longindices', 'use long indices (for very large matrices)', False),
137    BoolVariable('BADPYTHONMACROS','Extra \#include to get around a python bug.', True),    BoolVariable('BADPYTHONMACROS','Extra \#include to get around a python bug.', True),
138    BoolVariable('compressed_files','Enables reading from compressed binary files', True),    BoolVariable('compressed_files','Enables reading from compressed binary files', True),
139    ('compression_libs', 'Compression libraries to link with', ['boost_iostreams'])    ('compression_libs', 'Compression libraries to link with', ['boost_iostreams']),
140      BoolVariable('papi', 'Enable PAPI', False),
141      ('papi_prefix', 'Prefix/Paths to PAPI installation', default_prefix),
142      ('papi_libs', 'PAPI libraries to link with', ['papi']),
143      BoolVariable('papi_instrument_solver', 'Use PAPI to instrument each iteration of the solver', False)
144  )  )
145    
146  ##################### Create environment and help text #######################  ##################### Create environment and help text #######################
# Line 153  env = Environment(tools = ['default'], o Line 157  env = Environment(tools = ['default'], o
157  def mkclang(env):  def mkclang(env):
158      env['CXX']='clang++'      env['CXX']='clang++'
159    
160  if env['tools_names'] != 'default':  if env['tools_names'] != ['default']:
161      zz=env['tools_names']      zz=env['tools_names']
162      if 'clang' in zz:      if 'clang' in zz:
163          zz.remove('clang')          zz.remove('clang')
# Line 183  if len(vars.UnknownVariables())>0: Line 187  if len(vars.UnknownVariables())>0:
187          print("Unknown option '%s'" % k)          print("Unknown option '%s'" % k)
188      Exit(1)      Exit(1)
189    
190    if env['cuda']:
191        if env['nvcc'] != 'default':
192            env['NVCC'] = env['nvcc']
193        env.Tool('nvcc')
194    
195  # create dictionary which will be populated with info for buildvars file  # create dictionary which will be populated with info for buildvars file
196  env['buildvars']={}  env['buildvars']={}
197  # create list which will be populated with warnings if there are any  # create list which will be populated with warnings if there are any
# Line 239  if cc_name == 'icpc': Line 248  if cc_name == 'icpc':
248      omp_ldflags = "-openmp -openmp_report=1"      omp_ldflags = "-openmp -openmp_report=1"
249      fatalwarning = "-Werror"      fatalwarning = "-Werror"
250  elif cc_name[:3] == 'g++':  elif cc_name[:3] == 'g++':
251      # GNU C on any system      # GNU C++ on any system
252      # note that -ffast-math is not used because it breaks isnan(),      # note that -ffast-math is not used because it breaks isnan(),
253      # see mantis #691      # see mantis #691
254      cc_flags     = "-pedantic -Wall -fPIC -Wno-unknown-pragmas -Wno-sign-compare -Wno-system-headers -Wno-long-long -Wno-strict-aliasing -finline-functions"      cc_flags     = "-pedantic -Wall -fPIC -Wno-unknown-pragmas -Wno-sign-compare -Wno-system-headers -Wno-long-long -Wno-strict-aliasing -finline-functions"
255      cc_optim     = "-O3"      cc_optim     = "-O3"
256      cc_debug     = "-g -O0 -DDOASSERT -DDOPROF -DBOUNDS_CHECK --param=max-vartrack-size=90000000" #avoids vartrack limit being exceeded with escriptcpp.cpp      #max-vartrack-size: avoid vartrack limit being exceeded with escriptcpp.cpp
257        cc_debug     = "-g3 -O0 -D_GLIBCXX_DEBUG -DDOASSERT -DDOPROF -DBOUNDS_CHECK --param=max-vartrack-size=100000000"
258      omp_flags    = "-fopenmp"      omp_flags    = "-fopenmp"
259      omp_ldflags  = "-fopenmp"      omp_ldflags  = "-fopenmp"
260      fatalwarning = "-Werror"      fatalwarning = "-Werror"
# Line 274  if env['omp_ldflags'] == 'default': env[ Line 284  if env['omp_ldflags'] == 'default': env[
284  if env['cxx_extra'] != '': env.Append(CXXFLAGS = env['cxx_extra'])  if env['cxx_extra'] != '': env.Append(CXXFLAGS = env['cxx_extra'])
285  if env['ld_extra']  != '': env.Append(LINKFLAGS = env['ld_extra'])  if env['ld_extra']  != '': env.Append(LINKFLAGS = env['ld_extra'])
286    
287  if env['BADPYTHONMACROS']: env.Append(CXXFLAGS = ' -DBADPYTHONMACROS')  if env['nvccflags'] != 'default':
288        env['NVCCFLAGS'] = env['nvccflags']
289        env['SHNVCCFLAGS'] = env['nvccflags'] + ' -shared'
290    
291    if env['BADPYTHONMACROS']:
292        env.Append(CPPDEFINES = ['BADPYTHONMACROS'])
293    
294    if env['longindices']:
295        env.Append(CPPDEFINES = ['ESYS_INDEXTYPE_LONG'])
296    
297  if env['usepython3']:  if env['usepython3']:
298      env.Append(CPPDEFINES=['ESPYTHON3'])      env.Append(CPPDEFINES=['ESPYTHON3'])
# Line 346  if IS_WINDOWS: Line 364  if IS_WINDOWS:
364          env.Append(CPPDEFINES = ['ESYSUTILS_STATIC_LIB'])          env.Append(CPPDEFINES = ['ESYSUTILS_STATIC_LIB'])
365          env.Append(CPPDEFINES = ['PASO_STATIC_LIB'])          env.Append(CPPDEFINES = ['PASO_STATIC_LIB'])
366    
 # VSL random numbers  
 env['buildvars']['vsl_random']=int(env['vsl_random'])  
 if env['vsl_random']:  
     env.Append(CPPDEFINES = ['MKLRANDOM'])  
   
367  env['IS_WINDOWS']=IS_WINDOWS  env['IS_WINDOWS']=IS_WINDOWS
368    
369  ###################### Copy required environment vars ########################  ###################### Copy required environment vars ########################
# Line 370  for key in 'OMP_NUM_THREADS', 'ESCRIPT_N Line 383  for key in 'OMP_NUM_THREADS', 'ESCRIPT_N
383      try:      try:
384          env['ENV'][key] = os.environ[key]          env['ENV'][key] = os.environ[key]
385      except KeyError:      except KeyError:
386          env['ENV'][key] = 1          env['ENV'][key] = '1'
387    
388  env_export=env['env_export']  env_export=env['env_export']
389  env_export.extend(['ESCRIPT_NUM_THREADS','ESCRIPT_HOSTFILE','DISPLAY','XAUTHORITY','PATH','HOME','KMP_MONITOR_STACKSIZE','TMPDIR','TEMP','TMP','LD_PRELOAD'])  env_export.extend(['ESCRIPT_NUM_THREADS','ESCRIPT_HOSTFILE','DISPLAY','XAUTHORITY','PATH','HOME','KMP_MONITOR_STACKSIZE','TMPDIR','TEMP','TMP','LD_PRELOAD'])
# Line 419  env.Append(BUILDERS = {'RunUnitTest' : r Line 432  env.Append(BUILDERS = {'RunUnitTest' : r
432  runPyUnitTest_builder = Builder(action = runPyUnitTest, suffix = '.passed', src_suffic='.py', single_source=True)  runPyUnitTest_builder = Builder(action = runPyUnitTest, suffix = '.passed', src_suffic='.py', single_source=True)
433  env.Append(BUILDERS = {'RunPyUnitTest' : runPyUnitTest_builder});  env.Append(BUILDERS = {'RunPyUnitTest' : runPyUnitTest_builder});
434    
435    runPyExample_builder = Builder(action = runPyExample, suffix = '.passed', src_suffic='.py', single_source=True)
436    env.Append(BUILDERS = {'RunPyExample' : runPyExample_builder});
437    
438  epstopdfbuilder = Builder(action = eps2pdf, suffix='.pdf', src_suffix='.eps', single_source=True)  epstopdfbuilder = Builder(action = eps2pdf, suffix='.pdf', src_suffix='.eps', single_source=True)
439  env.Append(BUILDERS = {'EpsToPDF' : epstopdfbuilder});  env.Append(BUILDERS = {'EpsToPDF' : epstopdfbuilder});
440    
# Line 433  env=checkPython(env) Line 449  env=checkPython(env)
449  ######## boost & boost-python (required)  ######## boost & boost-python (required)
450  env=checkBoost(env)  env=checkBoost(env)
451    
452    ######## NVCC version (optional)
453    if env['cuda']:
454        env=checkCudaVersion(env)
455    
456  ######## numpy (required) and numpy headers (optional)  ######## numpy (required) and numpy headers (optional)
457  env=checkNumpy(env)  env=checkNumpy(env)
458    
# Line 491  Export( Line 511  Export(
511    ]    ]
512  )  )
513    
514    #do not auto build
515  env.SConscript(dirs = ['tools/escriptconvert'], variant_dir='$BUILD_DIR/$PLATFORM/tools/escriptconvert', duplicate=0)  env.SConscript(dirs = ['tools/escriptconvert'], variant_dir='$BUILD_DIR/$PLATFORM/tools/escriptconvert', duplicate=0)
516  env.SConscript(dirs = ['paso/src'], variant_dir='$BUILD_DIR/$PLATFORM/paso', duplicate=0)  env.SConscript(dirs = ['paso/src'], variant_dir='$BUILD_DIR/$PLATFORM/paso', duplicate=0)
517  env.SConscript(dirs = ['weipa/src'], variant_dir='$BUILD_DIR/$PLATFORM/weipa', duplicate=0)  env.SConscript(dirs = ['weipa/src'], variant_dir='$BUILD_DIR/$PLATFORM/weipa', duplicate=0)
518  env.SConscript(dirs = ['escript/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/escript', duplicate=0)  env.SConscript(dirs = ['escript/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/escript', duplicate=0)
519    
520    env.SConscript(dirs = ['cusplibrary'])
521    
522  #This will pull in the escriptcore/py_src and escriptcore/test  #This will pull in the escriptcore/py_src and escriptcore/test
523  env.SConscript(dirs = ['escriptcore/src'], variant_dir='$BUILD_DIR/$PLATFORM/escriptcore', duplicate=0)  env.SConscript(dirs = ['escriptcore/src'], variant_dir='$BUILD_DIR/$PLATFORM/escriptcore', duplicate=0)
 #env.SConscript(dirs = ['escript/test'], variant_dir='$BUILD_DIR/$PLATFORM/escript/test', duplicate=0)  
524  env.SConscript(dirs = ['esysUtils/src'], variant_dir='$BUILD_DIR/$PLATFORM/esysUtils', duplicate=0)  env.SConscript(dirs = ['esysUtils/src'], variant_dir='$BUILD_DIR/$PLATFORM/esysUtils', duplicate=0)
525  env.SConscript(dirs = ['pasowrap/src'], variant_dir='$BUILD_DIR/$PLATFORM/pasowrap', duplicate=0)  env.SConscript(dirs = ['pasowrap/src'], variant_dir='$BUILD_DIR/$PLATFORM/pasowrap', duplicate=0)
526  env.SConscript(dirs = ['dudley/src'], variant_dir='$BUILD_DIR/$PLATFORM/dudley', duplicate=0)  if 'dudley' in env['domains']:
527  env.SConscript(dirs = ['finley/src'], variant_dir='$BUILD_DIR/$PLATFORM/finley', duplicate=0)      env.SConscript(dirs = ['dudley/src'], variant_dir='$BUILD_DIR/$PLATFORM/dudley', duplicate=0)
528  env.SConscript(dirs = ['ripley/src'], variant_dir='$BUILD_DIR/$PLATFORM/ripley', duplicate=0)  if 'finley' in env['domains']:
529        env.SConscript(dirs = ['finley/src'], variant_dir='$BUILD_DIR/$PLATFORM/finley', duplicate=0)
530    if 'ripley' in env['domains']:
531        env.SConscript(dirs = ['ripley/src'], variant_dir='$BUILD_DIR/$PLATFORM/ripley', duplicate=0)
532    if 'speckley' in env['domains']:
533        env.SConscript(dirs = ['speckley/src'], variant_dir='$BUILD_DIR/$PLATFORM/speckley', duplicate=0)
534  env.SConscript(dirs = ['downunder/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/downunder', duplicate=0)  env.SConscript(dirs = ['downunder/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/downunder', duplicate=0)
535  env.SConscript(dirs = ['modellib/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/modellib', duplicate=0)  env.SConscript(dirs = ['modellib/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/modellib', duplicate=0)
536  env.SConscript(dirs = ['pycad/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/pycad', duplicate=0)  env.SConscript(dirs = ['pycad/py_src'], variant_dir='$BUILD_DIR/$PLATFORM/pycad', duplicate=0)
# Line 537  env.Alias('install_escript', ['build_esc Line 564  env.Alias('install_escript', ['build_esc
564  env.Alias('build_pasowrap', ['install_pasowrap_headers', 'build_pasowrap_lib', 'build_pasowrapcpp_lib'])  env.Alias('build_pasowrap', ['install_pasowrap_headers', 'build_pasowrap_lib', 'build_pasowrapcpp_lib'])
565  env.Alias('install_pasowrap', ['build_pasowrap', 'install_pasowrap_lib', 'install_pasowrapcpp_lib', 'install_pasowrap_py'])  env.Alias('install_pasowrap', ['build_pasowrap', 'install_pasowrap_lib', 'install_pasowrapcpp_lib', 'install_pasowrap_py'])
566    
567  env.Alias('build_dudley', ['install_dudley_headers', 'build_dudley_lib', 'build_dudleycpp_lib'])  if 'dudley' in env['domains']:
568  env.Alias('install_dudley', ['build_dudley', 'install_dudley_lib', 'install_dudleycpp_lib', 'install_dudley_py'])      env.Alias('build_dudley', ['install_dudley_headers', 'build_dudley_lib', 'build_dudleycpp_lib'])
569        env.Alias('install_dudley', ['build_dudley', 'install_dudley_lib', 'install_dudleycpp_lib', 'install_dudley_py'])
570  env.Alias('build_finley', ['install_finley_headers', 'build_finley_lib', 'build_finleycpp_lib'])  
571  env.Alias('install_finley', ['build_finley', 'install_finley_lib', 'install_finleycpp_lib', 'install_finley_py'])  if 'finley' in env['domains']:
572        env.Alias('build_finley', ['install_finley_headers', 'build_finley_lib', 'build_finleycpp_lib'])
573  env.Alias('build_ripley', ['install_ripley_headers', 'build_ripley_lib', 'build_ripleycpp_lib'])      env.Alias('install_finley', ['build_finley', 'install_finley_lib', 'install_finleycpp_lib', 'install_finley_py'])
574  env.Alias('install_ripley', ['build_ripley', 'install_ripley_lib', 'install_ripleycpp_lib', 'install_ripley_py'])  
575    if 'ripley' in env['domains']:
576        env.Alias('build_ripley', ['install_cusp_headers', 'install_ripley_headers', 'build_ripley_lib', 'build_ripleycpp_lib'])
577        env.Alias('install_ripley', ['build_ripley', 'install_ripley_lib', 'install_ripleycpp_lib', 'install_ripley_py'])
578    
579    if 'speckley' in env['domains']:
580        env.Alias('build_speckley', ['install_speckley_headers', 'build_speckley_lib', 'build_speckleycpp_lib'])
581        env.Alias('install_speckley', ['build_speckley', 'install_speckley_lib', 'install_speckleycpp_lib', 'install_speckley_py'])
582    
583  env.Alias('build_weipa', ['install_weipa_headers', 'build_weipa_lib', 'build_weipacpp_lib'])  env.Alias('build_weipa', ['install_weipa_headers', 'build_weipa_lib', 'build_weipacpp_lib'])
584  env.Alias('install_weipa', ['build_weipa', 'install_weipa_lib', 'install_weipacpp_lib', 'install_weipa_py'])  env.Alias('install_weipa', ['build_weipa', 'install_weipa_lib', 'install_weipacpp_lib', 'install_weipa_py'])
# Line 558  build_all_list += ['build_esysUtils'] Line 592  build_all_list += ['build_esysUtils']
592  build_all_list += ['build_paso']  build_all_list += ['build_paso']
593  build_all_list += ['build_escript']  build_all_list += ['build_escript']
594  build_all_list += ['build_pasowrap']  build_all_list += ['build_pasowrap']
595  build_all_list += ['build_dudley']  if 'dudley' in env['domains']: build_all_list += ['build_dudley']
596  build_all_list += ['build_finley']  if 'finley' in env['domains']: build_all_list += ['build_finley']
597  build_all_list += ['build_ripley']  if 'ripley' in env['domains']: build_all_list += ['build_ripley']
598    if 'speckley' in env['domains']: build_all_list += ['build_speckley']
599  build_all_list += ['build_weipa']  build_all_list += ['build_weipa']
600  if not IS_WINDOWS: build_all_list += ['build_escriptreader']  if not IS_WINDOWS and 'finley' in env['domains']:
601        build_all_list += ['build_escriptreader']
602  if env['usempi']:   build_all_list += ['build_pythonMPI']  if env['usempi']:   build_all_list += ['build_pythonMPI']
 build_all_list += ['build_escriptconvert']  
603  env.Alias('build_all', build_all_list)  env.Alias('build_all', build_all_list)
604    
605  install_all_list = []  install_all_list = []
# Line 573  install_all_list += ['install_esysUtils' Line 608  install_all_list += ['install_esysUtils'
608  install_all_list += ['install_paso']  install_all_list += ['install_paso']
609  install_all_list += ['install_escript']  install_all_list += ['install_escript']
610  install_all_list += ['install_pasowrap']  install_all_list += ['install_pasowrap']
611  install_all_list += ['install_dudley']  if 'dudley' in env['domains']: install_all_list += ['install_dudley']
612  install_all_list += ['install_finley']  if 'finley' in env['domains']: install_all_list += ['install_finley']
613  install_all_list += ['install_ripley']  if 'ripley' in env['domains']: install_all_list += ['install_ripley']
614    if 'speckley' in env['domains']: install_all_list += ['install_speckley']
615  install_all_list += ['install_weipa']  install_all_list += ['install_weipa']
616  if not IS_WINDOWS: install_all_list += ['install_escriptreader']  if not IS_WINDOWS and 'finley' in env['domains']:
617        install_all_list += ['install_escriptreader']
618  install_all_list += ['install_downunder_py']  install_all_list += ['install_downunder_py']
619  install_all_list += ['install_modellib_py']  install_all_list += ['install_modellib_py']
620  install_all_list += ['install_pycad_py']  install_all_list += ['install_pycad_py']
621  if env['usempi']:   install_all_list += ['install_pythonMPI']  if env['usempi']:   install_all_list += ['install_pythonMPI']
 install_all_list += ['install_escriptconvert']  
622  env.Alias('install_all', install_all_list)  env.Alias('install_all', install_all_list)
623    
624  # Default target is install  # Default target is install
# Line 615  if not IS_WINDOWS: Line 651  if not IS_WINDOWS:
651      generateTestScripts(env, TestGroups)      generateTestScripts(env, TestGroups)
652    
653    
   
654  ######################## Summarize our environment ###########################  ######################## Summarize our environment ###########################
655  def print_summary():  def print_summary():
656      print("")      print("")
# Line 631  def print_summary(): Line 666  def print_summary():
666      if env['usempi']:      if env['usempi']:
667          print("             MPI:  YES (flavour: %s)"%env['mpi'])          print("             MPI:  YES (flavour: %s)"%env['mpi'])
668      else:      else:
669          print("             MPI:  DISABLED")          print("             MPI:  NO")
670      if env['uselapack']:      if env['uselapack']:
671          print("          LAPACK:  YES (flavour: %s)"%env['lapack'])          print("          LAPACK:  YES (flavour: %s)"%env['lapack'])
672      else:      else:
673          print("          LAPACK:  DISABLED")          print("          LAPACK:  NO")
674        if env['cuda']:
675            print("            CUDA:  YES (nvcc: %s)"%env['nvcc_version'])
676        else:
677            print("            CUDA:  NO")
678      d_list=[]      d_list=[]
679      e_list=[]      e_list=[]
680      for i in 'debug','openmp','boomeramg','gdal','mkl','netcdf','papi','parmetis','pyproj','scipy','silo','sympy','umfpack','visit','vsl_random':      for i in 'debug','openmp','boomeramg','gdal','mkl','netcdf','papi','parmetis','pyproj','scipy','silo','sympy','umfpack','visit':
681          if env[i]: e_list.append(i)          if env[i]: e_list.append(i)
682          else: d_list.append(i)          else: d_list.append(i)
683      for i in e_list:      for i in e_list:
684          print("%16s:  YES"%i)          print("%16s:  YES"%i)
685      for i in d_list:      for i in d_list:
686          print("%16s:  DISABLED"%i)          print("%16s:  NO"%i)
687      if env['cppunit']:      if env['cppunit']:
688          print("         CppUnit:  FOUND")          print("         CppUnit:  YES")
689      else:      else:
690          print("         CppUnit:  NOT FOUND")          print("         CppUnit:  NO")
691      if env['gmsh']=='m':      if env['gmsh']=='m':
692          print("            gmsh:  FOUND, MPI-ENABLED")          print("            gmsh:  YES, MPI-ENABLED")
693      elif env['gmsh']=='s':      elif env['gmsh']=='s':
694          print("            gmsh:  FOUND")          print("            gmsh:  YES")
695      else:      else:
696          print("            gmsh:  NOT FOUND")          print("            gmsh:  NO")
697      print(    "            gzip:  " + ("YES" if env['compressed_files'] else "NO"))      print(    "            gzip:  " + ("YES" if env['compressed_files'] else "NO"))
698    
699      if ((fatalwarning != '') and (env['werror'])):      if ((fatalwarning != '') and (env['werror'])):

Legend:
Removed from v.4917  
changed lines
  Added in v.5250

  ViewVC Help
Powered by ViewVC 1.1.26