36 lines
912 B
Python
36 lines
912 B
Python
## -*- python -*-
|
|
#import Action
|
|
#import Object
|
|
#import Params
|
|
#import Task
|
|
|
|
def create_pyext_obj(bld, c_or_cpp_type):
|
|
return bld.new_task_gen(c_or_cpp_type, 'shlib', 'pyext')
|
|
|
|
|
|
def build(bld):
|
|
if not bld.env['ENABLE_PYGCCXML']:
|
|
print "gccxml not available; skipping the C hello demo"
|
|
return
|
|
|
|
bld.add_group()
|
|
|
|
bindgen = bld.new_task_gen('command-output')
|
|
bindgen.stdout = 'hellomodule.c'
|
|
bindgen.argv = [bindgen.input_file('hellomodulegen.py'),
|
|
bindgen.input_file('hello.h')]
|
|
bindgen.command = bindgen.env['PYTHON']
|
|
bindgen.command_is_external = True
|
|
bindgen.prio = 55 # must run after the 'py' objects in ../../pybindgen
|
|
|
|
bld.add_group()
|
|
obj = create_pyext_obj(bld, 'cc')
|
|
obj.source = [
|
|
'hello.c',
|
|
'hellomodule.c'
|
|
]
|
|
obj.target = 'hello'
|
|
obj.inst_var = 0 # do not install
|
|
obj.includes = '.'
|
|
|