diff --git a/Tools/ardupilotwaf/uavcangen.py b/Tools/ardupilotwaf/uavcangen.py index 0784947168..dae23b8e4f 100644 --- a/Tools/ardupilotwaf/uavcangen.py +++ b/Tools/ardupilotwaf/uavcangen.py @@ -21,11 +21,10 @@ class uavcangen(Task.Task): out = self.env.get_flat('OUTPUT_DIR') src = self.env.get_flat('SRC') dsdlc = self.env.get_flat("DSDL_COMPILER") - input_dir = os.path.dirname(self.inputs[0].abspath()) + ret = self.exec_command(['{}'.format(python), '{}'.format(dsdlc), - '{}'.format(input_dir), - '-O{}'.format(out)]) + '-O{}'.format(out)] + [x.abspath() for x in self.inputs]) if ret != 0: # ignore if there was a signal to the interpreter rather diff --git a/wscript b/wscript index b936f9593a..dcce93df02 100644 --- a/wscript +++ b/wscript @@ -512,7 +512,7 @@ def _build_dynamic_sources(bld): if bld.get_board().with_uavcan or bld.env.HAL_WITH_UAVCAN==True: bld( features='uavcangen', - source=bld.srcnode.ant_glob('modules/uavcan/dsdl/uavcan/**/*.uavcan'), + source=bld.srcnode.ant_glob('modules/uavcan/dsdl/* uavcan_vendor_specific_types/*', dir=True, src=False), output_dir='modules/uavcan/libuavcan/include/dsdlc_generated', name='uavcan', export_includes=[