Files
pybindgen/examples/d/wscript
T

29 lines
867 B
Python

## -*- python -*-
import Params
def create_pyext_obj(bld, c_or_cpp_type):
waf_version = [int (s) for s in Params.g_version.split('.')]
if waf_version >= [1,4]:
return bld.create_obj(c_or_cpp_type, 'shlib', 'pyext')
else:
return bld.create_obj(c_or_cpp_type, 'plugin', 'pyext')
def build(bld):
## manual code generation using simple pybindgen API calls
bindgen = bld.create_obj('command-output')
bindgen.stdout = 'dmodule.cc'
bindgen.argv = [bindgen.input_file('modulegen.py')]
bindgen.command = bindgen.env['PYTHON']
bindgen.command_is_external = True
bindgen.prio = 55 # must run after the 'py' objects in ../pybindgen
obj = create_pyext_obj(bld, 'cpp')
obj.source = [
'd.cc',
'dmodule.cc'
]
obj.target = 'd'
obj.inst_var = 0 # do not install
obj.includes = '.'