/[escript]/trunk/SConstruct
ViewVC logotype

Diff of /trunk/SConstruct

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

revision 5123 by sshaw, Thu Aug 28 07:02:11 2014 UTC revision 5271 by caltinay, Tue Nov 18 00:46:29 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      ('launcher', 'Launcher command (e.g. mpirun)', 'default'),
119      ('prelaunch', 'Command to execute before launcher (e.g. mpdboot)', 'default'),
120      ('postlaunch', 'Command to execute after launcher (e.g. mpdexit)', 'default'),
121    #dudley_assemble_flags = -funroll-loops      to actually do something    #dudley_assemble_flags = -funroll-loops      to actually do something
122    ('dudley_assemble_flags', 'compiler flags for some dudley optimisations', ''),    ('dudley_assemble_flags', 'compiler flags for some dudley optimisations', ''),
123    # To enable passing function pointers through python    # To enable passing function pointers through python
124    BoolVariable('iknowwhatimdoing', 'Allow non-standard C', False),    BoolVariable('iknowwhatimdoing', 'Allow non-standard C', False),
125    # An option for specifying the compiler tools (see windows branch)    # An option for specifying the compiler tools
126    ('tools_names', 'Compiler tools to use', ['default']),    ('tools_names', 'Compiler tools to use', ['default']),
127    ('env_export', 'Environment variables to be passed to tools',[]),    ('env_export', 'Environment variables to be passed to tools',[]),
128    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')),
129    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.  
130    ('build_shared', 'Build dynamic libraries only', False),    ('build_shared', 'Build dynamic libraries only', False),
131    ('sys_libs', 'Extra libraries to link with', []),    ('sys_libs', 'Extra libraries to link with', []),
132    ('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 136  vars.AddVariables(
136    ('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.)', ''),
137    ('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)',''),
138    ('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',''),
139      BoolVariable('longindices', 'use long indices (for very large matrices)', False),
140    BoolVariable('BADPYTHONMACROS','Extra \#include to get around a python bug.', True),    BoolVariable('BADPYTHONMACROS','Extra \#include to get around a python bug.', True),
141    BoolVariable('compressed_files','Enables reading from compressed binary files', True),    BoolVariable('compressed_files','Enables reading from compressed binary files', True),
142    ('compression_libs', 'Compression libraries to link with', ['boost_iostreams'])    ('compression_libs', 'Compression libraries to link with', ['boost_iostreams']),
143      BoolVariable('papi', 'Enable PAPI', False),
144      ('papi_prefix', 'Prefix/Paths to PAPI installation', default_prefix),
145      ('papi_libs', 'PAPI libraries to link with', ['papi']),
146      BoolVariable('papi_instrument_solver', 'Use PAPI to instrument each iteration of the solver', False)
147  )  )
148    
149  ##################### Create environment and help text #######################  ##################### Create environment and help text #######################
# Line 183  if len(vars.UnknownVariables())>0: Line 190  if len(vars.UnknownVariables())>0:
190          print("Unknown option '%s'" % k)          print("Unknown option '%s'" % k)
191      Exit(1)      Exit(1)
192    
193    if env['cuda']:
194        if env['nvcc'] != 'default':
195            env['NVCC'] = env['nvcc']
196        env.Tool('nvcc')
197    
198  # create dictionary which will be populated with info for buildvars file  # create dictionary which will be populated with info for buildvars file
199  env['buildvars']={}  env['buildvars']={}
200  # 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 251  if cc_name == 'icpc':
251      omp_ldflags = "-openmp -openmp_report=1"      omp_ldflags = "-openmp -openmp_report=1"
252      fatalwarning = "-Werror"      fatalwarning = "-Werror"
253  elif cc_name[:3] == 'g++':  elif cc_name[:3] == 'g++':
254      # GNU C on any system      # GNU C++ on any system
255      # note that -ffast-math is not used because it breaks isnan(),      # note that -ffast-math is not used because it breaks isnan(),
256      # see mantis #691      # see mantis #691
257      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"
258      cc_optim     = "-O3"      cc_optim     = "-O3"
259      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
260        cc_debug     = "-g3 -O0 -D_GLIBCXX_DEBUG -DDOASSERT -DDOPROF -DBOUNDS_CHECK --param=max-vartrack-size=100000000"
261      omp_flags    = "-fopenmp"      omp_flags    = "-fopenmp"
262      omp_ldflags  = "-fopenmp"      omp_ldflags  = "-fopenmp"
263      fatalwarning = "-Werror"      fatalwarning = "-Werror"
# Line 274  if env['omp_ldflags'] == 'default': env[ Line 287  if env['omp_ldflags'] == 'default': env[
287  if env['cxx_extra'] != '': env.Append(CXXFLAGS = env['cxx_extra'])  if env['cxx_extra'] != '': env.Append(CXXFLAGS = env['cxx_extra'])
288  if env['ld_extra']  != '': env.Append(LINKFLAGS = env['ld_extra'])  if env['ld_extra']  != '': env.Append(LINKFLAGS = env['ld_extra'])
289    
290  if env['BADPYTHONMACROS']: env.Append(CXXFLAGS = ' -DBADPYTHONMACROS')  if env['nvccflags'] != 'default':
291        env['NVCCFLAGS'] = env['nvccflags']
292        env['SHNVCCFLAGS'] = env['nvccflags'] + ' -shared'
293    
294    if env['BADPYTHONMACROS']:
295        env.Append(CPPDEFINES = ['BADPYTHONMACROS'])
296    
297    if env['longindices']:
298        env.Append(CPPDEFINES = ['ESYS_INDEXTYPE_LONG'])
299    
300  if env['usepython3']:  if env['usepython3']:
301      env.Append(CPPDEFINES=['ESPYTHON3'])      env.Append(CPPDEFINES=['ESPYTHON3'])
# Line 322  env.Append(CCFLAGS = env['cc_flags']) Line 343  env.Append(CCFLAGS = env['cc_flags'])
343  # add system libraries  # add system libraries
344  env.AppendUnique(LIBS = env['sys_libs'])  env.AppendUnique(LIBS = env['sys_libs'])
345    
346    # set defaults for launchers if not otherwise specified
347    if env['prelaunch'] == 'default':
348        if env['mpi'] == 'INTELMPI' and env['openmp']:
349            env['prelaunch'] = "export I_MPI_PIN_DOMAIN=omp"
350        elif env['mpi'] == 'OPENMPI':
351            # transform comma-separated list to '-x a -x b -x c ...'
352            env['prelaunch'] = "EE=$(echo %e|sed -e 's/,/ -x /g')"
353        elif env['mpi'] == 'MPT':
354            env['prelaunch'] = "export MPI_NUM_MEMORY_REGIONS=0"
355        elif env['mpi'] == 'MPICH2':
356            env['prelaunch'] = "mpdboot -n %n -r ssh -f %f"
357        else:
358            env['prelaunch'] = ""
359    
360    if env['launcher'] == 'default':
361        if env['mpi'] == 'INTELMPI':
362            env['launcher'] = "mpirun -hostfile %f -n %N -ppn %p %b"
363        elif env['mpi'] == 'OPENMPI':
364            env['launcher'] = "mpirun --gmca mpi_warn_on_fork 0 -x ${EE} --host %h -bynode -bind-to-core -np %N %b"
365        elif env['mpi'] == 'MPT':
366            env['launcher'] = "mpirun %h -np %p %b"
367        elif env['mpi'] == 'MPICH':
368            env['launcher'] = "mpirun -machinefile %f -np %N %b"
369        elif env['mpi'] == 'MPICH2':
370            env['launcher'] = "mpiexec -genvlist %e -np %N %b"
371        else:
372            env['launcher'] = "%b"
373    
374    if env['postlaunch'] == 'default':
375        if env['mpi'] == 'MPICH2':
376            env['postlaunch'] = "mpdallexit"
377        else:
378            env['postlaunch'] = ""
379    
380  # determine svn revision  # determine svn revision
381  global_revision=ARGUMENTS.get('SVN_VERSION', None)  global_revision=ARGUMENTS.get('SVN_VERSION', None)
382  if global_revision:  if global_revision:
# Line 346  if IS_WINDOWS: Line 401  if IS_WINDOWS:
401          env.Append(CPPDEFINES = ['ESYSUTILS_STATIC_LIB'])          env.Append(CPPDEFINES = ['ESYSUTILS_STATIC_LIB'])
402          env.Append(CPPDEFINES = ['PASO_STATIC_LIB'])          env.Append(CPPDEFINES = ['PASO_STATIC_LIB'])
403    
 # VSL random numbers  
 env['buildvars']['vsl_random']=int(env['vsl_random'])  
 if env['vsl_random']:  
     env.Append(CPPDEFINES = ['MKLRANDOM'])  
   
