patches for DPDK stable branches
 help / color / mirror / 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 4/5] build: add defines for compatibility with make build
Date: Wed, 16 Sep 2020 17:44:28 +0100	[thread overview]
Message-ID: <20200916164429.244847-5-bruce.richardson@intel.com> (raw)
In-Reply-To: <20200916164429.244847-1-bruce.richardson@intel.com>

While meson has standardized the names and macros used for the libraries
and drivers in DPDK, the old macros used from the make system were not
previously announced as deprecated. Therefore to ensure compatibility of
apps being rebuilt, we add these defines back in when appropriate.

Fixes: 5b9656b157d3 ("lib: build with meson")
Fixes: 9314afb68a53 ("drivers: add infrastructure for meson build")
Cc: stable@dpdk.org

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 config/meson.build                   |   3 +-
 config/rte_compatibility_defines.h   | 129 +++++++++++++++++++++++++++
 config/rte_config.h                  |   1 +
 doc/guides/rel_notes/deprecation.rst |   9 ++
 4 files changed, 141 insertions(+), 1 deletion(-)
 create mode 100644 config/rte_compatibility_defines.h

diff --git a/config/meson.build b/config/meson.build
index 6996e5cbea..ef74cebaaa 100644
--- a/config/meson.build
+++ b/config/meson.build
@@ -245,7 +245,8 @@ dpdk_conf.set('RTE_COMPILE_TIME_CPUFLAGS', ','.join(compile_time_cpuflags))
 # set the install path for the drivers
 dpdk_conf.set_quoted('RTE_EAL_PMD_PATH', eal_pmd_path)
 
-install_headers('rte_config.h', subdir: get_option('include_subdir_arch'))
+install_headers(['rte_config.h', 'rte_compatibility_defines.h'],
+		subdir: get_option('include_subdir_arch'))
 
 # enable VFIO only if it is linux OS
 dpdk_conf.set('RTE_EAL_VFIO', is_linux)
