> The generated golang bindings (types.gen.go and helpers.gen.go) are > left checked in so that they can be fetched from xenbits using the > golang tooling. This means that they must be updated whenever > libxl_types.idl (or other dependencies) are updated. However, the > golang bindings are only built optionally; we can't assume that anyone > updating libxl_types.idl will also descend into the tools/golang tree > to re-generate the bindings. > > Fix this by re-generating the golang bindings from the libxl Makefile > when the IDL dependencies are updated, so that anyone who updates > libxl_types.idl will also end up updating the golang generated files > as well. > > - Make a variable for the generated files, and a target in > xenlight/Makefile which will only re-generate the files. > > - Add a target in libxl/Makefile to call external idl generation > targets (currently only golang). > > For ease of testing, also add a specific target in libxl/Makefile just > to check and update files generated from the IDL. > > This does mean that there are two potential paths for generating the > files during a parallel build; but that shouldn't be an issue, since > tools/golang/xenlight should never be built until after tools/libxl > has completed building anyway. > > Signed-off-by: George Dunlap <[email protected]>
For the golang side: Reviewed-by: Nick Rosbrook <[email protected]>
