|
|
@@ -1,3 +1,6 @@ |
|
|
|
import sys |
|
|
|
import os.path |
|
|
|
|
|
|
|
Import('*') |
|
|
|
|
|
|
|
if 'python' in env['statetrackers']: |
|
|
@@ -10,8 +13,38 @@ if 'python' in env['statetrackers']: |
|
|
|
env.Append(SWIGPATH = ['#src/gallium/include', '#src/gallium/include/pipe']) |
|
|
|
env.Append(SWIGFLAGS = ['-python', '-keyword']) |
|
|
|
|
|
|
|
env.ParseConfig('python-config --cflags --ldflags --libs') |
|
|
|
# http://www.scons.org/wiki/PythonExtensions |
|
|
|
#env.AppendUnique(CPPATH = [distutils.sysconfig.get_python_inc()]) |
|
|
|
#distutils.sysconfig.get_config_vars('SO') |
|
|
|
|
|
|
|
env['SHLIBPREFIX'] = '' |
|
|
|
|
|
|
|
if platform in ['linux']: |
|
|
|
env.ParseConfig('python-config --cflags --ldflags --libs') |
|
|
|
|
|
|
|
if platform in ['windows']: |
|
|
|
python_root = sys.prefix |
|
|
|
python_version = '%u%u' % sys.version_info[:2] |
|
|
|
python_include = os.path.join(python_root, 'include') |
|
|
|
python_libs = os.path.join(python_root, 'libs') |
|
|
|
python_lib = os.path.join(python_libs, 'python' + python_version + '.lib') |
|
|
|
|
|
|
|
env.Append(CPPPATH = [python_include]) |
|
|
|
env.Append(LIBPATH = [python_libs]) |
|
|
|
env.Append(LIBS = ['python' + python_version + '.lib']) |
|
|
|
env.Replace(SHLIBSUFFIX = '.pyd') |
|
|
|
|
|
|
|
if env['debug']: |
|
|
|
# XXX; python25_d.lib is not included in Python for windows, and |
|
|
|
# we'll get missing symbols unless we undefine _DEBUG |
|
|
|
cppdefines = env['CPPDEFINES'] |
|
|
|
cppdefines = [define for define in cppdefines if define != '_DEBUG'] |
|
|
|
env.Replace(CPPDEFINES = cppdefines) |
|
|
|
|
|
|
|
# http://www.swig.org/Doc1.3/Windows.html |
|
|
|
env['ENV']['PYTHON_INCLUDE'] = python_include |
|
|
|
env['ENV']['PYTHON_LIB'] = python_lib |
|
|
|
|
|
|
|
env.SharedLibrary( |
|
|
|
target = '_gallium', |
|
|
|
source = [ |
|
|
@@ -19,6 +52,5 @@ if 'python' in env['statetrackers']: |
|
|
|
'st_device.c', |
|
|
|
'st_softpipe_winsys.c', |
|
|
|
], |
|
|
|
SHLIBPREFIX = '', |
|
|
|
LIBS = softpipe + auxiliaries + env['LIBS'], |
|
|
|
) |