api: split api generated files 08/22108/14
authorOle Troan <ot@cisco.com>
Wed, 18 Sep 2019 23:08:30 +0000 (01:08 +0200)
committerDave Barach <openvpp@barachs.net>
Wed, 25 Sep 2019 12:02:32 +0000 (12:02 +0000)
commit2a1ca787b9ca0021bd5da73450caedc2ff41c76d
treef9d879e07099f727ca565cfd8bc1624d3e7dc405
parent33af8c1ed89f15cf0601ee891e9603bef16f2c93
api: split api generated files

Split generation of API message enum and the typedefs into
separate files, so that the type file can be included from
elsewhere.

Generate a C file for VPP that contains the API registration,
this was previously done via X macros by the C pre-
processor.

This allows deleting lots of skeleton/copy paste code
for each feature.

plugins/flowprobe
plugins/map
examples/sample-plugin
vnet/ipip
used as Guinea pigs.

Generate a C Test file for VAT, that does the same for VAT plugins.
Also add support for a per-message CLI option, that is currently
limited to VAT help text. option vat_help = "<help text>";

Type: refactor
Change-Id: I245e3104bb76f7e1fb69a59ab20cc7c8dfcdd460
Signed-off-by: Ole Troan <ot@cisco.com>
25 files changed:
src/cmake/api.cmake
src/cmake/library.cmake
src/examples/sample-plugin/sample/sample.c
src/examples/sample-plugin/sample/sample_all_api_h.h [deleted file]
src/examples/sample-plugin/sample/sample_msg_enum.h [deleted file]
src/examples/sample-plugin/sample/sample_test.c
src/plugins/flowprobe/CMakeLists.txt
src/plugins/flowprobe/flowprobe.api
src/plugins/flowprobe/flowprobe.c
src/plugins/flowprobe/flowprobe_all_api_h.h [deleted file]
src/plugins/flowprobe/flowprobe_msg_enum.h [deleted file]
src/plugins/flowprobe/flowprobe_test.c
src/plugins/map/CMakeLists.txt
src/plugins/map/map_all_api_h.h [deleted file]
src/plugins/map/map_api.c
src/plugins/map/map_msg_enum.h [deleted file]
src/tools/vppapigen/vppapigen.py
src/tools/vppapigen/vppapigen_c.py
src/tools/vppapigen/vppapigen_json.py
src/vlibapi/api_helper_macros.h
src/vnet/ip/ip_format_fns.h
src/vnet/ip/ip_types_api.h
src/vnet/ipip/ipip.h
src/vnet/ipip/ipip_api.c
src/vnet/vnet_all_api_h.h