[v2,2/2] drivers: add headers install helper

Message ID 20201022075545.17945-2-david.marchand@redhat.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series [v2,1/2] crypto/scheduler: fix header install with meson |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-broadcom-Functional success Functional Testing PASS
ci/iol-broadcom-Performance success Performance Testing PASS
ci/iol-intel-Functional success Functional Testing PASS
ci/iol-intel-Performance success Performance Testing PASS
ci/iol-testing success Testing PASS
ci/Intel-compilation success Compilation OK
ci/iol-mellanox-Performance success Performance Testing PASS
ci/travis-robot success Travis build: passed

Commit Message

David Marchand Oct. 22, 2020, 7:55 a.m. UTC
  A lot of drivers export headers, reproduce the same facility than for
libraries.

Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 doc/guides/contributing/coding_style.rst   | 3 +++
 drivers/baseband/acc100/meson.build        | 2 +-
 drivers/baseband/fpga_5gnr_fec/meson.build | 2 +-
 drivers/bus/ifpga/meson.build              | 2 +-
 drivers/bus/pci/meson.build                | 2 +-
 drivers/bus/vdev/meson.build               | 2 +-
 drivers/bus/vmbus/meson.build              | 2 +-
 drivers/crypto/scheduler/meson.build       | 2 +-
 drivers/mempool/dpaa2/meson.build          | 2 +-
 drivers/meson.build                        | 3 +++
 drivers/net/avp/meson.build                | 2 +-
 drivers/net/bnxt/meson.build               | 2 +-
 drivers/net/bonding/meson.build            | 2 +-
 drivers/net/dpaa/meson.build               | 2 +-
 drivers/net/dpaa2/meson.build              | 2 +-
 drivers/net/i40e/meson.build               | 2 +-
 drivers/net/ice/meson.build                | 2 +-
 drivers/net/ixgbe/meson.build              | 2 +-
 drivers/net/ring/meson.build               | 2 +-
 drivers/net/softnic/meson.build            | 2 +-
 drivers/net/vhost/meson.build              | 2 +-
 drivers/raw/dpaa2_cmdif/meson.build        | 2 +-
 drivers/raw/dpaa2_qdma/meson.build         | 2 +-
 drivers/raw/ioat/meson.build               | 2 +-
 drivers/raw/ntb/meson.build                | 2 +-
 25 files changed, 29 insertions(+), 23 deletions(-)
  

Comments

Bruce Richardson Oct. 22, 2020, 8:16 a.m. UTC | #1
On Thu, Oct 22, 2020 at 09:55:45AM +0200, David Marchand wrote:
> A lot of drivers export headers, reproduce the same facility than for
> libraries.
> 
> Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
Acked-by: Bruce Richardson <bruce.richardson@intel.com>

With this patch 2, you don't need patch 1, though.
  
David Marchand Oct. 22, 2020, 8:22 a.m. UTC | #2
On Thu, Oct 22, 2020 at 10:16 AM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Thu, Oct 22, 2020 at 09:55:45AM +0200, David Marchand wrote:
> > A lot of drivers export headers, reproduce the same facility than for
> > libraries.
> >
> > Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>
> With this patch 2, you don't need patch 1, though.

Yep, my thoughts too.
Patch 1 is mainly for backports so I can send only patch 2 for main
and send patch 1 for 18.11 and 19.11 branches.
Kevin, Luca?
  
Luca Boccassi Oct. 22, 2020, 9:47 a.m. UTC | #3
On Thu, 2020-10-22 at 10:22 +0200, David Marchand wrote:
> On Thu, Oct 22, 2020 at 10:16 AM Bruce Richardson
> <bruce.richardson@intel.com> wrote:
> > On Thu, Oct 22, 2020 at 09:55:45AM +0200, David Marchand wrote:
> > > A lot of drivers export headers, reproduce the same facility than for
> > > libraries.
> > > 
> > > Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
> > > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > > ---
> > Acked-by: Bruce Richardson <bruce.richardson@intel.com>
> > 
> > With this patch 2, you don't need patch 1, though.
> 
> Yep, my thoughts too.
> Patch 1 is mainly for backports so I can send only patch 2 for main
> and send patch 1 for 18.11 and 19.11 branches.
> Kevin, Luca?

Sounds good to me, thanks.
  
