From patchwork Wed Sep 16 16:44:27 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bruce Richardson X-Patchwork-Id: 77913 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 3EE8FA04B5; Wed, 16 Sep 2020 18:45:11 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E96A41D170; Wed, 16 Sep 2020 18:44:43 +0200 (CEST) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by dpdk.org (Postfix) with ESMTP id 477291D168; Wed, 16 Sep 2020 18:44:41 +0200 (CEST) IronPort-SDR: OXf/nwMJ+7aYakthd/8P52E7gQWNh+R4Qc8BEaP/Hee+hO0ZPnOOQvhIQ9hHB4Dh7eTmsE+Eex B4sNZOFdl5ig== X-IronPort-AV: E=McAfee;i="6000,8403,9746"; a="160441947" X-IronPort-AV: E=Sophos;i="5.76,433,1592895600"; d="scan'208";a="160441947" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 16 Sep 2020 09:44:41 -0700 IronPort-SDR: SOE//fAQudU/kI4hfkecuhkr8tbwCH+c7dnfMxQoE+5NWmRLC3/it/8Nulwil2+us5nUNmcmFD wUetAdI5P6HA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,433,1592895600"; d="scan'208";a="483381410" Received: from silpixa00399126.ir.intel.com ([10.237.222.27]) by orsmga005.jf.intel.com with ESMTP; 16 Sep 2020 09:44:39 -0700 From: Bruce Richardson To: david.marchand@redhat.com Cc: dev@dpdk.org, Bruce Richardson , stable@dpdk.org Date: Wed, 16 Sep 2020 17:44:27 +0100 Message-Id: <20200916164429.244847-4-bruce.richardson@intel.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200916164429.244847-1-bruce.richardson@intel.com> References: <20200916164429.244847-1-bruce.richardson@intel.com> MIME-Version: 1.0 Subject: [dpdk-dev] [RFC PATCH 3/5] meson: fix compatibility with make build defines X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 --- 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__PMD`` to ``RTE_LIBRTE_PMD_`` 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