scons option for linking python statically - useful for building a more compatible blenderplayer, where most games python scripts only use builtin modules anyway.
This commit is contained in:
@@ -6,10 +6,12 @@ BF_VERSE_INCLUDE = "#extern/verse/dist"
|
||||
|
||||
BF_PYTHON = '/usr'
|
||||
BF_PYTHON_VERSION = '2.5'
|
||||
WITH_BF_STATICPYTHON = 'false'
|
||||
BF_PYTHON_INC = '${BF_PYTHON}/include/python${BF_PYTHON_VERSION}'
|
||||
BF_PYTHON_BINARY = '${BF_PYTHON}/bin/python${BF_PYTHON_VERSION}'
|
||||
BF_PYTHON_LIB = 'python${BF_PYTHON_VERSION}' #BF_PYTHON+'/lib/python'+BF_PYTHON_VERSION+'/config/libpython'+BF_PYTHON_VERSION+'.a'
|
||||
BF_PYTHON_LINKFLAGS = ['-Xlinker', '-export-dynamic']
|
||||
BF_PYTHON_LIB_STATIC = '${BF_PYTHON}/lib/libpython${BF_PYTHON_VERSION}.a'
|
||||
|
||||
WITH_BF_OPENAL = 'true'
|
||||
BF_OPENAL = '/usr'
|
||||
|
||||
@@ -129,6 +129,9 @@ def setup_staticlibs(lenv):
|
||||
if lenv['WITH_BF_STATICOPENGL']:
|
||||
statlibs += Split(lenv['BF_OPENGL_LIB_STATIC'])
|
||||
|
||||
if lenv['WITH_BF_STATICPYTHON']:
|
||||
statlibs += Split(lenv['BF_PYTHON_LIB_STATIC'])
|
||||
|
||||
if lenv['OURPLATFORM'] in ('win32-vc', 'win32-mingw', 'linuxcross'):
|
||||
libincs += Split(lenv['BF_PTHREADS_LIBPATH'])
|
||||
|
||||
@@ -141,10 +144,12 @@ def setup_syslibs(lenv):
|
||||
lenv['BF_PNG_LIB'],
|
||||
lenv['BF_ZLIB_LIB']
|
||||
]
|
||||
if lenv['BF_DEBUG']==1 and lenv['OURPLATFORM'] in ('win32-vc'):
|
||||
syslibs.append(lenv['BF_PYTHON_LIB']+'_d')
|
||||
else:
|
||||
syslibs.append(lenv['BF_PYTHON_LIB'])
|
||||
|
||||
if not lenv['WITH_BF_STATICPYTHON']:
|
||||
if lenv['BF_DEBUG']==1 and lenv['OURPLATFORM'] in ('win32-vc'):
|
||||
syslibs.append(lenv['BF_PYTHON_LIB']+'_d')
|
||||
else:
|
||||
syslibs.append(lenv['BF_PYTHON_LIB'])
|
||||
if lenv['WITH_BF_INTERNATIONAL']:
|
||||
syslibs += Split(lenv['BF_FREETYPE_LIB'])
|
||||
syslibs += Split(lenv['BF_GETTEXT_LIB'])
|
||||
|
||||
@@ -27,7 +27,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',
|
||||
'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_SDL', 'BF_SDL', 'BF_SDL_INC', 'BF_SDL_LIB', 'BF_SDL_LIBPATH',
|
||||
'BF_PTHREADS', 'BF_PTHREADS_INC', 'BF_PTHREADS_LIB', 'BF_PTHREADS_LIBPATH',
|
||||
@@ -144,8 +144,10 @@ def read_opts(cfg, args):
|
||||
('BF_PYTHON_INC', 'include path for Python headers', ''),
|
||||
('BF_PYTHON_BINARY', 'Path to the Python interpreter', ''),
|
||||
('BF_PYTHON_LIB', 'Python library', ''),
|
||||
('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')),
|
||||
(BoolOption('BF_NO_ELBEEM', 'Disable Fluid Sim', 'false')),
|
||||
(BoolOption('WITH_BF_YAFRAY', 'Enable Yafray', 'true')),
|
||||
(BoolOption('WITH_BF_OPENAL', 'Use OpenAL if true', '')),
|
||||
|
||||
Reference in New Issue
Block a user