Kevin Traynor Oct. 22, 2020, 9:53 a.m. UTC | #4
On 22/10/2020 10:47, Luca Boccassi wrote:
> On Thu, 2020-10-22 at 10:22 +0200, David Marchand wrote:
>> On Thu, Oct 22, 2020 at 10:16 AM Bruce Richardson
>> <bruce.richardson@intel.com> wrote:
>>> On Thu, Oct 22, 2020 at 09:55:45AM +0200, David Marchand wrote:
>>>> A lot of drivers export headers, reproduce the same facility than for
>>>> libraries.
>>>>
>>>> Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
>>>> Signed-off-by: David Marchand <david.marchand@redhat.com>
>>>> ---
>>> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>>>
>>> With this patch 2, you don't need patch 1, though.
>>
>> Yep, my thoughts too.
>> Patch 1 is mainly for backports so I can send only patch 2 for main
>> and send patch 1 for 18.11 and 19.11 branches.
>> Kevin, Luca?
> 
> Sounds good to me, thanks.
> 

+1
  
David Marchand Oct. 22, 2020, 12:32 p.m. UTC | #5
On Thu, Oct 22, 2020 at 10:16 AM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> On Thu, Oct 22, 2020 at 09:55:45AM +0200, David Marchand wrote:
> > A lot of drivers export headers, reproduce the same facility than for
> > libraries.
> >
> > Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> > ---
> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
>
> With this patch 2, you don't need patch 1, though.

Added a note about this, and only applied patch 2.
I will send backports for 18.11 and 19.11.

Thanks.
  
Xu, Rosen Oct. 23, 2020, 7:22 a.m. UTC | #6
> Subject: [PATCH v2 2/2] drivers: add headers install helper
> 
> A lot of drivers export headers, reproduce the same facility than for
> libraries.
> 
> Suggested-by: Bruce Richardson <bruce.richardson@intel.com>
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>  doc/guides/contributing/coding_style.rst   | 3 +++
>  drivers/baseband/acc100/meson.build        | 2 +-
>  drivers/baseband/fpga_5gnr_fec/meson.build | 2 +-
>  drivers/bus/ifpga/meson.build              | 2 +-
>  drivers/bus/pci/meson.build                | 2 +-
>  drivers/bus/vdev/meson.build               | 2 +-
>  drivers/bus/vmbus/meson.build              | 2 +-
>  drivers/crypto/scheduler/meson.build       | 2 +-
>  drivers/mempool/dpaa2/meson.build          | 2 +-
>  drivers/meson.build                        | 3 +++
>  drivers/net/avp/meson.build                | 2 +-
>  drivers/net/bnxt/meson.build               | 2 +-
>  drivers/net/bonding/meson.build            | 2 +-
>  drivers/net/dpaa/meson.build               | 2 +-
>  drivers/net/dpaa2/meson.build              | 2 +-
>  drivers/net/i40e/meson.build               | 2 +-
>  drivers/net/ice/meson.build                | 2 +-
>  drivers/net/ixgbe/meson.build              | 2 +-
>  drivers/net/ring/meson.build               | 2 +-
>  drivers/net/softnic/meson.build            | 2 +-
>  drivers/net/vhost/meson.build              | 2 +-
>  drivers/raw/dpaa2_cmdif/meson.build        | 2 +-
>  drivers/raw/dpaa2_qdma/meson.build         | 2 +-
>  drivers/raw/ioat/meson.build               | 2 +-
>  drivers/raw/ntb/meson.build                | 2 +-
>  25 files changed, 29 insertions(+), 23 deletions(-)
> 
> diff --git a/drivers/bus/ifpga/meson.build b/drivers/bus/ifpga/meson.build
> index 3ff44d902a..4d0507f553 100644
> --- a/drivers/bus/ifpga/meson.build
> +++ b/drivers/bus/ifpga/meson.build
> @@ -8,5 +8,5 @@ if is_windows
>  endif
> 
>  deps += ['pci', 'kvargs', 'rawdev']
> -install_headers('rte_bus_ifpga.h')
> +headers = files('rte_bus_ifpga.h')
>  sources = files('ifpga_common.c', 'ifpga_bus.c') diff --git

Acked-by: Rosen Xu <rosen.xu@intel.com>
  

Patch

diff --git a/doc/guides/contributing/coding_style.rst b/doc/guides/contributing/coding_style.rst
index 687c5022b3..bb3f3efcbc 100644
--- a/doc/guides/contributing/coding_style.rst
+++ b/doc/guides/contributing/coding_style.rst
@@ -987,5 +987,8 @@  reason
 sources [mandatory]
 	As above
 
+headers
+	As above
+
 version
 	As above
