buildtools/chkincs: check SDK headers for C++ compatibility

With a one-line change to the lib meson.build file we can add the SDK
headers to the list of files to be checked using the chkincs binary.
Unfortunately, many of those SDK header depend upon headers in the PCI
and vdev bus drivers, so we need to update chkincs build to ensure those
dependencies are added. We also need to allow internal APIs to be
present in these SDK headers.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
This commit is contained in:
Bruce Richardson 2022-02-15 17:30:28 +00:00 committed by Thomas Monjalon
parent 5ed2a2d4fd
commit b232b2aa21
2 changed files with 6 additions and 1 deletions

View File

@ -13,11 +13,15 @@ gen_c_files = generator(gen_c_file_for_header,
cflags = machine_args cflags = machine_args
cflags += '-DALLOW_EXPERIMENTAL_API' cflags += '-DALLOW_EXPERIMENTAL_API'
cflags += '-DALLOW_INTERNAL_API'
sources = files('main.c') sources = files('main.c')
sources += gen_c_files.process(dpdk_chkinc_headers) sources += gen_c_files.process(dpdk_chkinc_headers)
deps = [] # some driver SDK headers depend on these two buses, which are mandatory in build
# so we always include them in deps list
deps = [get_variable('shared_rte_bus_vdev'), get_variable('shared_rte_bus_pci')]
# add the rest of the libs to the dependencies
foreach l:enabled_libs foreach l:enabled_libs
deps += get_variable('shared_rte_' + l) deps += get_variable('shared_rte_' + l)
endforeach endforeach

View File

@ -171,6 +171,7 @@ foreach l:libraries
install_headers(driver_sdk_headers) install_headers(driver_sdk_headers)
endif endif
dpdk_chkinc_headers += headers dpdk_chkinc_headers += headers
dpdk_chkinc_headers += driver_sdk_headers
libname = 'rte_' + name libname = 'rte_' + name
includes += include_directories(l) includes += include_directories(l)