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 |
# |
# |
86 |
BoolVariable('usedebug', 'Do you want a debug build?', 'no'), |
BoolVariable('usedebug', 'Do you want a debug build?', 'no'), |
87 |
BoolVariable('usevtk', 'Do you want to use VTK?', 'yes'), |
BoolVariable('usevtk', 'Do you want to use VTK?', 'yes'), |
88 |
('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), |
89 |
|
('cc', 'path to C compiler', 'DEFAULT'), |
90 |
|
('cxx', 'path to C++ compiler', 'DEFAULT'), |
91 |
('win_cc_name', 'windows C compiler name if needed', 'msvc'), |
('win_cc_name', 'windows C compiler name if needed', 'msvc'), |
92 |
# 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 |
93 |
('cc_flags', 'C compiler flags to use', '-DEFAULT_1'), |
('cc_flags', 'C/C++ compiler flags to use', '-DEFAULT_1'), |
94 |
('cc_optim', 'C compiler optimization flags to use', '-DEFAULT_2'), |
('cc_optim', 'C/C++ optimization flags to use', '-DEFAULT_2'), |
95 |
('cc_debug', 'C compiler debug flags to use', '-DEFAULT_3'), |
('cc_debug', 'C/C++ debug flags to use', '-DEFAULT_3'), |
96 |
('omp_optim', 'OpenMP compiler flags to use (Release build)', '-DEFAULT_4'), |
('omp_optim', 'OpenMP compiler flags to use (Release build)', '-DEFAULT_4'), |
97 |
('omp_debug', 'OpenMP compiler flags to use (Debug build)', '-DEFAULT_5'), |
('omp_debug', 'OpenMP compiler flags to use (Debug build)', '-DEFAULT_5'), |
98 |
('omp_libs', 'OpenMP compiler libraries to link with', '-DEFAULT_6'), |
('omp_libs', 'OpenMP compiler libraries to link with', '-DEFAULT_6'), |
99 |
('cc_extra', 'Extra C/C++ flags', ''), |
('cc_extra', 'Extra C compiler flags', ''), |
100 |
|
('cxx_extra', 'Extra C++ compiler flags', ''), |
101 |
('ld_extra', 'Extra linker flags', ''), |
('ld_extra', 'Extra linker flags', ''), |
102 |
('sys_libs', 'System libraries to link with', []), |
('sys_libs', 'System libraries to link with', []), |
103 |
('ar_flags', 'Static library archiver flags to use', ''), |
('ar_flags', 'Static library archiver flags to use', ''), |
164 |
('blas_path', 'Path to BLAS includes', '/usr/include/suitesparse'), |
('blas_path', 'Path to BLAS includes', '/usr/include/suitesparse'), |
165 |
('blas_lib_path', 'Path to BLAS libs', usr_lib), |
('blas_lib_path', 'Path to BLAS libs', usr_lib), |
166 |
('blas_libs', 'BLAS libraries to link with', ['blas']), |
('blas_libs', 'BLAS libraries to link with', ['blas']), |
167 |
|
#Lapack options |
168 |
|
BoolVariable('uselapack','switch on/off use of Lapack','no'), |
169 |
|
('lapack_path', 'Path to Lapack includes','/usr/include'), |
170 |
|
('lapack_lib_path', 'Path to Lapack libs', usr_lib), |
171 |
|
('lapack_libs', 'Lapack libraries to link with', []), |
172 |
|
('lapack_type', '{clapack,mkl}','clapack'), |
173 |
# An option for specifying the compiler tools set (see windows branch). |
# An option for specifying the compiler tools set (see windows branch). |
174 |
('tools_names', 'allow control over the tools in the env setup', ['intelc']), |
('tools_names', 'allow control over the tools in the env setup', ['intelc']), |
175 |
# finer control over library building, intel aggressive global optimisation |
# finer control over library building, intel aggressive global optimisation |
176 |
# works with dynamic libraries on windows. |
# works with dynamic libraries on windows. |
177 |
('share_esysUtils', 'control static or dynamic esysUtils lib', False), |
('share_esysUtils', 'control static or dynamic esysUtils lib', False), |
178 |
('share_paso', 'control static or dynamic paso lib', False), |
('share_paso', 'control static or dynamic paso lib', False), |
179 |
('env_export','Environment variables to be passed to children',[]) |
('env_export','Environment variables to be passed to children',[]), |
180 |
|
#To enable passing function pointers through python |
181 |
|
BoolVariable('iknowwhatimdoing','allow nonstandard C',False) |
182 |
) |
) |
183 |
|
|
184 |
|
|
201 |
env['LINK'] = env['CXX'] # version >=9 of intel c++ compiler requires use of icpc to link in C++ runtimes (icc does not) |
env['LINK'] = env['CXX'] # version >=9 of intel c++ compiler requires use of icpc to link in C++ runtimes (icc does not) |
202 |
else: |
else: |
203 |
env = Environment(tools = ['default'], options = opts) |
env = Environment(tools = ['default'], options = opts) |
|
Help(opts.GenerateHelpText(env)) |
|
204 |
|
|
205 |
|
# Override compiler choice if provided |
206 |
|
if env['cc'] != 'DEFAULT': env['CC']=env['cc'] |
207 |
|
if env['cxx'] != 'DEFAULT': env['CXX']=env['cxx'] |
208 |
|
|
209 |
|
Help(opts.GenerateHelpText(env)) |
210 |
|
|
211 |
############ Make sure target directories exist ################ |
############ Make sure target directories exist ################ |
212 |
|
|
233 |
|
|
234 |
sysheaderopt = "" # how do we indicate that a header is a system header. Use "" for no action. |
sysheaderopt = "" # how do we indicate that a header is a system header. Use "" for no action. |
235 |
|
|
236 |
|
cc_flags = "" |
237 |
|
cc_optim = "" |
238 |
|
cc_debug = "" |
239 |
|
omp_optim = "" |
240 |
|
omp_debug = "" |
241 |
|
omp_libs = [] |
242 |
|
|
243 |
if env["CC"] == "icc": |
if env["CC"] == "icc": |
244 |
# Intel compilers |
# Intel compilers |
245 |
cc_flags = "-fPIC -ansi -wd161 -w1 -vec-report0 -DBLOCKTIMER -DCORE_ID1" |
cc_flags = "-std=c99 -fPIC -wd161 -w1 -vec-report0 -DBLOCKTIMER -DCORE_ID1" |
246 |
cc_optim = "-O3 -ftz -IPF_ftlacc- -IPF_fma -fno-alias" |
cc_optim = "-O3 -ftz -IPF_ftlacc- -IPF_fma -fno-alias" |
247 |
cc_debug = "-g -O0 -DDOASSERT -DDOPROF -DBOUNDS_CHECK" |
cc_debug = "-g -O0 -DDOASSERT -DDOPROF -DBOUNDS_CHECK" |
248 |
omp_optim = "-openmp -openmp_report0" |
omp_optim = "-openmp -openmp_report0" |
251 |
pedantic = "" |
pedantic = "" |
252 |
fatalwarning = "" # Switch to turn warnings into errors |
fatalwarning = "" # Switch to turn warnings into errors |
253 |
sysheaderopt = "" |
sysheaderopt = "" |
254 |
elif env["CC"] == "gcc": |
elif env["CC"][:3] == "gcc": |
255 |
# GNU C on any system |
# GNU C on any system |
256 |
cc_flags = "-pedantic -Wall -fPIC -ansi -ffast-math -Wno-unknown-pragmas -DBLOCKTIMER -Wno-sign-compare -Wno-system-headers -Wno-long-long -Wno-strict-aliasing" |
cc_flags = "-pedantic -Wall -fPIC -ffast-math -Wno-unknown-pragmas -DBLOCKTIMER -Wno-sign-compare -Wno-system-headers -Wno-long-long -Wno-strict-aliasing" |
257 |
#the long long warning occurs on the Mac |
#the long long warning occurs on the Mac |
258 |
cc_optim = "-O3" |
cc_optim = "-O3" |
259 |
cc_debug = "-g -O0 -DDOASSERT -DDOPROF -DBOUNDS_CHECK" |
cc_debug = "-g -O0 -DDOASSERT -DDOPROF -DBOUNDS_CHECK" |
307 |
env.Append(CPPDEFINES=['FRESCOLLECTOFF']) |
env.Append(CPPDEFINES=['FRESCOLLECTOFF']) |
308 |
|
|
309 |
|
|
310 |
|
if env['iknowwhatimdoing']: |
311 |
|
env.Append(CPPDEFINES=['IKNOWWHATIMDOING']) |
312 |
|
|
313 |
# 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 |
314 |
if not env["useopenmp"]: |
if not env["useopenmp"]: |
315 |
env['omp_optim'] = "" |
env['omp_optim'] = "" |
389 |
# Add cc option -L<Escript>/trunk/lib |
# Add cc option -L<Escript>/trunk/lib |
390 |
env.Append(LIBPATH = [Dir(env['libinstall'])]) |
env.Append(LIBPATH = [Dir(env['libinstall'])]) |
391 |
|
|
392 |
if env['cc_extra'] != '': env.Append(CCFLAGS = env['cc_extra']) |
if env['cc_extra'] != '': env.Append(CFLAGS = env['cc_extra']) |
393 |
|
if env['cxx_extra'] != '': env.Append(CXXFLAGS = env['cxx_extra']) |
394 |
if env['ld_extra'] != '': env.Append(LINKFLAGS = env['ld_extra']) |
if env['ld_extra'] != '': env.Append(LINKFLAGS = env['ld_extra']) |
395 |
|
|
396 |
if env['usepedantic']: env.Append(CCFLAGS = pedantic) |
if env['usepedantic']: env.Append(CCFLAGS = pedantic) |
481 |
conf.env.PrependENVPath('PYTHONPATH', prefix) |
conf.env.PrependENVPath('PYTHONPATH', prefix) |
482 |
conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall']) |
conf.env.PrependENVPath(LD_LIBRARY_PATH_KEY, env['libinstall']) |
483 |
|
|
|
if not conf.CheckCXXHeader('boost/python.hpp'): |
|
|
print "Cannot find boost include files (tried boost/python.hpp in directory %s)" % (env['boost_path']) |
|
|
sys.exit(1) |
|
484 |
|
|
485 |
if not conf.CheckFunc('PyObject_SetAttr'): |
#Yep we still cant figure this one out. - working on it. |
486 |
print "Cannot find boost library method PyObject_SetAttr (tried method PyObject_SetAttr in library %s in directory %s)" % (env['boost_libs'], env['boost_lib_path']) |
if not IS_WINDOWS_PLATFORM: |
487 |
sys.exit(1) |
if not conf.CheckCXXHeader('boost/python.hpp'): |
488 |
|
print "Cannot find boost include files (tried boost/python.hpp in directory %s)" % (env['boost_path']) |
489 |
|
sys.exit(1) |
490 |
|
|
491 |
|
if not conf.CheckFunc('PyObject_SetAttr'): |
492 |
|
print "Cannot find boost library method PyObject_SetAttr (tried method PyObject_SetAttr in library %s in directory %s)" % (env['boost_libs'], env['boost_lib_path']) |
493 |
|
sys.exit(1) |
494 |
|
|
495 |
|
|
496 |
# Commit changes to environment |
# Commit changes to environment |
497 |
env = conf.Finish() |
env = conf.Finish() |
573 |
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 |
574 |
if env['usemkl'] and not conf.CheckFunc('pardiso'): env['usemkl'] = 0 |
if env['usemkl'] and not conf.CheckFunc('pardiso'): env['usemkl'] = 0 |
575 |
|
|
576 |
|
|
577 |
# Add MKL to environment env if it was found |
# Add MKL to environment env if it was found |
578 |
if env['usemkl']: |
if env['usemkl']: |
579 |
env = conf.Finish() |
env = conf.Finish() |
628 |
|
|
629 |
# Add the path to Silo to environment env if it was found. |
# Add the path to Silo to environment env if it was found. |
630 |
# Note that we do not add the libs since they are only needed for the |
# Note that we do not add the libs since they are only needed for the |
631 |
# escriptreader library and tools. |
# escriptexport library and tools. |
632 |
if env['usesilo']: |
if env['usesilo']: |
633 |
env.AppendUnique(CPPPATH = [env['silo_path']]) |
env.AppendUnique(CPPPATH = [env['silo_path']]) |
634 |
env.AppendUnique(LIBPATH = [env['silo_lib_path']]) |
env.AppendUnique(LIBPATH = [env['silo_lib_path']]) |
635 |
env.Append(CPPDEFINES = ['HAVE_SILO']) |
|
636 |
|
########### Lapack (optional) ################################## |
637 |
|
|
638 |
|
if env['uselapack']: |
639 |
|
env.AppendUnique(CPPDEFINES='USE_LAPACK') |
640 |
|
env.AppendUnique(CPPPATH = [env['lapack_path']]) |
641 |
|
env.AppendUnique(LIBPATH =[env['lapack_lib_path']]) |
642 |
|
|
643 |
|
env.Append(LIBPATH = '/usr/lib/atlas') |
644 |
|
env.Append(LIBS = [env['lapack_libs']]) |
645 |
|
if env['lapack_type']=='mkl': |
646 |
|
if not env['usemkl']: |
647 |
|
env['uselapack']=0 |
648 |
|
print "mkl_lapack requires mkl" |
649 |
|
else: |
650 |
|
env.AppendUnique(CPPDEFINES='MKL_LAPACK') |
651 |
|
|
652 |
|
|
653 |
############ Add the compiler flags ############################ |
############ Add the compiler flags ############################ |
654 |
|
|
711 |
|
|
712 |
env['usempi'] = env_mpi['usempi'] |
env['usempi'] = env_mpi['usempi'] |
713 |
|
|
|
|
|
714 |
############ ParMETIS (optional) ############################### |
############ ParMETIS (optional) ############################### |
715 |
|
|
716 |
# Start a new configure environment that reflects what we've already found |
# Start a new configure environment that reflects what we've already found |
739 |
|
|
740 |
env['useparmetis'] = env_mpi['useparmetis'] |
env['useparmetis'] = env_mpi['useparmetis'] |
741 |
|
|
|
############ 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) |
|
|
|
|
742 |
############ Summarize our environment ######################### |
############ Summarize our environment ######################### |
743 |
|
|
744 |
print "" |
print "" |
764 |
else: print " Not using ParMETIS (requires MPI)" |
else: print " Not using ParMETIS (requires MPI)" |
765 |
if env['usepapi']: print " Using PAPI" |
if env['usepapi']: print " Using PAPI" |
766 |
else: print " Not using PAPI" |
else: print " Not using PAPI" |
767 |
|
if env['uselapack']: print " Using Lapack" |
768 |
|
else: print " Not using Lapack" |
769 |
if env['usedebug']: print " Compiling for debug" |
if env['usedebug']: print " Compiling for debug" |
770 |
else: print " Not compiling for debug" |
else: print " Not compiling for debug" |
771 |
print " Installing in", prefix |
print " Installing in", prefix |
785 |
|
|
786 |
############ Build the subdirectories ########################## |
############ Build the subdirectories ########################## |
787 |
|
|
788 |
|
if env['usepedantic']: env_mpi.Append(CCFLAGS = pedantic) |
789 |
|
|
790 |
|
|
791 |
from grouptest import * |
from grouptest import * |
792 |
|
|
793 |
TestGroups=[] |
TestGroups=[] |
794 |
|
|
795 |
|
dodgy_env=clone_env(env_mpi) # Environment without pedantic options |
796 |
|
|
797 |
|
############ Now we switch on Warnings as errors ############### |
798 |
|
|
799 |
|
#this needs to be done after configuration because the scons test files have warnings in them |
800 |
|
|
801 |
|
if ((fatalwarning != "") and (env['usewarnings'])): |
802 |
|
env.Append(CCFLAGS = fatalwarning) |
803 |
|
env_mpi.Append(CCFLAGS = fatalwarning) |
804 |
|
|
805 |
|
|
806 |
Export( |
Export( |
807 |
["env", |
["env", |
808 |
"env_mpi", |
"env_mpi", |
809 |
"clone_env", |
"clone_env", |
810 |
|
"dodgy_env", |
811 |
"IS_WINDOWS_PLATFORM", |
"IS_WINDOWS_PLATFORM", |
812 |
"TestGroups" |
"TestGroups" |
813 |
] |
] |
814 |
) |
) |
815 |
|
|
816 |
env.SConscript(dirs = ['tools/CppUnitTest/src'], build_dir='build/$PLATFORM/tools/CppUnitTest', duplicate=0) |
env.SConscript(dirs = ['tools/CppUnitTest/src'], build_dir='build/$PLATFORM/tools/CppUnitTest', duplicate=0) |
817 |
env.SConscript(dirs = ['tools/libescriptreader/src'], build_dir='build/$PLATFORM/tools/libescriptreader', duplicate=0) |
env.SConscript(dirs = ['tools/escriptconvert'], build_dir='build/$PLATFORM/tools/escriptconvert', duplicate=0) |
818 |
env.SConscript(dirs = ['paso/src'], build_dir='build/$PLATFORM/paso', duplicate=0) |
env.SConscript(dirs = ['paso/src'], build_dir='build/$PLATFORM/paso', duplicate=0) |
819 |
|
env.SConscript(dirs = ['dataexporter/src'], build_dir='build/$PLATFORM/dataexporter', duplicate=0) |
820 |
env.SConscript(dirs = ['escript/src'], build_dir='build/$PLATFORM/escript', duplicate=0) |
env.SConscript(dirs = ['escript/src'], build_dir='build/$PLATFORM/escript', duplicate=0) |
821 |
env.SConscript(dirs = ['esysUtils/src'], build_dir='build/$PLATFORM/esysUtils', duplicate=0) |
env.SConscript(dirs = ['esysUtils/src'], build_dir='build/$PLATFORM/esysUtils', duplicate=0) |
822 |
env.SConscript(dirs = ['finley/src'], build_dir='build/$PLATFORM/finley', duplicate=0) |
env.SConscript(dirs = ['finley/src'], build_dir='build/$PLATFORM/finley', duplicate=0) |
848 |
############### Record python interpreter version ############## |
############### Record python interpreter version ############## |
849 |
|
|
850 |
if not IS_WINDOWS_PLATFORM: |
if not IS_WINDOWS_PLATFORM: |
851 |
|
|
852 |
versionstring="Python "+str(sys.version_info[0])+"."+str(sys.version_info[1])+"."+str(sys.version_info[2]) |
versionstring="Python "+str(sys.version_info[0])+"."+str(sys.version_info[1])+"."+str(sys.version_info[2]) |
853 |
|
if sys.version_info[4] >0 : versionstring+="rc%s"%sys.version_info[4] |
854 |
os.system("echo "+versionstring+" > "+os.path.join(env['libinstall'],"pyversion")) |
os.system("echo "+versionstring+" > "+os.path.join(env['libinstall'],"pyversion")) |
855 |
|
|
856 |
############## Populate the buildvars file ##################### |
############## Populate the buildvars file ##################### |
887 |
out+="n" |
out+="n" |
888 |
buildvars.write(out+"\n") |
buildvars.write(out+"\n") |
889 |
buildvars.write("mpi_flavour="+env['mpi_flavour']+'\n') |
buildvars.write("mpi_flavour="+env['mpi_flavour']+'\n') |
890 |
|
out="lapack=" |
891 |
|
if env['uselapack']: |
892 |
|
out+="y" |
893 |
|
else: |
894 |
|
out+="n" |
895 |
|
out+="\nsilo=" |
896 |
|
if env['usesilo']: |
897 |
|
out+="y" |
898 |
|
else: |
899 |
|
out+="n" |
900 |
|
buildvars.write(out+"\n") |
901 |
buildvars.close() |
buildvars.close() |
902 |
|
|
903 |
|
|
913 |
env.Alias('build_paso', ['target_install_paso_headers', 'target_paso_a']) |
env.Alias('build_paso', ['target_install_paso_headers', 'target_paso_a']) |
914 |
env.Alias('install_paso', ['build_paso', 'target_install_paso_a']) |
env.Alias('install_paso', ['build_paso', 'target_install_paso_a']) |
915 |
|
|
916 |
|
env.Alias('build_dataexporter', ['target_install_escriptexport_headers', 'target_escriptexport_so', 'target_escriptexportcpp_so']) |
917 |
|
env.Alias('install_dataexporter', ['build_dataexporter', 'target_install_escriptexport_so', 'target_install_escriptexportcpp_so', 'target_install_dataexporter_py']) |
918 |
|
|
919 |
|
env.Alias('build_escriptreader', ['target_install_escriptexport_headers', 'target_escriptreader_a']) |
920 |
|
env.Alias('install_escriptreader', ['build_escriptreader', 'target_install_escriptreader_a']) |
921 |
|
|
922 |
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']) |
923 |
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']) |
924 |
|
|
929 |
build_all_list = [] |
build_all_list = [] |
930 |
build_all_list += ['build_esysUtils'] |
build_all_list += ['build_esysUtils'] |
931 |
build_all_list += ['build_paso'] |
build_all_list += ['build_paso'] |
932 |
|
build_all_list += ['build_dataexporter'] |
933 |
build_all_list += ['build_escript'] |
build_all_list += ['build_escript'] |
934 |
build_all_list += ['build_finley'] |
build_all_list += ['build_finley'] |
935 |
if env['usempi']: build_all_list += ['target_pythonMPI_exe'] |
if env['usempi']: build_all_list += ['target_pythonMPI_exe'] |
936 |
#if not IS_WINDOWS_PLATFORM: build_all_list += ['target_escript_wrapper'] |
#if not IS_WINDOWS_PLATFORM: build_all_list += ['target_escript_wrapper'] |
937 |
if env['usesilo']: build_all_list += ['target_escript2silo'] |
build_all_list += ['target_escriptconvert'] |
938 |
env.Alias('build_all', build_all_list) |
env.Alias('build_all', build_all_list) |
939 |
|
|
940 |
install_all_list = [] |
install_all_list = [] |
941 |
install_all_list += ['target_init'] |
install_all_list += ['target_init'] |
942 |
install_all_list += ['install_esysUtils'] |
install_all_list += ['install_esysUtils'] |
943 |
install_all_list += ['install_paso'] |
install_all_list += ['install_paso'] |
944 |
|
install_all_list += ['install_dataexporter'] |
945 |
install_all_list += ['install_escript'] |
install_all_list += ['install_escript'] |
946 |
install_all_list += ['install_finley'] |
install_all_list += ['install_finley'] |
947 |
install_all_list += ['target_install_pyvisi_py'] |
install_all_list += ['target_install_pyvisi_py'] |
949 |
install_all_list += ['target_install_pycad_py'] |
install_all_list += ['target_install_pycad_py'] |
950 |
if env['usempi']: install_all_list += ['target_install_pythonMPI_exe'] |
if env['usempi']: install_all_list += ['target_install_pythonMPI_exe'] |
951 |
#if not IS_WINDOWS_PLATFORM: install_all_list += ['target_install_escript_wrapper'] |
#if not IS_WINDOWS_PLATFORM: install_all_list += ['target_install_escript_wrapper'] |
952 |
if env['usesilo']: install_all_list += ['target_install_escript2silo'] |
if env['usesilo']: install_all_list += ['target_install_escriptconvert'] |
953 |
install_all_list += ['remember_options'] |
install_all_list += ['remember_options'] |
954 |
env.Alias('install_all', install_all_list) |
env.Alias('install_all', install_all_list) |
955 |
|
|
964 |
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']) |
965 |
env.Alias('build_full',['install_all','build_tests','build_py_tests']) |
env.Alias('build_full',['install_all','build_tests','build_py_tests']) |
966 |
|
|
967 |
|
|
968 |
############ Targets to build the documentation ################ |
############ Targets to build the documentation ################ |
969 |
|
|
970 |
env.Alias('api_epydoc','install_all') |
env.Alias('api_epydoc','install_all') |
971 |
|
|
972 |
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', 'cookbook_pdf']) |
973 |
|
|
974 |
|
build_platform=os.name |
975 |
|
|
976 |
if not IS_WINDOWS_PLATFORM: |
if not IS_WINDOWS_PLATFORM: |
977 |
try: |
try: |
978 |
utest=open("utest.sh","w") |
utest=open("utest.sh","w") |
979 |
build_platform=os.name #Sometimes Mac python says it is posix |
#Sometimes Mac python says it is posix |
980 |
if (build_platform=='posix') and platform.system()=="Darwin": |
if (build_platform=='posix') and platform.system()=="Darwin": |
981 |
build_platform='darwin' |
build_platform='darwin' |
982 |
utest.write(GroupTest.makeHeader(build_platform)) |
utest.write(GroupTest.makeHeader(build_platform)) |
993 |
if not os.path.isfile(os.path.join(env['bininstall'],'escript')): |
if not os.path.isfile(os.path.join(env['bininstall'],'escript')): |
994 |
print "Copying escript wrapper" |
print "Copying escript wrapper" |
995 |
shutil.copy("bin/escript",os.path.join(env['bininstall'],'escript')) |
shutil.copy("bin/escript",os.path.join(env['bininstall'],'escript')) |
996 |
|
|
997 |
|
############ Targets to build PasoTests suite ################ |
998 |
|
|
999 |
|
env.Alias('build_PasoTests','build/'+build_platform+'/paso/profiling/PasoTests') |
1000 |
|
|
1001 |
|
env.Alias('release_prep', ['docs', 'install_all']) |