diff --git a/drivers/baseband/acc100/meson.build b/drivers/baseband/acc100/meson.build
index 7ac44dce71..9a1a3b8b07 100644
--- a/drivers/baseband/acc100/meson.build
+++ b/drivers/baseband/acc100/meson.build
@@ -5,4 +5,4 @@  deps += ['bbdev', 'bus_vdev', 'ring', 'pci', 'bus_pci']
 
 sources = files('rte_acc100_pmd.c')
 
-install_headers('rte_acc100_cfg.h')
+headers = files('rte_acc100_cfg.h')
diff --git a/drivers/baseband/fpga_5gnr_fec/meson.build b/drivers/baseband/fpga_5gnr_fec/meson.build
index 9d10bcf80e..745cd271f2 100644
--- a/drivers/baseband/fpga_5gnr_fec/meson.build
+++ b/drivers/baseband/fpga_5gnr_fec/meson.build
@@ -5,4 +5,4 @@  deps += ['bbdev', 'bus_vdev', 'ring', 'pci', 'bus_pci']
 
 sources = files('rte_fpga_5gnr_fec.c')
 
-install_headers('rte_pmd_fpga_5gnr_fec.h')
+headers = files('rte_pmd_fpga_5gnr_fec.h')
diff --git a/drivers/bus/ifpga/meson.build b/drivers/bus/ifpga/meson.build
index 3ff44d902a..4d0507f553 100644
--- a/drivers/bus/ifpga/meson.build
+++ b/drivers/bus/ifpga/meson.build
@@ -8,5 +8,5 @@  if is_windows
 endif
 
 deps += ['pci', 'kvargs', 'rawdev']
-install_headers('rte_bus_ifpga.h')
+headers = files('rte_bus_ifpga.h')
 sources = files('ifpga_common.c', 'ifpga_bus.c')
diff --git a/drivers/bus/pci/meson.build b/drivers/bus/pci/meson.build
index 9778004952..78ec830b25 100644
--- a/drivers/bus/pci/meson.build
+++ b/drivers/bus/pci/meson.build
@@ -2,7 +2,7 @@ 
 # Copyright(c) 2017 Intel Corporation
 
 deps += ['pci']
-install_headers('rte_bus_pci.h')
+headers = files('rte_bus_pci.h')
 sources = files('pci_common.c',
 	'pci_params.c')
 if is_linux
diff --git a/drivers/bus/vdev/meson.build b/drivers/bus/vdev/meson.build
index 967d54e4f8..44b2966baa 100644
--- a/drivers/bus/vdev/meson.build
+++ b/drivers/bus/vdev/meson.build
@@ -3,6 +3,6 @@ 
 
 sources = files('vdev.c',
 	'vdev_params.c')
-install_headers('rte_bus_vdev.h')
+headers = files('rte_bus_vdev.h')
 
 deps += ['kvargs']
diff --git a/drivers/bus/vmbus/meson.build b/drivers/bus/vmbus/meson.build
index 7e7b1dad53..b90e74d69c 100644
--- a/drivers/bus/vmbus/meson.build
+++ b/drivers/bus/vmbus/meson.build
@@ -7,7 +7,7 @@  if is_windows
 endif
 
 
