[dpdk-dev] [PATCH v2] ethdev: introduce enable_driver_sdk to install driver headers
Tyler Retzlaff
roretzla at linux.microsoft.com
Fri Mar 12 23:20:06 CET 2021
Introduce a meson option enable_driver_sdk when true installs internal
driver headers for ethdev. this allows drivers that do not depend on
stable api/abi to be built external to the dpdk source tree.
Signed-off-by: Tyler Retzlaff <roretzla at linux.microsoft.com>
---
lib/librte_ethdev/meson.build | 6 ++++++
lib/meson.build | 4 ++++
meson_options.txt | 2 ++
3 files changed, 12 insertions(+)
diff --git a/lib/librte_ethdev/meson.build b/lib/librte_ethdev/meson.build
index c37b2e377..4353fa6b7 100644
--- a/lib/librte_ethdev/meson.build
+++ b/lib/librte_ethdev/meson.build
@@ -20,8 +20,14 @@ headers = files('rte_ethdev.h',
'rte_mtr_driver.h',
'rte_tm.h',
'rte_tm_driver.h')
+
indirect_headers += files(
'rte_ethdev_core.h',
'rte_eth_ctrl.h')
+driver_sdk_headers += files(
+ 'ethdev_driver.h',
+ 'ethdev_pci.h',
+ 'ethdev_vdev.h')
+
deps += ['net', 'kvargs', 'meter', 'telemetry']
diff --git a/lib/meson.build b/lib/meson.build
index 7712aa497..992ebdf63 100644
--- a/lib/meson.build
+++ b/lib/meson.build
@@ -67,6 +67,7 @@ foreach l:libraries
sources = []
headers = []
indirect_headers = [] # public headers not directly included by apps
+ driver_sdk_headers = [] # public headers included by drivers
includes = []
cflags = default_cflags
objs = [] # other object files to link against, used e.g. for
@@ -105,6 +106,9 @@ foreach l:libraries
dpdk_conf.set('RTE_LIB_' + name.to_upper(), 1)
install_headers(headers)
install_headers(indirect_headers)
+ if get_option('enable_driver_sdk')
+ install_headers(driver_sdk_headers)
+ endif
dpdk_chkinc_headers += headers
libname = 'rte_' + name
diff --git a/meson_options.txt b/meson_options.txt
index 6eff62e47..857874a19 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -8,6 +8,8 @@ option('drivers_install_subdir', type: 'string', value: 'dpdk/pmds-<VERSION>',
description: 'Subdirectory of libdir where to install PMDs. Defaults to using a versioned subdirectory.')
option('enable_docs', type: 'boolean', value: false,
description: 'build documentation')
+option('enable_driver_sdk', type: 'boolean', value: false,
+ description: 'install internal driver plugin headers')
option('enable_kmods', type: 'boolean', value: false,
description: 'build kernel modules')
option('examples', type: 'string', value: '',
--
2.30.0.vfs.0.2
More information about the dev
mailing list