Difference between revisions of "Scons"
Jump to navigation
Jump to search
Line 12: | Line 12: | ||
== clean/remove compilation == | == clean/remove compilation == | ||
scons clean_all | scons clean_all | ||
+ | |||
+ | == Bugfix scons for 32bit building == | ||
+ | Due to a bug, versions of scons '''<=2.3''' should alter a line in:<br> | ||
+ | '''C:\WinPython27\WinPython-32bit-xxx\python-xxx\Lib\site-packages\scons-2.3.0\SCons\Tool\MSCommon\vc.py''' | ||
+ | |||
+ | Line '''364''': | ||
+ | <source lang="python"> | ||
+ | if not req_target_platform and target_platform in ('amd64','x86_64'): | ||
+ | try_target_archs.append('x86') | ||
+ | </source> | ||
+ | Should be: | ||
+ | <source lang="python"> | ||
+ | #if not req_target_platform and target_platform in ('amd64','x86_64'): | ||
+ | # try_target_archs.append('x86') | ||
+ | if target_platform in ('amd64','x86_64'): | ||
+ | try_target_archs.append('x86') | ||
+ | print "requested", req_target_platform | ||
+ | print "target", target_platform | ||
+ | print "try", try_target_archs | ||
+ | </source> | ||
+ | |||
+ | If not fixing the bug, you will get: | ||
+ | <source lang="powershell"> | ||
+ | C:\WinPython27\relax_disp>scons | ||
+ | scons: Reading SConscript files ... | ||
+ | scons: done reading SConscript files. | ||
+ | scons: Building targets ... | ||
+ | |||
+ | ########################### | ||
+ | # Compiling the C modules # | ||
+ | ########################### | ||
+ | Building the relaxation curve fitting module 'target_functions\\relax_fit.pyd' | ||
+ | |||
+ | cl /Fotarget_functions\c_chi2.obj /c target_functions\c_chi2.c /nologo /I"C:\Win | ||
+ | Python27\WinPython-32bit-xxx\scripts\..\python-xxx\include" | ||
+ | 'cl' is not recognized as an internal or external command, | ||
+ | operable program or batch file. | ||
+ | scons: *** [target_functions\c_chi2.obj] Error 1 | ||
+ | scons: building terminated because of errors. | ||
+ | </source> | ||
== Construction Variables == | == Construction Variables == |
Revision as of 10:00, 20 June 2013
Contents
When to issue "scons" ? After each update in repository?
This is only necessary if the C files change, or if your Python version changes (for example you switch from Python 2 to Python 3).
This has not happened for a long time and will probably not occur in the lifetime of the relax_disp branch.
User manual
scons user_manual_pdf
clean/remove compilation
scons clean_all
Bugfix scons for 32bit building
Due to a bug, versions of scons <=2.3 should alter a line in:
C:\WinPython27\WinPython-32bit-xxx\python-xxx\Lib\site-packages\scons-2.3.0\SCons\Tool\MSCommon\vc.py
Line 364:
if not req_target_platform and target_platform in ('amd64','x86_64'):
try_target_archs.append('x86')
Should be:
#if not req_target_platform and target_platform in ('amd64','x86_64'):
# try_target_archs.append('x86')
if target_platform in ('amd64','x86_64'):
try_target_archs.append('x86')
print "requested", req_target_platform
print "target", target_platform
print "try", try_target_archs
If not fixing the bug, you will get:
C:\WinPython27\relax_disp>scons
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
###########################
# Compiling the C modules #
###########################
Building the relaxation curve fitting module 'target_functions\\relax_fit.pyd'
cl /Fotarget_functions\c_chi2.obj /c target_functions\c_chi2.c /nologo /I"C:\Win
Python27\WinPython-32bit-xxx\scripts\..\python-xxx\include"
'cl' is not recognized as an internal or external command,
operable program or batch file.
scons: *** [target_functions\c_chi2.obj] Error 1
scons: building terminated because of errors.