diff options
author | Maxime Curioni <maxime.curioni@gmail.com> | 2008-10-31 23:05:24 +0300 |
---|---|---|
committer | Maxime Curioni <maxime.curioni@gmail.com> | 2008-10-31 23:05:24 +0300 |
commit | 1db8ac58a31b43f1286ca640c939edbfee88a51d (patch) | |
tree | 940911ce8f55d0db96f9b5fafeb42480297a18f8 /tools | |
parent | 911926110baf5b470b4cc06c0be09e3ccfb3934e (diff) | |
parent | 027d86b9ff5a4f7b859b28e33d3d40f264a4e55b (diff) |
soc-2008-mxcurioni: merged changes to revision 17246
Diffstat (limited to 'tools')
-rw-r--r-- | tools/Blender.py | 65 | ||||
-rwxr-xr-x | tools/btools.py | 160 |
2 files changed, 133 insertions, 92 deletions
diff --git a/tools/Blender.py b/tools/Blender.py index 4218b304d48..be63a8c422b 100644 --- a/tools/Blender.py +++ b/tools/Blender.py @@ -35,6 +35,7 @@ GetBuildPath = SConsEnvironment.GetBuildPath # a few globals root_build_dir = '' +doc_build_dir = '' quickie = None # Anything else than None if BF_QUICK has been passed quicklist = [] # The list of libraries/programs to compile during a quickie program_list = [] # A list holding Nodes to final binaries, used to create installs @@ -109,7 +110,6 @@ def setup_staticlibs(lenv): ] libincs = [ '/usr/lib', - lenv['BF_PYTHON_LIBPATH'], lenv['BF_OPENGL_LIBPATH'], lenv['BF_JPEG_LIBPATH'], lenv['BF_PNG_LIBPATH'], @@ -117,6 +117,8 @@ def setup_staticlibs(lenv): lenv['BF_ICONV_LIBPATH'] ] + if lenv['WITH_BF_PYTHON']: + libincs += Split(lenv['BF_PYTHON_LIBPATH']) if lenv['WITH_BF_SDL']: libincs += Split(lenv['BF_SDL_LIBPATH']) if lenv['WITH_BF_FFMPEG']: @@ -137,7 +139,7 @@ def setup_staticlibs(lenv): if lenv['WITH_BF_STATICOPENGL']: statlibs += Split(lenv['BF_OPENGL_LIB_STATIC']) - if lenv['WITH_BF_STATICPYTHON']: + if lenv['WITH_BF_PYTHON'] and lenv['WITH_BF_STATICPYTHON']: statlibs += Split(lenv['BF_PYTHON_LIB_STATIC']) if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross'): @@ -153,8 +155,8 @@ def setup_syslibs(lenv): lenv['BF_ZLIB_LIB'] ] - if not lenv['WITH_BF_STATICPYTHON']: - if lenv['BF_DEBUG']==1 and lenv['OURPLATFORM'] in ('win32-vc'): + if lenv['WITH_BF_PYTHON'] and not lenv['WITH_BF_STATICPYTHON']: + if lenv['BF_DEBUG'] and lenv['OURPLATFORM'] in ('win32-vc'): syslibs.append(lenv['BF_PYTHON_LIB']+'_d') else: syslibs.append(lenv['BF_PYTHON_LIB']) @@ -165,7 +167,10 @@ def setup_syslibs(lenv): if not lenv['WITH_BF_STATICOPENAL']: syslibs += Split(lenv['BF_OPENAL_LIB']) if lenv['WITH_BF_OPENMP'] and lenv['CC'] != 'icc': - syslibs += ['gomp'] + if lenv['CC'] == 'cl.exe': + syslibs += ['vcomp'] + else: + syslibs += ['gomp'] if lenv['WITH_BF_ICONV']: syslibs += Split(lenv['BF_ICONV_LIB']) if lenv['WITH_BF_OPENEXR']: @@ -173,6 +178,8 @@ def setup_syslibs(lenv): syslibs += Split(lenv['BF_OPENEXR_LIB']) if lenv['WITH_BF_FFMPEG']: syslibs += Split(lenv['BF_FFMPEG_LIB']) + if lenv['WITH_BF_OGG']: + syslibs += Split(lenv['BF_OGG_LIB']) if lenv['WITH_BF_SDL']: syslibs += Split(lenv['BF_SDL_LIB']) if not lenv['WITH_BF_STATICOPENGL']: @@ -209,7 +216,7 @@ def buildinfo(lenv, build_type): build_rev = os.popen('svnversion').read()[:-1] # remove \n obj = [] - if lenv['BF_BUILDINFO']==1: #user_options_dict['USE_BUILDINFO'] == 1: + if lenv['BF_BUILDINFO']: if sys.platform=='win32': build_info_file = open("source/creator/winbuildinfo.h", 'w') build_info_file.write("char *build_date=\"%s\";\n"%build_date) @@ -387,13 +394,13 @@ class BlenderEnvironment(SConsEnvironment): self.Exit() print bc.HEADER+'Configuring resource '+bc.ENDC+bc.OKGREEN+libname+bc.ENDC - lenv = self.Copy() + lenv = self.Clone() res = lenv.RES('#'+root_build_dir+'lib/'+libname, source) SConsEnvironment.Default(self, res) resources.append(res) - def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None): + def BlenderLib(self=None, libname=None, sources=None, includes=[], defines=[], libtype='common', priority = 100, compileflags=None, cc_compileflags=None, cxx_compileflags=None): if not self or not libname or not sources: print bc.FAIL+'Cannot continue. Missing argument for BuildBlenderLib '+libname+bc.ENDC self.Exit() @@ -402,7 +409,7 @@ class BlenderEnvironment(SConsEnvironment): print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname +bc.ENDC+bc.OKBLUE+ " (debug mode)" + bc.ENDC else: print bc.HEADER+'Configuring library '+bc.ENDC+bc.OKGREEN+libname + bc.ENDC - lenv = self.Copy() + lenv = self.Clone() lenv.Append(CPPPATH=includes) lenv.Append(CPPDEFINES=defines) if lenv['WITH_BF_GAMEENGINE']: @@ -412,21 +419,28 @@ class BlenderEnvironment(SConsEnvironment): # debug or not # CXXFLAGS defaults to CCFLAGS, therefore # we Replace() rather than Append() to CXXFLAGS the first time - lenv.Replace(CXXFLAGS = lenv['CCFLAGS']) + #lenv.Replace(CXXFLAGS = lenv['CCFLAGS']) if lenv['BF_DEBUG'] or (libname in quickdebug): - lenv.Append(CCFLAGS = Split(lenv['BF_DEBUG_FLAGS'])) - lenv.Append( CXXFLAGS = Split(lenv['BF_DEBUG_FLAGS'])) + lenv.Append(CFLAGS = Split(lenv['BF_DEBUG_CFLAGS'])) + lenv.Append(CCFLAGS = Split(lenv['BF_DEBUG_CCFLAGS'])) + lenv.Append(CXXFLAGS = Split(lenv['BF_DEBUG_CXXFLAGS'])) else: - lenv.Append(CCFLAGS = lenv['REL_CFLAGS']) - lenv.Append(CXXFLAGS = lenv['REL_CCFLAGS']) + lenv.Append(CFLAGS = lenv['REL_CFLAGS']) + lenv.Append(CCFLAGS = lenv['REL_CCFLAGS']) + lenv.Append(CXXFLAGS = lenv['REL_CXXFLAGS']) if lenv['BF_PROFILE']: - lenv.Append(CCFLAGS = Split(lenv['BF_PROFILE_FLAGS']), - CXXFLAGS = Split(lenv['BF_PROFILE_FLAGS'])) + lenv.Append(CFLAGS = lenv['BF_PROFILE_CFLAGS']) + lenv.Append(CCFLAGS = lenv['BF_PROFILE_CCFLAGS']) + lenv.Append(CXXFLAGS = lenv['BF_PROFILE_CXXFLAGS']) if compileflags: - lenv.Append(CCFLAGS = compileflags) - lenv.Append(CXXFLAGS = compileflags) - lenv.Append(CCFLAGS = Split(lenv['C_WARN'])) - lenv.Append(CXXFLAGS = Split(lenv['CC_WARN'])) + lenv.Append(CFLAGS = compileflags) + if cc_compileflags: + lenv.Append(CCFLAGS = cc_compileflags) + if cxx_compileflags: + lenv.Append(CXXFLAGS = cxx_compileflags) + lenv.Append(CFLAGS = lenv['C_WARN']) + lenv.Append(CXXFLAGS = lenv['CC_WARN']) + lenv.Append(CXXFLAGS = lenv['CXX_WARN']) lib = lenv.Library(target= '#'+root_build_dir+'lib/'+libname, source=sources) SConsEnvironment.Default(self, lib) # we add to default target, because this way we get some kind of progress info during build else: @@ -436,22 +450,25 @@ class BlenderEnvironment(SConsEnvironment): def BlenderProg(self=None, builddir=None, progname=None, sources=None, includes=None, libs=None, libpath=None, binarykind=''): print bc.HEADER+'Configuring program '+bc.ENDC+bc.OKGREEN+progname+bc.ENDC - lenv = self.Copy() + lenv = self.Clone() if lenv['OURPLATFORM'] in ['win32-vc', 'cygwin']: lenv.Append(LINKFLAGS = Split(lenv['PLATFORM_LINKFLAGS'])) if lenv['BF_DEBUG']: lenv.Prepend(LINKFLAGS = ['/DEBUG','/PDB:'+progname+'.pdb']) if lenv['OURPLATFORM']=='linux2': lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) - lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) + if lenv['WITH_BF_PYTHON']: + lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) if lenv['OURPLATFORM']=='sunos5': lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) - lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) + if lenv['WITH_BF_PYTHON']: + lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) if lenv['CXX'].endswith('CC'): lenv.Replace(LINK = '$CXX') if lenv['OURPLATFORM']=='darwin': lenv.Append(LINKFLAGS = lenv['PLATFORM_LINKFLAGS']) - lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) + if lenv['WITH_BF_PYTHON']: + lenv.Append(LINKFLAGS = lenv['BF_PYTHON_LINKFLAGS']) lenv.Append(LINKFLAGS = lenv['BF_OPENGL_LINKFLAGS']) if lenv['BF_PROFILE']: lenv.Append(LINKFLAGS = lenv['BF_PROFILE_FLAGS']) diff --git a/tools/btools.py b/tools/btools.py index aac5fe6403e..fd690529328 100755 --- a/tools/btools.py +++ b/tools/btools.py @@ -1,11 +1,8 @@ - import os import os.path import SCons.Options -try: - import SCons.Options.BoolOption -except ImportError: - pass + +import SCons.Variables try: import subprocess except ImportError: @@ -15,8 +12,8 @@ import glob import shutil import sys -Options = SCons.Options -BoolOption = SCons.Options.BoolOption +Variables = SCons.Variables +BoolVariable = SCons.Variables.BoolVariable def print_arguments(args, bc): if len(args): @@ -27,7 +24,7 @@ def print_arguments(args, bc): def validate_arguments(args, bc): opts_list = [ - 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'BF_PYTHON_LINKFLAGS', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', + 'WITH_BF_PYTHON', 'BF_PYTHON', 'BF_PYTHON_VERSION', 'BF_PYTHON_INC', 'BF_PYTHON_BINARY', 'BF_PYTHON_LIB', 'BF_PYTHON_LIBPATH', 'BF_PYTHON_LINKFLAGS', 'WITH_BF_STATICPYTHON', 'BF_PYTHON_LIB_STATIC', 'WITH_BF_OPENAL', 'BF_OPENAL', 'BF_OPENAL_INC', 'BF_OPENAL_LIB', 'BF_OPENAL_LIBPATH', 'WITH_BF_STATICOPENAL', 'BF_OPENAL_LIB_STATIC', 'WITH_BF_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH', 'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH', @@ -35,6 +32,7 @@ def validate_arguments(args, bc): 'WITH_BF_OPENEXR', 'BF_OPENEXR', 'BF_OPENEXR_INC', 'BF_OPENEXR_LIB', 'BF_OPENEXR_LIBPATH', 'WITH_BF_STATICOPENEXR', 'BF_OPENEXR_LIB_STATIC', 'WITH_BF_DDS', 'WITH_BF_FFMPEG', 'BF_FFMPEG_LIB','BF_FFMPEG_EXTRA', 'BF_FFMPEG', 'BF_FFMPEG_INC', + 'WITH_BF_OGG', 'BF_OGG', 'BF_OGG_LIB', 'WITH_BF_JPEG', 'BF_JPEG', 'BF_JPEG_INC', 'BF_JPEG_LIB', 'BF_JPEG_LIBPATH', 'WITH_BF_PNG', 'BF_PNG', 'BF_PNG_INC', 'BF_PNG_LIB', 'BF_PNG_LIBPATH', 'BF_TIFF', 'BF_TIFF_INC', @@ -46,16 +44,20 @@ def validate_arguments(args, bc): 'WITH_BF_GAMEENGINE', 'WITH_BF_BULLET', 'BF_BULLET', 'BF_BULLET_INC', 'BF_BULLET_LIB', 'BF_SOLID', 'BF_SOLID_INC', 'BF_WINTAB', 'BF_WINTAB_INC', 'WITH_BF_YAFRAY', - 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', + 'WITH_BF_FREETYPE', 'BF_FREETYPE', 'BF_FREETYPE_INC', 'BF_FREETYPE_LIB', 'BF_FREETYPE_LIBPATH', 'WITH_BF_QUICKTIME', 'BF_QUICKTIME', 'BF_QUICKTIME_INC', 'BF_QUICKTIME_LIB', 'BF_QUICKTIME_LIBPATH', 'WITH_BF_STATICOPENGL', 'BF_OPENGL', 'BF_OPENGL_INC', 'BF_OPENGL_LIB', 'BF_OPENGL_LIBPATH', 'BF_OPENGL_LIB_STATIC', 'BF_OPENGL_LINKFLAGS', 'WITH_BF_FTGL', 'BF_FTGL', 'BF_FTGL_INC', 'BF_FTGL_LIB', 'WITH_BF_PLAYER', - 'WITH_BF_BINRELOC', - 'CFLAGS', 'CCFLAGS', 'CPPFLAGS', - 'REL_CFLAGS', 'REL_CCFLAGS', - 'C_WARN', 'CC_WARN', 'LLIBS', 'PLATFORM_LINKFLAGS', - 'BF_PROFILE_FLAGS', 'LCGDIR', + 'WITH_BF_NOBLENDER', + 'WITH_BF_BINRELOC', + 'CFLAGS', 'CCFLAGS', 'CXXFLAGS', 'CPPFLAGS', + 'REL_CFLAGS', 'REL_CCFLAGS', 'REL_CXXFLAGS', + 'BF_PROFILE_FLAGS', 'BF_PROFILE_FLAGS', 'BF_PROFILE_CXXFLAGS', + 'BF_DEBUG_CFLAGS', 'BF_DEBUG_CCFLAGS', 'BF_DEBUG_CXXFLAGS', + 'C_WARN', 'CC_WARN', 'CXX_WARN', + 'LLIBS', 'PLATFORM_LINKFLAGS', + 'LCGDIR', 'BF_CXX', 'WITH_BF_STATICCXX', 'BF_CXX_LIB_STATIC' 'WITH_BF_VERSE', 'BF_VERSE_INCLUDE', 'VERSE_BUILD_BINARY', 'VERSE_BUILD_DIR', 'VERSE_REGEN_PROTO', @@ -66,15 +68,18 @@ def validate_arguments(args, bc): 'BF_FANCY', 'BF_QUIET', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG', + 'WITH_BF_DOCS', + 'BF_NUMJOBS', 'WITH_BF_FREESTYLE' ] arg_list = ['BF_DEBUG', 'BF_QUIET', 'BF_CROSS', 'BF_UPDATE', 'BF_INSTALLDIR', 'BF_TOOLSET', 'BF_BINNAME', 'BF_BUILDDIR', 'BF_FANCY', 'BF_QUICK', 'BF_PROFILE', - 'BF_DEBUG_FLAGS', 'BF_BSC', 'BF_CONFIG', + 'BF_BSC', 'BF_CONFIG', 'BF_PRIORITYLIST', 'BF_BUILDINFO','CC', 'CXX', 'BF_QUICKDEBUG', - 'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG'] + 'BF_LISTDEBUG', 'LCGDIR', 'BF_X264_CONFIG', 'BF_XVIDCORE_CONFIG', + 'BF_DOCDIR'] all_list = opts_list + arg_list okdict = {} @@ -129,12 +134,12 @@ def SetupSpawn( env ): def read_opts(cfg, args): - localopts = Options.Options(cfg, args) - localopts.AddOptions( + localopts = Variables.Variables(cfg, args) + localopts.AddVariables( ('VERSE_BUILD_BINARY', 'Build a release or debug binary.', 'release'), ('VERSE_BUILD_DIR', 'Target directory for intermediate files.', "${BF_BUILDDIR}/extern/verse"), ('VERSE_REGEN_PROTO', 'Whether to regenerate the protocol files', 'yes'), - (BoolOption('WITH_BF_VERSE', 'Use VERSE if true', 'false')), + (BoolVariable('WITH_BF_VERSE', 'Use VERSE if true', False)), ('BF_VERSE_INCLUDE', 'verse include dir', '/usr/include'), ('LCGDIR', 'location of cvs lib dir'), ('VERSE_BUILD_BINARY', 'Build a release or debug binary.', 'release'), @@ -142,6 +147,7 @@ def read_opts(cfg, args): ('VERSE_REGEN_PROTO', 'Whether to regenerate the protocol files', 'yes'), ('BF_DEBUG_LIBS', 'list of libraries to build with debug symbols'), + (BoolVariable('WITH_BF_PYTHON', 'Compile with python', True)), ('BF_PYTHON', 'base path for python', ''), ('BF_PYTHON_VERSION', 'Python version to use', ''), ('BF_PYTHON_INC', 'include path for Python headers', ''), @@ -150,20 +156,20 @@ def read_opts(cfg, args): ('BF_PYTHON_LIB_STATIC', 'Python static libraries', ''), ('BF_PYTHON_LIBPATH', 'Library path', ''), ('BF_PYTHON_LINKFLAGS', 'Python link flags', ''), - (BoolOption('WITH_BF_STATICPYTHON', 'Staticly link to python', 'false')), + (BoolVariable('WITH_BF_STATICPYTHON', 'Staticly link to python', False)), - (BoolOption('BF_NO_ELBEEM', 'Disable Fluid Sim', 'false')), - (BoolOption('WITH_BF_YAFRAY', 'Enable Yafray', 'true')), + (BoolVariable('BF_NO_ELBEEM', 'Disable Fluid Sim', False)), + (BoolVariable('WITH_BF_YAFRAY', 'Enable Yafray', True)), - (BoolOption('WITH_BF_OPENAL', 'Use OpenAL if true', '')), + (BoolVariable('WITH_BF_OPENAL', 'Use OpenAL if true', False)), ('BF_OPENAL', 'base path for OpenAL', ''), ('BF_OPENAL_INC', 'include path for python headers', ''), ('BF_OPENAL_LIB', 'Path to OpenAL library', ''), ('BF_OPENAL_LIB_STATIC', 'Path to OpenAL static library', ''), ('BF_OPENAL_LIBPATH', 'Path to OpenAL library', ''), - (BoolOption('WITH_BF_STATICOPENAL', 'Staticly link to openal', 'false')), + (BoolVariable('WITH_BF_STATICOPENAL', 'Staticly link to openal', False)), - (BoolOption('WITH_BF_SDL', 'Use SDL if true', '')), + (BoolVariable('WITH_BF_SDL', 'Use SDL if true', False)), ('BF_SDL', 'SDL base path', ''), ('BF_SDL_INC', 'SDL include path', ''), #$(shell $(BF_SDL)/bin/sdl-config --cflags) ('BF_SDL_LIB', 'SDL library', ''), #$(shell $(BF_SDL)/bin/sdl-config --libs) -lSDL_mixer @@ -174,20 +180,20 @@ def read_opts(cfg, args): ('BF_PTHREADS_LIB', 'Pthreads library', ''), ('BF_PTHREADS_LIBPATH', 'Pthreads library path', ''), - (BoolOption('WITH_BF_FMOD', 'Use FMOD if true', 'false')), + (BoolVariable('WITH_BF_FMOD', 'Use FMOD if true', False)), # BF_FMOD = $(LCGDIR)/fmod - (BoolOption('WITH_BF_OPENEXR', 'Use OPENEXR if true', 'true')), - (BoolOption('WITH_BF_STATICOPENEXR', 'Staticly link to OpenEXR', 'false')), + (BoolVariable('WITH_BF_OPENEXR', 'Use OPENEXR if true', True)), + (BoolVariable('WITH_BF_STATICOPENEXR', 'Staticly link to OpenEXR', False)), ('BF_OPENEXR', 'OPENEXR base path', ''), ('BF_OPENEXR_INC', 'OPENEXR include path', ''), ('BF_OPENEXR_LIB', 'OPENEXR library', ''), ('BF_OPENEXR_LIBPATH', 'OPENEXR library path', ''), ('BF_OPENEXR_LIB_STATIC', 'OPENEXR static library', ''), - (BoolOption('WITH_BF_DDS', 'Use DDS if true', 'true')), + (BoolVariable('WITH_BF_DDS', 'Use DDS if true', True)), - (BoolOption('WITH_BF_FFMPEG', 'Use FFMPEG if true', 'false')), + (BoolVariable('WITH_BF_FFMPEG', 'Use FFMPEG if true', False)), ('BF_FFMPEG', 'FFMPEG base path', ''), ('BF_FFMPEG_LIB', 'FFMPEG library', ''), ('BF_FFMPEG_EXTRA', 'FFMPEG flags that must be preserved', ''), @@ -195,26 +201,30 @@ def read_opts(cfg, args): ('BF_FFMPEG_INC', 'FFMPEG includes', ''), ('BF_FFMPEG_LIBPATH', 'FFMPEG library path', ''), + (BoolVariable('WITH_BF_OGG', 'Use OGG, THEORA, VORBIS in FFMPEG if true', + False)), + ('BF_OGG', 'OGG base path', ''), + ('BF_OGG_LIB', 'OGG library', ''), - (BoolOption('WITH_BF_JPEG', 'Use JPEG if true', 'true')), + (BoolVariable('WITH_BF_JPEG', 'Use JPEG if true', True)), ('BF_JPEG', 'JPEG base path', ''), ('BF_JPEG_INC', 'JPEG include path', ''), ('BF_JPEG_LIB', 'JPEG library', ''), ('BF_JPEG_LIBPATH', 'JPEG library path', ''), - (BoolOption('WITH_BF_OPENJPEG', 'Use OPENJPEG if true', 'false')), + (BoolVariable('WITH_BF_OPENJPEG', 'Use OPENJPEG if true', False)), ('BF_OPENJPEG', 'OPENJPEG base path', ''), ('BF_OPENJPEG_INC', 'OPENJPEG include path', ''), ('BF_OPENJPEG_LIB', 'OPENJPEG library', ''), ('BF_OPENJPEG_LIBPATH', 'OPENJPEG library path', ''), - (BoolOption('WITH_BF_REDCODE', 'Use REDCODE if true', 'false')), + (BoolVariable('WITH_BF_REDCODE', 'Use REDCODE if true', False)), ('BF_REDCODE', 'REDCODE base path', ''), ('BF_REDCODE_INC', 'REDCODE include path', ''), ('BF_REDCODE_LIB', 'REDCODE library', ''), ('BF_REDCODE_LIBPATH', 'REDCODE library path', ''), - (BoolOption('WITH_BF_PNG', 'Use PNG if true', 'true')), + (BoolVariable('WITH_BF_PNG', 'Use PNG if true', True)), ('BF_PNG', 'PNG base path', ''), ('BF_PNG_INC', 'PNG include path', ''), ('BF_PNG_LIB', 'PNG library', ''), @@ -223,33 +233,33 @@ def read_opts(cfg, args): ('BF_TIFF', 'TIFF base path', ''), ('BF_TIFF_INC', 'TIFF include path', ''), - (BoolOption('WITH_BF_ZLIB', 'Use ZLib if true', 'true')), + (BoolVariable('WITH_BF_ZLIB', 'Use ZLib if true', True)), ('BF_ZLIB', 'ZLib base path', ''), ('BF_ZLIB_INC', 'ZLib include path', ''), ('BF_ZLIB_LIB', 'ZLib library', ''), ('BF_ZLIB_LIBPATH', 'ZLib library path', ''), - (BoolOption('WITH_BF_INTERNATIONAL', 'Use Gettext and Freetype if true', 'true')), + (BoolVariable('WITH_BF_INTERNATIONAL', 'Use Gettext and Freetype if true', True)), ('BF_GETTEXT', 'gettext base path', ''), ('BF_GETTEXT_INC', 'gettext include path', ''), ('BF_GETTEXT_LIB', 'gettext library', ''), ('BF_GETTEXT_LIBPATH', 'gettext library path', ''), - (BoolOption('WITH_BF_ICONV', 'Use iconv if true', 'true')), + (BoolVariable('WITH_BF_ICONV', 'Use iconv if true', True)), ('BF_ICONV', 'iconv base path', ''), ('BF_ICONV_INC', 'iconv include path', ''), ('BF_ICONV_LIB', 'iconv library', ''), ('BF_ICONV_LIBPATH', 'iconv library path', ''), - (BoolOption('WITH_BF_GAMEENGINE', 'Build with gameengine' , 'true')), + (BoolVariable('WITH_BF_GAMEENGINE', 'Build with gameengine' , True)), - (BoolOption('WITH_BF_ODE', 'Use ODE if true', 'true')), + (BoolVariable('WITH_BF_ODE', 'Use ODE if true', True)), ('BF_ODE', 'ODE base path', ''), ('BF_ODE_INC', 'ODE include path' , ''), ('BF_ODE_LIB', 'ODE library', ''), - (BoolOption('WITH_BF_BULLET', 'Use Bullet if true', 'true')), + (BoolVariable('WITH_BF_BULLET', 'Use Bullet if true', True)), ('BF_BULLET', 'Bullet base dir', ''), ('BF_BULLET_INC', 'Bullet include path', ''), ('BF_BULLET_LIB', 'Bullet library', ''), @@ -259,12 +269,11 @@ def read_opts(cfg, args): ('BF_WINTAB', 'WinTab base dir', ''), ('BF_WINTAB_INC', 'WinTab include dir', ''), ('BF_CXX', 'c++ base path for libstdc++, only used when static linking', ''), - (BoolOption('WITH_BF_STATICCXX', 'static link to stdc++', 'false')), + (BoolVariable('WITH_BF_STATICCXX', 'static link to stdc++', False)), ('BF_CXX_LIB_STATIC', 'static library path for stdc++', ''), - - (BoolOption('WITH_BF_FREESTYLE', 'Use Freestyle if true', 'true')), + (BoolVariable('WITH_BF_FREESTYLE', 'Use Freestyle if true', True)), ## -##WITH_BF_NSPR = 'true' +##WITH_BF_NSPR = True ##BF_NSPR = $(LCGDIR)/nspr ##BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr ##BF_NSPR_LIB = @@ -278,23 +287,24 @@ def read_opts(cfg, args): ### if this is not set. ## ### Be paranoid regarding library creation (do not update archives) -##BF_PARANOID = 'true' +##BF_PARANOID = True ## ### enable freetype2 support for text objects + (BoolVariable('WITH_BF_FREETYPE', 'Use FreeType2 if true', False)), ('BF_FREETYPE', 'Freetype base path', ''), ('BF_FREETYPE_INC', 'Freetype include path', ''), ('BF_FREETYPE_LIB', 'Freetype library', ''), ('BF_FREETYPE_LIBPATH', 'Freetype library path', ''), - (BoolOption('WITH_BF_OPENMP', 'Use OpenMP if true', 'false')), + (BoolVariable('WITH_BF_OPENMP', 'Use OpenMP if true', False)), - (BoolOption('WITH_BF_QUICKTIME', 'Use QuickTime if true', 'false')), + (BoolVariable('WITH_BF_QUICKTIME', 'Use QuickTime if true', False)), ('BF_QUICKTIME', 'QuickTime base path', ''), ('BF_QUICKTIME_INC', 'QuickTime include path', ''), ('BF_QUICKTIME_LIB', 'QuickTime library', ''), ('BF_QUICKTIME_LIBPATH', 'QuickTime library path', ''), - (BoolOption('WITH_BF_STATICOPENGL', 'Use MESA if true', 'true')), + (BoolVariable('WITH_BF_STATICOPENGL', 'Use MESA if true', True)), ('BF_OPENGL', 'OpenGL base path', ''), ('BF_OPENGL_INC', 'OpenGL include path', ''), ('BF_OPENGL_LIB', 'OpenGL libraries', ''), @@ -302,52 +312,63 @@ def read_opts(cfg, args): ('BF_OPENGL_LIB_STATIC', 'OpenGL static libraries', ''), ('BF_OPENGL_LINKFLAGS', 'OpenGL link flags', ''), - (BoolOption('WITH_BF_FTGL', 'Use FTGL if true', 'true')), + (BoolVariable('WITH_BF_FTGL', 'Use FTGL if true', True)), ('BF_FTGL', 'FTGL base path', ''), ('BF_FTGL_INC', 'FTGL include path', ''), ('BF_FTGL_LIB', 'FTGL libraries', ''), - (BoolOption('WITH_BF_PLAYER', 'Build blenderplayer if true', 'false')), + (BoolVariable('WITH_BF_PLAYER', 'Build blenderplayer if true', False)), + (BoolVariable('WITH_BF_NOBLENDER', 'Do not build blender if true', False)), - ('CFLAGS', 'C-compiler flags', ''), - ('CCFLAGS', 'C++-compiler flags', ''), + ('CFLAGS', 'C only flags', ''), + ('CCFLAGS', 'Generic C and C++ flags', ''), + ('CXXFLAGS', 'C++ only flags', ''), ('CPPFLAGS', 'Defines', ''), - ('REL_CFLAGS', 'C release flags', ''), - ('REL_CCFLAGS', 'C++ release flags', ''), + ('REL_CFLAGS', 'C only release flags', ''), + ('REL_CCFLAGS', 'Generic C and C++ release flags', ''), + ('REL_CXXFLAGS', 'C++ only release flags', ''), ('C_WARN', 'C warning flags', ''), - ('CC_WARN', 'C++ warning flags', ''), + ('CC_WARN', 'Generic C and C++ warning flags', ''), + ('CXX_WARN', 'C++ only warning flags', ''), ('LLIBS', 'Platform libs', ''), ('PLATFORM_LINKFLAGS', 'Platform linkflags', ''), - (BoolOption('BF_PROFILE', 'Add profiling information if true', 'false')), - ('BF_PROFILE_FLAGS', 'Profiling flags', ''), + (BoolVariable('BF_PROFILE', 'Add profiling information if true', False)), + ('BF_PROFILE_CFLAGS', 'C only profiling flags', ''), + ('BF_PROFILE_CCFLAGS', 'C and C++ profiling flags', ''), + ('BF_PROFILE_CXXFLAGS', 'C++ only profiling flags', ''), - (BoolOption('BF_DEBUG', 'Add debug flags if true', 'false')), - ('BF_DEBUG_FLAGS', 'Debug flags', ''), + (BoolVariable('BF_DEBUG', 'Add debug flags if true', False)), + ('BF_DEBUG_CFLAGS', 'C only debug flags', ''), + ('BF_DEBUG_CCFLAGS', 'C and C++ debug flags', ''), + ('BF_DEBUG_CXXFLAGS', 'C++ only debug flags', ''), - (BoolOption('BF_BSC', 'Create .bsc files (msvc only)', 'true')), + (BoolVariable('BF_BSC', 'Create .bsc files (msvc only)', True)), ('BF_BUILDDIR', 'Build dir', ''), ('BF_INSTALLDIR', 'Installation dir', ''), + ('BF_DOCDIR', 'Dir where BPy documentation will be created', ''), ('CC', 'C compiler to use', ''), ('CXX', 'C++ compiler to use', ''), - (BoolOption('BF_BUILDINFO', 'Buildtime in splash if true', 'true')), + (BoolVariable('BF_BUILDINFO', 'Buildtime in splash if true', True)), - (BoolOption('BF_TWEAK_MODE', 'Enable tweak mode if true', 'false')), - (BoolOption('BF_SPLIT_SRC', 'Split src lib into several chunks if true', 'false')), - (BoolOption('WITHOUT_BF_INSTALL', 'dont install if true', 'false')), - (BoolOption('BF_FANCY', 'Enable fancy output if true', 'true')), - (BoolOption('BF_QUIET', 'Enable silent output if true', 'true')), - (BoolOption('WITH_BF_BINRELOC', 'Enable relocatable binary (linux only)', 'false')), + (BoolVariable('BF_TWEAK_MODE', 'Enable tweak mode if true', False)), + (BoolVariable('BF_SPLIT_SRC', 'Split src lib into several chunks if true', False)), + (BoolVariable('WITHOUT_BF_INSTALL', 'dont install if true', False)), + (BoolVariable('BF_FANCY', 'Enable fancy output if true', True)), + (BoolVariable('BF_QUIET', 'Enable silent output if true', True)), + (BoolVariable('WITH_BF_BINRELOC', 'Enable relocatable binary (linux only)', False)), ('BF_X264_CONFIG', 'configuration flags for x264', ''), ('BF_XVIDCORE_CONFIG', 'configuration flags for xvidcore', ''), + (BoolVariable('WITH_BF_DOCS', 'Generate API documentation', False)), ('BF_CONFIG', 'SCons python config file used to set default options', 'user_config.py'), + ('BF_NUMJOBS', 'Number of build processes to spawn', '1') ) # end of opts.AddOptions() @@ -534,5 +555,8 @@ def NSIS_Installer(target=None, source=None, env=None): data, err = proc.communicate() rv = proc.wait() - return 0 + if rv != 0: + print + print data.strip().split("\n")[-1] + return rv |