-install_headers('rte_bus_vmbus.h','rte_vmbus_reg.h')
+headers = files('rte_bus_vmbus.h','rte_vmbus_reg.h')
 
 sources = files('vmbus_common.c',
 		'vmbus_channel.c',
diff --git a/drivers/crypto/scheduler/meson.build b/drivers/crypto/scheduler/meson.build
index df8f3fe7b7..2209c50232 100644
--- a/drivers/crypto/scheduler/meson.build
+++ b/drivers/crypto/scheduler/meson.build
@@ -13,7 +13,7 @@  sources = files(
 	'scheduler_roundrobin.c',
 )
 
-install_headers(
+headers = files(
 	'rte_cryptodev_scheduler.h',
 	'rte_cryptodev_scheduler_operations.h',
 )
diff --git a/drivers/mempool/dpaa2/meson.build b/drivers/mempool/dpaa2/meson.build
index c3f479afa1..ed55c0d437 100644
--- a/drivers/mempool/dpaa2/meson.build
+++ b/drivers/mempool/dpaa2/meson.build
@@ -9,4 +9,4 @@  endif
 deps += ['bus_fslmc']
 sources = files('dpaa2_hw_mempool.c')
 
-install_headers('rte_dpaa2_mempool.h')
+headers = files('rte_dpaa2_mempool.h')
diff --git a/drivers/meson.build b/drivers/meson.build
index a5a6fed06e..4bb7e92183 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -60,6 +60,7 @@  foreach subpath:subdirs
 		name = drv
 		fmt_name = ''
 		sources = []
+		headers = []
 		objs = []
 		cflags = default_cflags
 		includes = [include_directories(drv_path)]
@@ -136,6 +137,8 @@  foreach subpath:subdirs
 
 			dpdk_extra_ldflags += pkgconfig_extra_libs
 
+			install_headers(headers)
+
 			# generate pmdinfo sources by building a temporary
 			# lib and then running pmdinfogen on the contents of
 			# that lib. The final lib reuses the object files and
diff --git a/drivers/net/avp/meson.build b/drivers/net/avp/meson.build
index a5f63cdef9..7c6b964acb 100644
--- a/drivers/net/avp/meson.build
+++ b/drivers/net/avp/meson.build
@@ -6,4 +6,4 @@  if not is_linux
 	reason = 'only supported on linux'
 endif
 sources = files('avp_ethdev.c')
-install_headers('rte_avp_common.h', 'rte_avp_fifo.h')
+headers = files('rte_avp_common.h', 'rte_avp_fifo.h')
diff --git a/drivers/net/bnxt/meson.build b/drivers/net/bnxt/meson.build
index 39521080f8..9c153c402b 100644
--- a/drivers/net/bnxt/meson.build
+++ b/drivers/net/bnxt/meson.build
@@ -2,7 +2,7 @@ 
 # Copyright(c) 2018 Intel Corporation
 # Copyright(c) 2020 Broadcom
 
-install_headers('rte_pmd_bnxt.h')
+headers = files('rte_pmd_bnxt.h')
 
 includes += include_directories('tf_ulp')
 includes += include_directories('tf_core')
diff --git a/drivers/net/bonding/meson.build b/drivers/net/bonding/meson.build
index a3eff3b31c..adf64626ec 100644
--- a/drivers/net/bonding/meson.build
+++ b/drivers/net/bonding/meson.build
@@ -8,4 +8,4 @@  sources = files('rte_eth_bond_api.c', 'rte_eth_bond_pmd.c', 'rte_eth_bond_flow.c
 deps += 'sched' # needed for rte_bitmap.h
 deps += ['ip_frag']
 
-install_headers('rte_eth_bond.h', 'rte_eth_bond_8023ad.h')
+headers = files('rte_eth_bond.h', 'rte_eth_bond_8023ad.h')
diff --git a/drivers/net/dpaa/meson.build b/drivers/net/dpaa/meson.build
index c00dba6f62..ecb06ea65e 100644
--- a/drivers/net/dpaa/meson.build
+++ b/drivers/net/dpaa/meson.build
@@ -18,4 +18,4 @@  if cc.has_argument('-Wno-pointer-arith')
 	cflags += '-Wno-pointer-arith'
 endif
 
-install_headers('rte_pmd_dpaa.h')
+headers = files('rte_pmd_dpaa.h')
diff --git a/drivers/net/dpaa2/meson.build b/drivers/net/dpaa2/meson.build
index 4312aa73f7..7e43553a3b 100644
--- a/drivers/net/dpaa2/meson.build
+++ b/drivers/net/dpaa2/meson.build
@@ -21,4 +21,4 @@  sources = files('base/dpaa2_hw_dpni.c',
 
 includes += include_directories('base', 'mc')
 
-install_headers('rte_pmd_dpaa2.h')
+headers = files('rte_pmd_dpaa2.h')
diff --git a/drivers/net/i40e/meson.build b/drivers/net/i40e/meson.build
index 68f9895cd7..bb0c542a30 100644
--- a/drivers/net/i40e/meson.build
+++ b/drivers/net/i40e/meson.build
@@ -52,4 +52,4 @@  elif arch_subdir == 'arm'
        sources += files('i40e_rxtx_vec_neon.c')
 endif
 
-install_headers('rte_pmd_i40e.h')
+headers = files('rte_pmd_i40e.h')
diff --git a/drivers/net/ice/meson.build b/drivers/net/ice/meson.build
index 99e1b773a3..f6a64d91c6 100644
--- a/drivers/net/ice/meson.build
+++ b/drivers/net/ice/meson.build
@@ -39,4 +39,4 @@  sources += files('ice_dcf.c',
 		 'ice_dcf_ethdev.c',
 		 'ice_dcf_parent.c')
 
-install_headers('rte_pmd_ice.h')
+headers = files('rte_pmd_ice.h')
diff --git a/drivers/net/ixgbe/meson.build b/drivers/net/ixgbe/meson.build
index 949075eb22..f104378912 100644
--- a/drivers/net/ixgbe/meson.build
+++ b/drivers/net/ixgbe/meson.build
@@ -30,4 +30,4 @@  endif
 
 includes += include_directories('base')
 
-install_headers('rte_pmd_ixgbe.h')
+headers = files('rte_pmd_ixgbe.h')
diff --git a/drivers/net/ring/meson.build b/drivers/net/ring/meson.build
index e877a4b4bd..26a324eebb 100644
--- a/drivers/net/ring/meson.build
+++ b/drivers/net/ring/meson.build
@@ -2,4 +2,4 @@ 
 # Copyright(c) 2017 Intel Corporation
 
 sources = files('rte_eth_ring.c')
-install_headers('rte_eth_ring.h')
+headers = files('rte_eth_ring.h')
diff --git a/drivers/net/softnic/meson.build b/drivers/net/softnic/meson.build
index 96c003e157..b96ae6ba9e 100644
--- a/drivers/net/softnic/meson.build
+++ b/drivers/net/softnic/meson.build
@@ -5,7 +5,7 @@  if not is_linux
 	build = false
 	reason = 'only supported on linux'
 endif
-install_headers('rte_eth_softnic.h')
+headers = files('rte_eth_softnic.h')
 sources = files('rte_eth_softnic_tm.c',
 	'rte_eth_softnic.c',
 	'rte_eth_softnic_mempool.c',
diff --git a/drivers/net/vhost/meson.build b/drivers/net/vhost/meson.build
index 963b30f209..1ae4854b8f 100644
--- a/drivers/net/vhost/meson.build
+++ b/drivers/net/vhost/meson.build
@@ -4,5 +4,5 @@ 
 build = dpdk_conf.has('RTE_LIB_VHOST')
 reason = 'missing dependency, DPDK vhost library'
 sources = files('rte_eth_vhost.c')
-install_headers('rte_eth_vhost.h')
+headers = files('rte_eth_vhost.h')
 deps += 'vhost'
diff --git a/drivers/raw/dpaa2_cmdif/meson.build b/drivers/raw/dpaa2_cmdif/meson.build
index 06c0fe756d..8824f887ce 100644
--- a/drivers/raw/dpaa2_cmdif/meson.build
+++ b/drivers/raw/dpaa2_cmdif/meson.build
@@ -6,4 +6,4 @@  reason = 'missing dependency, DPDK DPAA2 mempool driver'
 deps += ['rawdev', 'mempool_dpaa2', 'bus_vdev']
 sources = files('dpaa2_cmdif.c')
 
-install_headers('rte_pmd_dpaa2_cmdif.h')
+headers = files('rte_pmd_dpaa2_cmdif.h')
diff --git a/drivers/raw/dpaa2_qdma/meson.build b/drivers/raw/dpaa2_qdma/meson.build
index 3eeab0d1c1..0c9ae0d8dc 100644
--- a/drivers/raw/dpaa2_qdma/meson.build
+++ b/drivers/raw/dpaa2_qdma/meson.build
@@ -6,4 +6,4 @@  reason = 'missing dependency, DPDK DPAA2 mempool driver'
 deps += ['rawdev', 'mempool_dpaa2', 'ring', 'kvargs']
 sources = files('dpaa2_qdma.c')
 
-install_headers('rte_pmd_dpaa2_qdma.h')
+headers = files('rte_pmd_dpaa2_qdma.h')
diff --git a/drivers/raw/ioat/meson.build b/drivers/raw/ioat/meson.build
index 5eff76a1a3..6fbae05b78 100644
--- a/drivers/raw/ioat/meson.build
+++ b/drivers/raw/ioat/meson.build
@@ -14,5 +14,5 @@  deps += ['bus_pci',
 	'mbuf',
 	'rawdev']
 
-install_headers('rte_ioat_rawdev.h',
+headers = files('rte_ioat_rawdev.h',
 		'rte_ioat_rawdev_fns.h')
diff --git a/drivers/raw/ntb/meson.build b/drivers/raw/ntb/meson.build
index 2926193a0a..1b7c6eb449 100644
--- a/drivers/raw/ntb/meson.build
+++ b/drivers/raw/ntb/meson.build
@@ -5,4 +5,4 @@  deps += ['rawdev', 'mbuf', 'mempool',
 	 'pci', 'bus_pci']
 sources = files('ntb.c',
                 'ntb_hw_intel.c')
-install_headers('rte_pmd_ntb.h')
+headers = files('rte_pmd_ntb.h')