patches for DPDK stable branches
 help / color / Atom feed
From: Bruce Richardson <bruce.richardson@intel.com>
To: david.marchand@redhat.com
Cc: dev@dpdk.org, Bruce Richardson <bruce.richardson@intel.com>,
	stable@dpdk.org
Subject: [dpdk-stable] [RFC PATCH 3/5] meson: fix compatibility with make build defines
Date: Wed, 16 Sep 2020 17:44:27 +0100
Message-ID: <20200916164429.244847-4-bruce.richardson@intel.com> (raw)
In-Reply-To: <20200916164429.244847-1-bruce.richardson@intel.com>

The defines used to indicate what crypto, compression and eventdev drivers
were being built were different to those used in the make build, with meson
defining them with "_PMD" at the end, while make defined them with "_PMD"
in the middle and the specific driver name at the end. This might cause
compatibility issues for applications which used the older defines, which
switching to build against new DPDK releases.

As well as changing the default to match that of make, meson also
special-cases the crypto/compression/event drivers to have both defines
provided, and puts in a deprecation notice to allow future removal of the
meson-original defines.  This ensures compatibility for these macros with
both meson and make from older versions.

Fixes: dcadbbde8e61 ("crypto/null: build with meson")
Fixes: 3c32e89f68e1 ("compress/isal: add skeleton ISA-L compression PMD")
Fixes: eca504f318db ("drivers/event: build skeleton and SW drivers with meson")

Cc: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/rel_notes/deprecation.rst |  8 ++++++++
 drivers/compress/meson.build         |  2 +-
 drivers/crypto/meson.build           |  2 +-
 drivers/event/meson.build            |  2 +-
 drivers/meson.build                  | 15 +++++++++++++++
 5 files changed, 26 insertions(+), 3 deletions(-)

diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 52168f7751..5b5a52fa65 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -11,6 +11,14 @@ here.
 Deprecation Notices
 -------------------
 
+* build: The macros defined to indicate which crypto drivers, event drivers
+  and which compression drivers have been
+  included in the meson build are changing format from
+  ``RTE_LIBRTE_<name>_PMD`` to ``RTE_LIBRTE_PMD_<name>`` to match those
+  macros used for the drivers in the make build. Both sets of macros
+  are present in this release, but those ending in ``_PMD`` will be removed
+  in a future release, and should not be used.
+
 * meson: The minimum supported version of meson for configuring and building
   DPDK will be increased to v0.47.1 (from 0.41) from DPDK 19.05 onwards. For
   those users with a version earlier than 0.47.1, an updated copy of meson
diff --git a/drivers/compress/meson.build b/drivers/compress/meson.build
index ee883c3f9f..bea1720a0b 100644
--- a/drivers/compress/meson.build
+++ b/drivers/compress/meson.build
@@ -8,5 +8,5 @@ endif
 drivers = ['isal', 'octeontx', 'qat', 'zlib']
 
 std_deps = ['compressdev'] # compressdev pulls in all other needed deps
-config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
+config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
 driver_name_fmt = 'rte_pmd_@0@'
diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build
index a2423507ad..25b99c19cb 100644
--- a/drivers/crypto/meson.build
+++ b/drivers/crypto/meson.build
@@ -26,5 +26,5 @@ drivers = ['aesni_gcm',
 	   'zuc']
 
 std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps
-config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
+config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
 driver_name_fmt = 'rte_pmd_@0@'
