mirror of https://github.com/ArduPilot/ardupilot
40 lines
1.4 KiB
Plaintext
40 lines
1.4 KiB
Plaintext
|
#!/usr/bin/env python
|
||
|
# encoding: utf-8
|
||
|
'''
|
||
|
build generated bindings from bindings.desc for AP_Scripting
|
||
|
'''
|
||
|
|
||
|
from waflib.TaskGen import after_method, before_method, feature
|
||
|
|
||
|
CFLAGS="-std=c99 -Wno-error=missing-field-initializers -Wall -Werror -Wextra"
|
||
|
CC="gcc"
|
||
|
|
||
|
def configure(cfg):
|
||
|
cfg.env.AP_LIB_EXTRA_SOURCES['AP_Scripting'] = ['lua_generated_bindings.cpp']
|
||
|
|
||
|
def build(bld):
|
||
|
main_c = bld.srcnode.make_node('libraries/AP_Scripting/generator/src/main.c')
|
||
|
gen_bindings = bld.bldnode.find_or_declare('gen-bindings')
|
||
|
|
||
|
bld(
|
||
|
# build gen-bindings compiler
|
||
|
source=main_c,
|
||
|
target=[gen_bindings],
|
||
|
# we should have configure tests for finding the native compiler
|
||
|
rule="%s %s -o %s %s" % (CC, CFLAGS, gen_bindings.abspath(), main_c.abspath()),
|
||
|
group='dynamic_sources',
|
||
|
)
|
||
|
|
||
|
bindings = bld.srcnode.make_node('libraries/AP_Scripting/generator/description/bindings.desc')
|
||
|
gen_bindings = bld.bldnode.find_or_declare('gen-bindings')
|
||
|
generated_cpp = bld.bldnode.find_or_declare('libraries/AP_Scripting/lua_generated_bindings.cpp')
|
||
|
generated_h = bld.bldnode.find_or_declare('libraries/AP_Scripting/lua_generated_bindings.h')
|
||
|
|
||
|
bld(
|
||
|
# build the bindings
|
||
|
source=[bindings, gen_bindings],
|
||
|
rule="./gen-bindings -o libraries/AP_Scripting/lua_generated_bindings -i %s" % (bindings.abspath()),
|
||
|
target=[generated_cpp, generated_h],
|
||
|
group='dynamic_sources',
|
||
|
)
|