84 lines
1.9 KiB
Python
84 lines
1.9 KiB
Python
## -*- python -*-
|
|
|
|
def configure(conf):
|
|
pass
|
|
|
|
def build(bld):
|
|
|
|
#
|
|
# PyBindGen
|
|
#
|
|
gen = bld.new_task_gen(
|
|
features='command',
|
|
source='testapi-pybindgen.py',
|
|
target='testapimodule.cc',
|
|
command='${PYTHON} ${SRC[0]} > ${TGT[0]}')
|
|
|
|
obj = bld.new_task_gen('cxx', 'shlib', 'pyext')
|
|
obj.source = [
|
|
'testapi.cc',
|
|
'testapimodule.cc'
|
|
]
|
|
obj.target = 'testapi_pybindgen'
|
|
obj.install_path = None # do not install
|
|
obj.includes = '.'
|
|
|
|
|
|
#
|
|
# Boost::Python
|
|
#
|
|
obj = bld.new_task_gen('cxx', 'shlib', 'pyext')
|
|
obj.source = [
|
|
'testapi.cc',
|
|
'testapi_boost.cc'
|
|
]
|
|
obj.target = 'testapi_boost'
|
|
obj.install_path = None # do not install
|
|
obj.includes = '.'
|
|
obj.env.append_value('LIB', 'boost_python-mt')
|
|
|
|
|
|
#
|
|
# SWIG
|
|
#
|
|
|
|
gen = bld.new_task_gen(
|
|
features='command',
|
|
source='testapi_swig.i',
|
|
target='testapi_swig_module.cc',
|
|
command='swig -c++ -o ${TGT[0]} -python ${SRC[0]}')
|
|
|
|
obj = bld.new_task_gen('cxx', 'shlib', 'pyext')
|
|
obj.source = [
|
|
'testapi.cc',
|
|
'testapi_swig_module.cc'
|
|
]
|
|
obj.target = '_testapi_swig'
|
|
obj.install_path = None # do not install
|
|
obj.includes = '.'
|
|
|
|
|
|
#
|
|
# SIP
|
|
#
|
|
gen = bld.new_task_gen(
|
|
features='command',
|
|
source='testapi.sip',
|
|
target='sipAPItestapi_sip.h siptestapi_sipcmodule.cpp siptestapi_sipMultiplier.cpp',
|
|
command='sip -c default/benchmarks ${SRC[0]}')
|
|
|
|
obj = bld.new_task_gen('cxx', 'shlib', 'pyext')
|
|
obj.source = [
|
|
'testapi.cc',
|
|
'siptestapi_sipcmodule.cpp',
|
|
'siptestapi_sipMultiplier.cpp',
|
|
]
|
|
obj.target = 'testapi_sip'
|
|
obj.install_path = None # do not install
|
|
obj.includes = '.'
|
|
|
|
# SIP does not like -fvisibility=hidden :-(
|
|
l = list(obj.env['CXXFLAGS_PYEXT'])
|
|
l.remove("-fvisibility=hidden")
|
|
obj.env['CXXFLAGS_PYEXT'] = l
|