diff --git a/drivers/event/meson.build b/drivers/event/meson.build
index ebe76a75c4..f2a3431472 100644
--- a/drivers/event/meson.build
+++ b/drivers/event/meson.build
@@ -11,5 +11,5 @@ if not (toolchain == 'gcc' and cc.version().version_compare('<4.8.6') and
 	drivers += 'octeontx'
 endif
 std_deps = ['eventdev', 'kvargs']
-config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD'
+config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
 driver_name_fmt = 'rte_pmd_@0@_event'
diff --git a/drivers/meson.build b/drivers/meson.build
index 5f95265573..b5ac483d31 100644
--- a/drivers/meson.build
+++ b/drivers/meson.build
@@ -117,6 +117,21 @@ foreach subpath:subdirs
 				fmt_name = name
 			endif
 			dpdk_conf.set(config_flag_fmt.format(fmt_name.to_upper()),1)
+			# for driver compatibility, since we changed the
+			# default to match that of make. Remove in future release
+			# after following deprecation process
+			if config_flag_fmt.contains('_PMD_@0@') and (class == 'crypto'
+					or class == 'compress'
+					or class == 'event')
+				alt_flag_fmt = '_@0@_PMD'.join(
+						config_flag_fmt.split('_PMD_@0@'))
+				if config_flag_fmt.contains('EVENTDEV')
+					alt_flag_fmt = '_@0@_EVENTDEV_PMD'.join(
+						config_flag_fmt.split('_PMD_@0@_EVENTDEV'))
+				endif
+				dpdk_conf.set(alt_flag_fmt.format(
+						fmt_name.to_upper()), 1)
+			endif
 			lib_name = driver_name_fmt.format(fmt_name)
 
 			dpdk_extra_ldflags += pkgconfig_extra_libs
-- 
2.25.1


  parent reply index

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200916164429.244847-1-bruce.richardson@intel.com>
2020-09-16 16:44 ` [dpdk-stable] [RFC PATCH 1/5] app: fix missing dependencies Bruce Richardson
2020-09-16 16:44 ` [dpdk-stable] [RFC PATCH 2/5] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-09-16 16:44 ` Bruce Richardson [this message]
2020-09-16 16:44 ` [dpdk-stable] [RFC PATCH 4/5] build: add defines for compatibility with make build Bruce Richardson
     [not found] ` <20201002155855.622456-1-bruce.richardson@intel.com>
2020-10-02 15:58   ` [dpdk-stable] [RFC PATCH v2 1/8] app: fix missing dependencies Bruce Richardson
2020-10-02 15:58   ` [dpdk-stable] [RFC PATCH v2 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-02 15:58   ` [dpdk-stable] [RFC PATCH v2 3/8] build: add defines for compatibility with make build Bruce Richardson
     [not found] ` <20201014141304.632120-1-bruce.richardson@intel.com>
2020-10-14 14:12   ` [dpdk-stable] [PATCH v3 1/7] app: fix missing dependencies Bruce Richardson
2020-10-15 10:32     ` Luca Boccassi
2020-10-14 14:12   ` [dpdk-stable] [PATCH v3 2/7] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 10:32     ` Luca Boccassi
2020-10-14 14:13   ` [dpdk-stable] [PATCH v3 3/7] build: add defines for compatibility with make build Bruce Richardson
2020-10-15 10:31     ` Luca Boccassi
2020-10-15 11:20       ` Bruce Richardson
     [not found] ` <20201015110359.706644-1-bruce.richardson@intel.com>
2020-10-15 11:03   ` [dpdk-stable] [PATCH v4 1/8] app: fix missing dependencies Bruce Richardson
2020-10-15 11:03   ` [dpdk-stable] [PATCH v4 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 11:03   ` [dpdk-stable] [PATCH v4 3/8] build: add defines for compatibility with make build Bruce Richardson
     [not found] ` <20201015150554.950838-1-bruce.richardson@intel.com>
2020-10-15 15:05   ` [dpdk-stable] [PATCH v5 1/8] app: fix missing dependencies Bruce Richardson
2020-10-15 15:05   ` [dpdk-stable] [PATCH v5 2/8] examples/l2fwd-crypto: fix missing dependency Bruce Richardson
2020-10-15 15:05   ` [dpdk-stable] [PATCH v5 3/8] build: add defines for compatibility with make build Bruce Richardson

Reply instructions:

You may reply publically to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200916164429.244847-4-bruce.richardson@intel.com \
    --to=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=stable@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link

patches for DPDK stable branches

Archives are clonable:
	git clone --mirror http://inbox.dpdk.org/stable/0 stable/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 stable stable/ http://inbox.dpdk.org/stable \
		stable@dpdk.org
	public-inbox-index stable


Newsgroup available over NNTP:
	nntp://inbox.dpdk.org/inbox.dpdk.stable


AGPL code for this site: git clone https://public-inbox.org/ public-inbox