Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMaxime Curioni <maxime.curioni@gmail.com>2008-10-31 23:05:24 +0300
committerMaxime Curioni <maxime.curioni@gmail.com>2008-10-31 23:05:24 +0300
commit1db8ac58a31b43f1286ca640c939edbfee88a51d (patch)
tree940911ce8f55d0db96f9b5fafeb42480297a18f8 /tools
parent911926110baf5b470b4cc06c0be09e3ccfb3934e (diff)
parent027d86b9ff5a4f7b859b28e33d3d40f264a4e55b (diff)
soc-2008-mxcurioni: merged changes to revision 17246
Diffstat (limited to 'tools')
-rw-r--r--tools/Blender.py65
-rwxr-xr-xtools/btools.py160
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