On Thu, Oct 13, 2022 at 05:35:39PM +0200, Markus Theil wrote:
> From: Thorben Roemer <thorben.roemer@secunet.com>
>
> In order to perform things like LTO more easily in
> our DPDK applications, we use DPDK as a meson subproject.
> Also export includes in order to be usable in this context.
>
> Signed-off-by: Thorben Roemer <thorben.roemer@secunet.com>
> ---
> drivers/baseband/fpga_5gnr_fec/meson.build | 2 ++
> drivers/dma/dpaa2/meson.build | 2 ++
> drivers/event/dlb2/meson.build | 2 ++
> drivers/mempool/dpaa2/meson.build | 2 ++
> drivers/net/atlantic/meson.build | 2 ++
> drivers/net/bnxt/meson.build | 2 ++
> drivers/net/bonding/meson.build | 2 ++
> drivers/net/cnxk/meson.build | 2 ++
> drivers/net/dpaa/meson.build | 2 ++
> drivers/net/dpaa2/meson.build | 2 ++
> drivers/net/i40e/meson.build | 2 ++
> drivers/net/iavf/meson.build | 2 ++
> drivers/net/ixgbe/meson.build | 2 ++
> drivers/net/memif/meson.build | 2 ++
> drivers/net/mlx5/meson.build | 2 ++
> drivers/net/ring/meson.build | 2 ++
> drivers/net/softnic/meson.build | 2 ++
> drivers/net/vhost/meson.build | 2 ++
> drivers/raw/cnxk_bphy/meson.build | 2 ++
> drivers/raw/cnxk_gpio/meson.build | 2 ++
> drivers/raw/dpaa2_cmdif/meson.build | 2 ++
> drivers/raw/ifpga/meson.build | 2 ++
> drivers/raw/ntb/meson.build | 2 ++
> lib/meson.build | 1 +
> meson.build | 1 +
> 25 files changed, 48 insertions(+)
>
Rather than changing all these meson.build files, I think we should be able
to check in drivers/meson.build if the "headers" array is empty. If not,
then add the include path, otherwise skip it.
/Bruce
@@ -6,3 +6,5 @@ deps += ['bbdev', 'bus_vdev', 'ring', 'pci', 'bus_pci']
sources = files('rte_fpga_5gnr_fec.c')
headers = files('rte_pmd_fpga_5gnr_fec.h')
+
+dpdk_includes += include_directories('.')
@@ -16,3 +16,5 @@ if cc.has_argument('-Wno-pointer-arith')
endif
headers = files('rte_pmd_dpaa2_qdma.h')
+
+dpdk_includes += include_directories('.')
@@ -65,3 +65,5 @@ endif
headers = files('rte_pmd_dlb2.h')
deps += ['mbuf', 'mempool', 'ring', 'pci', 'bus_pci']
+
+dpdk_includes += include_directories('.')
@@ -10,3 +10,5 @@ deps += ['bus_fslmc']
sources = files('dpaa2_hw_mempool.c')
headers = files('rte_dpaa2_mempool.h')
+
+dpdk_includes += include_directories('.')
@@ -17,3 +17,5 @@ sources = files(
'hw_atl/hw_atl_utils.c',
'rte_pmd_atlantic.c',
)
+
+dpdk_includes += include_directories('.')
@@ -68,3 +68,5 @@ if arch_subdir == 'x86'
elif arch_subdir == 'arm' and dpdk_conf.get('RTE_ARCH_64')
sources += files('bnxt_rxtx_vec_neon.c')
endif
+
+dpdk_includes += include_directories('.')
@@ -23,3 +23,5 @@ deps += ['ip_frag']
headers = files('rte_eth_bond.h', 'rte_eth_bond_8023ad.h')
pmd_supports_disable_iova_as_pa = true
+
+dpdk_includes += include_directories('.')
@@ -195,3 +195,5 @@ endforeach
headers = files('rte_pmd_cnxk.h')
pmd_supports_disable_iova_as_pa = true
+
+dpdk_includes += include_directories('.')
@@ -21,3 +21,5 @@ if cc.has_argument('-Wno-pointer-arith')
endif
headers = files('rte_pmd_dpaa.h')
+
+dpdk_includes += include_directories('.')
@@ -27,3 +27,5 @@ sources = files(
includes += include_directories('base', 'mc')
headers = files('rte_pmd_dpaa2.h')
+
+dpdk_includes += include_directories('.')
@@ -92,3 +92,5 @@ elif arch_subdir == 'arm'
endif
headers = files('rte_pmd_i40e.h')
+
+dpdk_includes += include_directories('.')
@@ -71,3 +71,5 @@ elif arch_subdir == 'arm'
endif
headers = files('rte_pmd_iavf.h')
+
+dpdk_includes += include_directories('.')
@@ -36,3 +36,5 @@ endif
includes += include_directories('base')
headers = files('rte_pmd_ixgbe.h')
+
+dpdk_includes += include_directories('.')
@@ -13,3 +13,5 @@ sources = files(
deps += ['hash']
pmd_supports_disable_iova_as_pa = true
+
+dpdk_includes += include_directories('.')
@@ -72,3 +72,5 @@ endif
testpmd_sources += files('mlx5_testpmd.c')
subdir(exec_env)
+
+dpdk_includes += include_directories('.')
@@ -10,3 +10,5 @@ endif
sources = files('rte_eth_ring.c')
headers = files('rte_eth_ring.h')
pmd_supports_disable_iova_as_pa = true
+
+dpdk_includes += include_directories('.')
@@ -16,3 +16,5 @@ sources = files(
'rte_eth_softnic_thread.c',
)
deps += ['pipeline', 'port', 'table']
+
+dpdk_includes += include_directories('.')
@@ -10,3 +10,5 @@ endif
deps += 'vhost'
sources = files('rte_eth_vhost.c')
headers = files('rte_eth_vhost.h')
+
+dpdk_includes += include_directories('.')
@@ -11,3 +11,5 @@ sources = files(
)
headers = files('rte_pmd_bphy.h')
pmd_supports_disable_iova_as_pa = true
+
+dpdk_includes += include_directories('.')
@@ -10,3 +10,5 @@ sources = files(
)
headers = files('rte_pmd_cnxk_gpio.h')
pmd_supports_disable_iova_as_pa = true
+
+dpdk_includes += include_directories('.')
@@ -5,3 +5,5 @@ deps += ['rawdev', 'mempool_dpaa2', 'bus_vdev']
sources = files('dpaa2_cmdif.c')
headers = files('rte_pmd_dpaa2_cmdif.h')
+
+dpdk_includes += include_directories('.')
@@ -22,3 +22,5 @@ includes += include_directories('../../net/ipn3ke')
includes += include_directories('../../net/i40e')
headers = files('rte_pmd_ifpga.h')
+
+dpdk_includes += include_directories('.')
@@ -5,3 +5,5 @@ deps += ['rawdev', 'mbuf', 'mempool', 'pci', 'bus_pci']
sources = files('ntb.c',
'ntb_hw_intel.c')
headers = files('rte_pmd_ntb.h')
+
+dpdk_includes += include_directories('.')
@@ -190,6 +190,7 @@ foreach l:libraries
libname = 'rte_' + name
includes += include_directories(l)
+ dpdk_includes += include_directories(l)
if developer_mode and is_windows and use_function_versioning
message('@0@: Function versioning is not supported by Windows.'.format(name))
@@ -32,6 +32,7 @@ cc = meson.get_compiler('c')
dpdk_source_root = meson.current_source_dir()
dpdk_build_root = meson.current_build_dir()
dpdk_conf = configuration_data()
+dpdk_includes = []
dpdk_libraries = []
dpdk_static_libraries = []
dpdk_shared_lib_deps = []