[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [16524] trunk/blender: scons option for linking python statically - useful for building a more compatible blenderplayer , where most games python scripts only use builtin modules anyway.

Campbell Barton ideasman42 at gmail.com
Sun Sep 14 19:56:15 CEST 2008


Revision: 16524
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=16524
Author:   campbellbarton
Date:     2008-09-14 19:56:15 +0200 (Sun, 14 Sep 2008)

Log Message:
-----------
scons option for linking python statically - useful for building a more compatible blenderplayer, where most games python scripts only use builtin modules anyway.

Modified Paths:
--------------
    trunk/blender/config/linux2-config.py
    trunk/blender/tools/Blender.py
    trunk/blender/tools/btools.py

Modified: trunk/blender/config/linux2-config.py
===================================================================
--- trunk/blender/config/linux2-config.py	2008-09-14 17:26:38 UTC (rev 16523)
+++ trunk/blender/config/linux2-config.py	2008-09-14 17:56:15 UTC (rev 16524)
@@ -6,10 +6,12 @@
 
 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'

Modified: trunk/blender/tools/Blender.py
===================================================================
--- trunk/blender/tools/Blender.py	2008-09-14 17:26:38 UTC (rev 16523)
+++ trunk/blender/tools/Blender.py	2008-09-14 17:56:15 UTC (rev 16524)
@@ -129,6 +129,9 @@
     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 @@
         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'])

Modified: trunk/blender/tools/btools.py
===================================================================
--- trunk/blender/tools/btools.py	2008-09-14 17:26:38 UTC (rev 16523)
+++ trunk/blender/tools/btools.py	2008-09-14 17:56:15 UTC (rev 16524)
@@ -27,7 +27,7 @@
 
 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 @@
         ('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', '')),





More information about the Bf-blender-cvs mailing list