2008-07-15 00:33:54 +09:00
|
|
|
import sys
|
|
|
|
import os.path
|
|
|
|
|
2008-07-13 23:36:59 +09:00
|
|
|
Import('*')
|
|
|
|
|
|
|
|
if 'python' in env['statetrackers']:
|
|
|
|
|
|
|
|
env = env.Clone()
|
|
|
|
|
|
|
|
env.Append(CPPPATH = '.')
|
|
|
|
|
|
|
|
env.Tool('swig')
|
|
|
|
env.Append(SWIGPATH = ['#src/gallium/include', '#src/gallium/include/pipe'])
|
|
|
|
env.Append(SWIGFLAGS = ['-python', '-keyword'])
|
|
|
|
|
2008-07-15 00:33:54 +09:00
|
|
|
# http://www.scons.org/wiki/PythonExtensions
|
|
|
|
#env.AppendUnique(CPPATH = [distutils.sysconfig.get_python_inc()])
|
|
|
|
#distutils.sysconfig.get_config_vars('SO')
|
|
|
|
|
|
|
|
env['SHLIBPREFIX'] = ''
|
2008-07-13 23:36:59 +09:00
|
|
|
|
2008-07-15 00:33:54 +09:00
|
|
|
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
|
|
|
|
|
2008-07-13 23:36:59 +09:00
|
|
|
env.SharedLibrary(
|
|
|
|
target = '_gallium',
|
|
|
|
source = [
|
|
|
|
'gallium.i',
|
|
|
|
'st_device.c',
|
|
|
|
'st_softpipe_winsys.c',
|
|
|
|
],
|
|
|
|
LIBS = softpipe + auxiliaries + env['LIBS'],
|
|
|
|
)
|