404  env['IS_WINDOWS']=IS_WINDOWS  env['IS_WINDOWS']=IS_WINDOWS
405    
406  ###################### Copy required environment vars ########################  ###################### Copy required environment vars ########################
# Line 436  env=checkPython(env) Line 486  env=checkPython(env)
486  ######## boost & boost-python (required)  ######## boost & boost-python (required)
487  env=checkBoost(env)  env=checkBoost(env)
488    
489    ######## NVCC version (optional)
490    if env['cuda']:
491        env=checkCudaVersion(env)
492    
493  ######## numpy (required) and numpy headers (optional)  ######## numpy (required) and numpy headers (optional)
494  env=checkNumpy(env)  env=checkNumpy(env)
495    
# Line 494  Export( Line 548  Export(
548    ]    ]
549  )  )
550    
551    #do not auto build
552  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)
553  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)
554  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)
555  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)
556    
557    env.SConscript(dirs = ['cusplibrary'])
558    
559  #This will pull in the escriptcore/py_src and escriptcore/test  #This will pull in the escriptcore/py_src and escriptcore/test
560  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)  
561  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)
562  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)
563  env.SConscript(dirs = ['dudley/src'], variant_dir='$BUILD_DIR/$PLATFORM/dudley', duplicate=0)  if 'dudley' in env['domains']:
564  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)
565  env.SConscript(dirs = ['ripley/src'], variant_dir='$BUILD_DIR/$PLATFORM/ripley', duplicate=0)  if 'finley' in env['domains']:
566  env.SConscript(dirs = ['speckley/src'], variant_dir='$BUILD_DIR/$PLATFORM/speckley', duplicate=0)      env.SConscript(dirs = ['finley/src'], variant_dir='$BUILD_DIR/$PLATFORM/finley', duplicate=0)
567    if 'ripley' in env['domains']:
568        env.SConscript(dirs = ['ripley/src'], variant_dir='$BUILD_DIR/$PLATFORM/ripley', duplicate=0)
569    if 'speckley' in env['domains']:
570        env.SConscript(dirs = ['speckley/src'], variant_dir='$BUILD_DIR/$PLATFORM/speckley', duplicate=0)
571  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)
572  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)
573  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 520  env.SConscript(dirs = ['paso/profiling'] Line 580  env.SConscript(dirs = ['paso/profiling']
580    
581  write_buildvars(env)  write_buildvars(env)
582    
583    write_launcher(env)
584    
585  ################### Targets to build and install libraries ###################  ################### Targets to build and install libraries ###################
586    
587  target_init = env.Command(os.path.join(env['pyinstall'],'__init__.py'), None, Touch('$TARGET'))  target_init = env.Command(os.path.join(env['pyinstall'],'__init__.py'), None, Touch('$TARGET'))
# Line 541  env.Alias('install_escript', ['build_esc Line 603  env.Alias('install_escript', ['build_esc
603  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'])
604  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'])
605    
606  env.Alias('build_dudley', ['install_dudley_headers', 'build_dudley_lib', 'build_dudleycpp_lib'])  if 'dudley' in env['domains']:
607  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'])
608        env.Alias('install_dudley', ['build_dudley', 'install_dudley_lib', 'install_dudleycpp_lib', 'install_dudley_py'])
609  env.Alias('build_finley', ['install_finley_headers', 'build_finley_lib', 'build_finleycpp_lib'])  
610  env.Alias('install_finley', ['build_finley', 'install_finley_lib', 'install_finleycpp_lib', 'install_finley_py'])  if 'finley' in env['domains']:
611        env.Alias('build_finley', ['install_finley_headers', 'build_finley_lib', 'build_finleycpp_lib'])
612  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'])
613  env.Alias('install_ripley', ['build_ripley', 'install_ripley_lib', 'install_ripleycpp_lib', 'install_ripley_py'])  
614    if 'ripley' in env['domains']:
615  env.Alias('build_speckley', ['install_speckley_headers', 'build_speckley_lib', 'build_speckleycpp_lib'])      env.Alias('build_ripley', ['install_cusp_headers', 'install_ripley_headers', 'build_ripley_lib', 'build_ripleycpp_lib'])
616  env.Alias('install_speckley', ['build_speckley', 'install_speckley_lib', 'install_speckleycpp_lib', 'install_speckley_py'])      env.Alias('install_ripley', ['build_ripley', 'install_ripley_lib', 'install_ripleycpp_lib', 'install_ripley_py'])
617    
618    if 'speckley' in env['domains']:
619        env.Alias('build_speckley', ['install_speckley_headers', 'build_speckley_lib', 'build_speckleycpp_lib'])
620        env.Alias('install_speckley', ['build_speckley', 'install_speckley_lib', 'install_speckleycpp_lib', 'install_speckley_py'])
621    
622  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'])
623  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 565  build_all_list += ['build_esysUtils'] Line 631  build_all_list += ['build_esysUtils']
631  build_all_list += ['build_paso']  build_all_list += ['build_paso']
632  build_all_list += ['build_escript']  build_all_list += ['build_escript']
633  build_all_list += ['build_pasowrap']  build_all_list += ['build_pasowrap']
634  build_all_list += ['build_dudley']  if 'dudley' in env['domains']: build_all_list += ['build_dudley']
635  build_all_list += ['build_finley']  if 'finley' in env['domains']: build_all_list += ['build_finley']
636  build_all_list += ['build_ripley']  if 'ripley' in env['domains']: build_all_list += ['build_ripley']
637  build_all_list += ['build_speckley']  if 'speckley' in env['domains']: build_all_list += ['build_speckley']
638  build_all_list += ['build_weipa']  build_all_list += ['build_weipa']
639  if not IS_WINDOWS: build_all_list += ['build_escriptreader']  if not IS_WINDOWS and 'finley' in env['domains']:
640        build_all_list += ['build_escriptreader']
641  if env['usempi']:   build_all_list += ['build_pythonMPI']  if env['usempi']:   build_all_list += ['build_pythonMPI']
 build_all_list += ['build_escriptconvert']  
642  env.Alias('build_all', build_all_list)  env.Alias('build_all', build_all_list)
643    
644  install_all_list = []  install_all_list = []
# Line 581  install_all_list += ['install_esysUtils' Line 647  install_all_list += ['install_esysUtils'
647  install_all_list += ['install_paso']  install_all_list += ['install_paso']
648  install_all_list += ['install_escript']  install_all_list += ['install_escript']
649  install_all_list += ['install_pasowrap']  install_all_list += ['install_pasowrap']
650  install_all_list += ['install_dudley']  if 'dudley' in env['domains']: install_all_list += ['install_dudley']
651  install_all_list += ['install_finley']  if 'finley' in env['domains']: install_all_list += ['install_finley']
652  install_all_list += ['install_ripley']  if 'ripley' in env['domains']: install_all_list += ['install_ripley']
653  install_all_list += ['install_speckley']  if 'speckley' in env['domains']: install_all_list += ['install_speckley']
654  install_all_list += ['install_weipa']  install_all_list += ['install_weipa']
655  if not IS_WINDOWS: install_all_list += ['install_escriptreader']  if not IS_WINDOWS and 'finley' in env['domains']:
656        install_all_list += ['install_escriptreader']
657  install_all_list += ['install_downunder_py']  install_all_list += ['install_downunder_py']
658  install_all_list += ['install_modellib_py']  install_all_list += ['install_modellib_py']
659  install_all_list += ['install_pycad_py']  install_all_list += ['install_pycad_py']
660  if env['usempi']:   install_all_list += ['install_pythonMPI']  if env['usempi']:   install_all_list += ['install_pythonMPI']
 install_all_list += ['install_escriptconvert']  
661  env.Alias('install_all', install_all_list)  env.Alias('install_all', install_all_list)
662    
663  # Default target is install  # Default target is install
# Line 624  if not IS_WINDOWS: Line 690  if not IS_WINDOWS:
690      generateTestScripts(env, TestGroups)      generateTestScripts(env, TestGroups)
691    
692    
   
693  ######################## Summarize our environment ###########################  ######################## Summarize our environment ###########################
694  def print_summary():  def print_summary():
695      print("")      print("")
# Line 640  def print_summary(): Line 705  def print_summary():
705      if env['usempi']:      if env['usempi']:
706          print("             MPI:  YES (flavour: %s)"%env['mpi'])          print("             MPI:  YES (flavour: %s)"%env['mpi'])
707      else:      else:
708          print("             MPI:  DISABLED")          print("             MPI:  NO")
709      if env['uselapack']:      if env['uselapack']:
710          print("          LAPACK:  YES (flavour: %s)"%env['lapack'])          print("          LAPACK:  YES (flavour: %s)"%env['lapack'])
711      else:      else:
712          print("          LAPACK:  DISABLED")          print("          LAPACK:  NO")
713        if env['cuda']:
714            print("            CUDA:  YES (nvcc: %s)"%env['nvcc_version'])
715        else:
716            print("            CUDA:  NO")
717      d_list=[]      d_list=[]
718      e_list=[]      e_list=[]
719      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':
720          if env[i]: e_list.append(i)          if env[i]: e_list.append(i)
721          else: d_list.append(i)          else: d_list.append(i)
722      for i in e_list:      for i in e_list:
723          print("%16s:  YES"%i)          print("%16s:  YES"%i)
724      for i in d_list:      for i in d_list:
725          print("%16s:  DISABLED"%i)          print("%16s:  NO"%i)
726      if env['cppunit']:      if env['cppunit']:
727          print("         CppUnit:  FOUND")          print("         CppUnit:  YES")
728      else:      else:
729          print("         CppUnit:  NOT FOUND")          print("         CppUnit:  NO")
730      if env['gmsh']=='m':      if env['gmsh']=='m':
731          print("            gmsh:  FOUND, MPI-ENABLED")          print("            gmsh:  YES, MPI-ENABLED")
732      elif env['gmsh']=='s':      elif env['gmsh']=='s':
733          print("            gmsh:  FOUND")          print("            gmsh:  YES")
734      else:      else:
735          print("            gmsh:  NOT FOUND")          print("            gmsh:  NO")
736      print(    "            gzip:  " + ("YES" if env['compressed_files'] else "NO"))      print(    "            gzip:  " + ("YES" if env['compressed_files'] else "NO"))
737    
738      if ((fatalwarning != '') and (env['werror'])):      if ((fatalwarning != '') and (env['werror'])):

Legend:
Removed from v.5123  
changed lines
  Added in v.5271

  ViewVC Help
Powered by ViewVC 1.1.26