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

Diff of /branches/diaplayground/SConstruct

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

revision 2810 by caltinay, Mon Dec 7 04:13:49 2009 UTC revision 2881 by jfenwick, Thu Jan 28 02:03:15 2010 UTC
# Line 1  Line 1 
1    
2  ########################################################  ########################################################
3  #  #
4  # Copyright (c) 2003-2009 by University of Queensland  # Copyright (c) 2003-2010 by University of Queensland
5  # Earth Systems Science Computational Center (ESSCC)  # Earth Systems Science Computational Center (ESSCC)
6  # http://www.uq.edu.au/esscc  # http://www.uq.edu.au/esscc
7  #  #
# Line 173  adder( Line 173  adder(
173  # works with dynamic libraries on windows.  # works with dynamic libraries on windows.
174    ('share_esysUtils', 'control static or dynamic esysUtils lib', False),    ('share_esysUtils', 'control static or dynamic esysUtils lib', False),
175    ('share_paso', 'control static or dynamic paso lib', False),    ('share_paso', 'control static or dynamic paso lib', False),
176    ('env_export','Environment variables to be passed to children',[])    ('env_export','Environment variables to be passed to children',[]),
177    #To enable passing function pointers through python
178      BoolVariable('iknowwhatimdoing','allow nonstandard C',False)
179  )  )
180    
181    
# Line 291  if env['forcecollres']    != "leave_alon Line 293  if env['forcecollres']    != "leave_alon
293      env.Append(CPPDEFINES=['FRESCOLLECTOFF'])      env.Append(CPPDEFINES=['FRESCOLLECTOFF'])
294    
295    
296    if env['iknowwhatimdoing']:
297        env.Append(CPPDEFINES=['IKNOWWHATIMDOING'])
298    
299  # OpenMP is disabled if useopenmp=no or both variables omp_optim and omp_debug are empty  # OpenMP is disabled if useopenmp=no or both variables omp_optim and omp_debug are empty
300  if not env["useopenmp"]:  if not env["useopenmp"]:
301    env['omp_optim'] = ""    env['omp_optim'] = ""
# Line 612  if env['usesilo']: Line 617  if env['usesilo']:
617    
618  ########### Lapack (optional) ##################################  ########### Lapack (optional) ##################################
619    
   
620  if env['uselapack']:  if env['uselapack']:
621      env.AppendUnique(CPPDEFINES='USE_LAPACK')      env.AppendUnique(CPPDEFINES='USE_LAPACK')
622      env.AppendUnique(CPPPATH = [env['lapack_path']])      env.AppendUnique(CPPPATH = [env['lapack_path']])
# Line 628  if env['uselapack']: Line 632  if env['uselapack']:
632          env.AppendUnique(CPPDEFINES='MKL_LAPACK')          env.AppendUnique(CPPDEFINES='MKL_LAPACK')
633                
634    
   
635  ############ Add the compiler flags ############################  ############ Add the compiler flags ############################
636    
637  # Enable debug by choosing either cc_debug or cc_optim  # Enable debug by choosing either cc_debug or cc_optim
# Line 690  else: Line 693  else:
693    
694  env['usempi'] = env_mpi['usempi']  env['usempi'] = env_mpi['usempi']
695    
   
696  ############ ParMETIS (optional) ###############################  ############ ParMETIS (optional) ###############################
697    
698  # Start a new configure environment that reflects what we've already found  # Start a new configure environment that reflects what we've already found
# Line 719  else: Line 721  else:
721    
722  env['useparmetis'] = env_mpi['useparmetis']  env['useparmetis'] = env_mpi['useparmetis']
723    
 ############ Now we switch on Warnings as errors ###############  
   
 #this needs to be done after configuration because the scons test files have warnings in them  
   
 if ((fatalwarning != "") and (env['usewarnings'])):  
   env.Append(CCFLAGS        = fatalwarning)  
   env_mpi.Append(CCFLAGS        = fatalwarning)  
   
