Many DPDK drivers use the same pattern for base code handling, having
a meson.build file in the base code directory which optionally defines
some custom cflags for the base code build, then builds the code as a
static library and extracts the objects from it. (The reason behind this
is that, in meson, cflags apply per-object, so we need to have a
separate build object for the base code to use custom flags)

This patchset deduplicates this logic by putting it into the
drivers/meson.build file, and allowing individual drivers to then just
specify values for "base_sources" and "base_cflags".

v2:
* rebase on latest main
* fix inclusion of accident diff in v1

Bruce Richardson (10):
  build: add generic support for base code in drivers
  common/sfc_efx: use common base code build handling
  net/hinic: use common base code build handling
  net/intel: use common base code build handling
  net/ngbe: use common base code build handling
  net/octeontx: use common base code build handling
  net/qede: use common base code build handling
  net/thunderx: use common base code build handling
  net/txgbe: use common base code build handling
  raw/ifpga: use common base code build handling

 drivers/common/sfc_efx/base/meson.build | 18 +++---------------
 drivers/common/sfc_efx/meson.build      |  3 ---
 drivers/meson.build                     | 20 ++++++++++++++++++++
 drivers/net/hinic/base/meson.build      | 16 +++++-----------
 drivers/net/hinic/meson.build           |  1 -
 drivers/net/intel/e1000/meson.build     |  3 ---
 drivers/net/intel/fm10k/meson.build     |  3 ---
 drivers/net/intel/i40e/meson.build      |  2 --
 drivers/net/intel/iavf/meson.build      |  1 -
 drivers/net/intel/ice/base/meson.build  | 13 +++----------
 drivers/net/intel/ice/meson.build       |  2 --
 drivers/net/intel/idpf/meson.build      |  1 -
 drivers/net/intel/ixgbe/meson.build     |  3 ---
 drivers/net/ngbe/base/meson.build       | 12 ++----------
 drivers/net/ngbe/meson.build            |  3 ---
 drivers/net/octeontx/base/meson.build   | 19 +------------------
 drivers/net/octeontx/meson.build        |  3 ---
 drivers/net/qede/base/meson.build       | 17 +++++------------
 drivers/net/qede/meson.build            |  1 -
 drivers/net/thunderx/base/meson.build   | 10 +---------
 drivers/net/thunderx/meson.build        |  3 ---
 drivers/net/txgbe/base/meson.build      | 18 ++----------------
 drivers/net/txgbe/meson.build           |  3 ---
 drivers/raw/ifpga/base/meson.build      | 21 ++-------------------
 drivers/raw/ifpga/meson.build           | 15 ++++++++++++---
 25 files changed, 56 insertions(+), 155 deletions(-)

--
2.45.2

Reply via email to