From 0ad48b7332668d033fb4bcf91c0a443aef13d8b4 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 14 Sep 2008 17:56:15 +0000 Subject: scons option for linking python statically - useful for building a more compatible blenderplayer, where most games python scripts only use builtin modules anyway. --- tools/Blender.py | 13 +++++++++---- tools/btools.py | 4 +++- 2 files changed, 12 insertions(+), 5 deletions(-) (limited to 'tools') diff --git a/tools/Blender.py b/tools/Blender.py index 2c982a0a46f..3f928ff8c97 100644 --- a/tools/Blender.py +++ b/tools/Blender.py @@ -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']) diff --git a/tools/btools.py b/tools/btools.py index 3974d582640..afcc83d2002 100755 --- a/tools/btools.py +++ b/tools/btools.py @@ -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', '')), -- cgit v1.2.3