724  ############ Summarize our environment #########################  ############ Summarize our environment #########################
725    
726  print ""  print ""
# Line 773  if not env['usempi']: Execute(Delete(os. Line 767  if not env['usempi']: Execute(Delete(os.
767    
768  ############ Build the subdirectories ##########################  ############ Build the subdirectories ##########################
769    
770    if env['usepedantic']: env_mpi.Append(CCFLAGS = pedantic)
771    
772    
773  from grouptest import *  from grouptest import *
774    
775  TestGroups=[]  TestGroups=[]
776    
777    dodgy_env=clone_env(env_mpi)    # Environment without pedantic options
778    
779    ############ Now we switch on Warnings as errors ###############
780    
781    #this needs to be done after configuration because the scons test files have warnings in them
782    
783    if ((fatalwarning != "") and (env['usewarnings'])):
784      env.Append(CCFLAGS        = fatalwarning)
785      env_mpi.Append(CCFLAGS        = fatalwarning)
786    
787    
788  Export(  Export(
789    ["env",    ["env",
790     "env_mpi",     "env_mpi",
791     "clone_env",     "clone_env",
792       "dodgy_env",
793     "IS_WINDOWS_PLATFORM",     "IS_WINDOWS_PLATFORM",
794     "TestGroups"     "TestGroups"
795     ]     ]
# Line 886  env.Alias('install_esysUtils', ['build_e Line 895  env.Alias('install_esysUtils', ['build_e
895  env.Alias('build_paso', ['target_install_paso_headers', 'target_paso_a'])  env.Alias('build_paso', ['target_install_paso_headers', 'target_paso_a'])
896  env.Alias('install_paso', ['build_paso', 'target_install_paso_a'])  env.Alias('install_paso', ['build_paso', 'target_install_paso_a'])
897    
898  env.Alias('build_dataexporter', ['target_install_escriptexport_headers', 'target_escriptexport_so'])  env.Alias('build_dataexporter', ['target_install_escriptexport_headers', 'target_escriptexport_so', 'target_escriptexportcpp_so'])
899  env.Alias('install_dataexporter', ['build_dataexporter', 'target_install_escriptexport_so'])  env.Alias('install_dataexporter', ['build_dataexporter', 'target_install_escriptexport_so', 'target_install_escriptexportcpp_so', 'target_install_dataexporter_py'])
900    
901  env.Alias('build_escript', ['target_install_escript_headers', 'target_escript_so', 'target_escriptcpp_so'])  env.Alias('build_escript', ['target_install_escript_headers', 'target_escript_so', 'target_escriptcpp_so'])
902  env.Alias('install_escript', ['build_escript', 'target_install_escript_so', 'target_install_escriptcpp_so', 'target_install_escript_py'])  env.Alias('install_escript', ['build_escript', 'target_install_escript_so', 'target_install_escriptcpp_so', 'target_install_escript_py'])
# Line 934  env.Alias('run_tests', ['install_all', ' Line 943  env.Alias('run_tests', ['install_all', '
943  env.Alias('all_tests', ['install_all', 'target_install_cppunittest_a', 'run_tests', 'py_tests'])  env.Alias('all_tests', ['install_all', 'target_install_cppunittest_a', 'run_tests', 'py_tests'])
944  env.Alias('build_full',['install_all','build_tests','build_py_tests'])  env.Alias('build_full',['install_all','build_tests','build_py_tests'])
945    
946    
947  ############ Targets to build the documentation ################  ############ Targets to build the documentation ################
948    
949  env.Alias('api_epydoc','install_all')  env.Alias('api_epydoc','install_all')
950    
951  env.Alias('docs', ['examples_tarfile', 'examples_zipfile', 'api_epydoc', 'api_doxygen', 'guide_pdf', 'guide_html','install_pdf'])  env.Alias('docs', ['examples_tarfile', 'examples_zipfile', 'api_epydoc', 'api_doxygen', 'guide_pdf', 'guide_html','install_pdf'])
952    
953    build_platform=os.name
954    
955  if not IS_WINDOWS_PLATFORM:  if not IS_WINDOWS_PLATFORM:
956     try:     try:
957      utest=open("utest.sh","w")      utest=open("utest.sh","w")
958      build_platform=os.name      #Sometimes Mac python says it is posix      #Sometimes Mac python says it is posix
959      if (build_platform=='posix') and platform.system()=="Darwin":      if (build_platform=='posix') and platform.system()=="Darwin":
960          build_platform='darwin'          build_platform='darwin'
961      utest.write(GroupTest.makeHeader(build_platform))      utest.write(GroupTest.makeHeader(build_platform))
# Line 960  if not IS_WINDOWS_PLATFORM: Line 972  if not IS_WINDOWS_PLATFORM:
972     if not os.path.isfile(os.path.join(env['bininstall'],'escript')):     if not os.path.isfile(os.path.join(env['bininstall'],'escript')):
973         print "Copying escript wrapper"         print "Copying escript wrapper"
974         shutil.copy("bin/escript",os.path.join(env['bininstall'],'escript'))         shutil.copy("bin/escript",os.path.join(env['bininstall'],'escript'))
975    
976    ############ Targets to build PasoTests suite ################
977    
978    env.Alias('build_PasoTests','build/'+build_platform+'/paso/profiling/PasoTests')

Legend:
Removed from v.2810  
changed lines
  Added in v.2881

  ViewVC Help
Powered by ViewVC 1.1.26