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:
Campbell Barton
2008-09-14 17:56:15 +00:00
parent 9444b314db
commit 0ad48b7332
3 changed files with 14 additions and 5 deletions

View File

@@ -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'

View File

@@ -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'])

View File

@@ -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', '')),