diff --git a/config/rte_compatibility_defines.h b/config/rte_compatibility_defines.h
new file mode 100644
index 0000000000..47600052b6
--- /dev/null
+++ b/config/rte_compatibility_defines.h
@@ -0,0 +1,129 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(c) 2017 Intel Corporation
+ */
+
+#ifndef _RTE_CONFIG_H_
+#error "This file should only be included via rte_config.h"
+#endif
+
+/*
+ * NOTE: these defines are for compatibility only and will be removed in a
+ * future DPDK release.
+ */
+
+#ifdef RTE_LIBRTE_BITRATESTATS
+#define RTE_LIBRTE_BITRATE
+#endif
+
+#ifdef RTE_LIBRTE_LATENCYSTATS
+#define RTE_LIBRTE_LATENCY_STATS
+#endif
+
+#ifdef RTE_LIBRTE_DPAAX_COMMON
+#define RTE_LIBRTE_COMMON_DPAAX
+#endif
+
+#ifdef RTE_LIBRTE_VMBUS_BUS
+#define RTE_LIBRTE_VMBUS
+#endif
+
+#ifdef RTE_LIBRTE_BUCKET_MEMPOOL
+#define RTE_DRIVER_MEMPOOL_BUCKET
+#endif
+
+#ifdef RTE_LIBRTE_RING_MEMPOOL
+#define RTE_DRIVER_MEMPOOL_RING
+#endif
+
+#ifdef RTE_LIBRTE_STACK_MEMPOOL
+#define RTE_DRIVER_MEMPOOL_STACK
+#endif
+
+#ifdef RTE_LIBRTE_AF_PACKET_PMD
+#define RTE_LIBRTE_PMD_AF_PACKET
+#endif
+
+#ifdef RTE_LIBRTE_AF_XDP_PMD
+#define RTE_LIBRTE_PMD_AF_XDP
+#endif
+
+#ifdef RTE_LIBRTE_BOND_PMD
+#define RTE_LIBRTE_PMD_BOND
+#endif
+
+#ifdef RTE_LIBRTE_E1000_PMD
+#define RTE_LIBRTE_EM_PMD
+#endif
+
+#ifdef RTE_LIBRTE_E1000_PMD
+#define RTE_LIBRTE_IGB_PMD
+#endif
+
+#ifdef RTE_LIBRTE_FAILSAFE_PMD
+#define RTE_LIBRTE_PMD_FAILSAFE
+#endif
+
+#ifdef RTE_LIBRTE_KNI_PMD
+#define RTE_LIBRTE_PMD_KNI
+#endif
+
+#ifdef RTE_LIBRTE_LIQUIDIO_PMD
+#define RTE_LIBRTE_LIO_PMD
+#endif
+
+#ifdef RTE_LIBRTE_MEMIF_PMD
+#define RTE_LIBRTE_PMD_MEMIF
+#endif
+
+#ifdef RTE_LIBRTE_NULL_PMD
+#define RTE_LIBRTE_PMD_NULL
+#endif
+
+#ifdef RTE_LIBRTE_PCAP_PMD
+#define RTE_LIBRTE_PMD_PCAP
+#endif
+
+#ifdef RTE_LIBRTE_RING_PMD
+#define RTE_LIBRTE_PMD_RING
+#endif
+
+#ifdef RTE_LIBRTE_SFC_PMD
+#define RTE_LIBRTE_SFC_EFX_PMD
+#endif
+
+#ifdef RTE_LIBRTE_SOFTNIC_PMD
+#define RTE_LIBRTE_PMD_SOFTNIC
+#endif
+
+#ifdef RTE_LIBRTE_SZEDATA2_PMD
+#define RTE_LIBRTE_PMD_SZEDATA2
+#endif
+
+#ifdef RTE_LIBRTE_TAP_PMD
+#define RTE_LIBRTE_PMD_TAP
+#endif
+
+#ifdef RTE_LIBRTE_THUNDERX_PMD
+#define RTE_LIBRTE_THUNDERX_NICVF_PMD
+#endif
+
+#ifdef RTE_LIBRTE_VHOST_PMD
+#define RTE_LIBRTE_PMD_VHOST
+#endif
+
+#ifdef RTE_LIBRTE_PMD_ARMV8
+#define RTE_LIBRTE_PMD_ARMV8_CRYPTO
+#endif
+
+#ifdef RTE_LIBRTE_PMD_MVSAM
+#define RTE_LIBRTE_PMD_MVSAM_CRYPTO
+#endif
+
+#ifdef RTE_LIBRTE_PMD_OCTEONTX_COMPRESS
+#define RTE_LIBRTE_PMD_OCTEONTX_ZIPVF
+#endif
+
+#ifdef RTE_LIBRTE_PMD_OCTEONTX_EVENTDEV
+#define RTE_LIBRTE_PMD_OCTEONTX_SSOVF
+#endif
+
diff --git a/config/rte_config.h b/config/rte_config.h
index 0bae630fd9..cacc1837cf 100644
--- a/config/rte_config.h
+++ b/config/rte_config.h
@@ -13,6 +13,7 @@
 #define _RTE_CONFIG_H_
 
 #include <rte_build_config.h>
+#include <rte_compatibility_defines.h>
 
 /* legacy defines */
 #ifdef RTE_EXEC_ENV_LINUX
diff --git a/doc/guides/rel_notes/deprecation.rst b/doc/guides/rel_notes/deprecation.rst
index 5b5a52fa65..fe1b988bb8 100644
--- a/doc/guides/rel_notes/deprecation.rst
+++ b/doc/guides/rel_notes/deprecation.rst
@@ -19,6 +19,15 @@ Deprecation Notices
   are present in this release, but those ending in ``_PMD`` will be removed
   in a future release, and should not be used.
 
+* build: A number of macros, which defined what DPDK components were being
+  built, are deprecated due to them not conforming to the standard naming
+  scheme for the relevant library template or driver class template. These
+  deprecated macros can be found in the file
+  ``config/rte_compatibility_defines.h``, listed in the format ``#ifdef
+  <NEW_DEFINE> \ #define <OLD_DEFINE> \ #endif``. When updating code,
+  ``OLD_DEFINE`` should be replaced with the relevant ``NEW_DEFINE`` from
+  that file.
+
 * 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
-- 
2.25.1


  parent reply	other threads:[~2020-09-16 16:44 UTC|newest]

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 ` [dpdk-stable] [RFC PATCH 3/5] meson: fix compatibility with make build defines Bruce Richardson
2020-09-16 16:44 ` Bruce Richardson [this message]
     [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 publicly 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-5-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
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).