From patchwork Fri Sep 4 01:05:35 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Chautru, Nicolas" X-Patchwork-Id: 76482 X-Patchwork-Delegate: gakhil@marvell.com 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 AC34FA04C5; Fri, 4 Sep 2020 03:09:39 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 664131C0C0; Fri, 4 Sep 2020 03:09:33 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id A4343DE0 for ; Fri, 4 Sep 2020 03:09:31 +0200 (CEST) IronPort-SDR: wf4UQxm966Rrk1Ou2RvEaLEqGJegTQTR7Hi0Ykif3/NTcYfhNnnlKApk9SrNnsHql5xVEoSyiF teay34RwCq4g== X-IronPort-AV: E=McAfee;i="6000,8403,9733"; a="155075610" X-IronPort-AV: E=Sophos;i="5.76,387,1592895600"; d="scan'208";a="155075610" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 03 Sep 2020 18:09:29 -0700 IronPort-SDR: JaQ37G3mHjks/2/T1+eW+lW91oYo6zmldrT1pU3iQ5kHsgak68MbEIRmP0JCtbOykI5UdvujtS udXjCfhqKTUA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.76,387,1592895600"; d="scan'208";a="302418813" Received: from skx-5gnr-sc12-4.sc.intel.com ([172.25.69.210]) by orsmga006.jf.intel.com with ESMTP; 03 Sep 2020 18:09:29 -0700 From: Nicolas Chautru To: dev@dpdk.org, akhil.goyal@nxp.com Cc: bruce.richardson@intel.com, ciara.power@intel.com, Nicolas Chautru Date: Thu, 3 Sep 2020 18:05:35 -0700 Message-Id: <1599181535-37826-2-git-send-email-nicolas.chautru@intel.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1599181535-37826-1-git-send-email-nicolas.chautru@intel.com> References: <1599181535-37826-1-git-send-email-nicolas.chautru@intel.com> Subject: [dpdk-dev] [PATCH v1] baseband/turbo_sw: update meson for more dynamic compilation 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 meson for the turbo_sw PMD is updated to prevent the requirement for any device specific toplevel flags to be passed down (unlike what used to be the case with make). The linking to the optional libraries is purely auto detected at build time and flags are then set appropriately. Signed-off-by: Nicolas Chautru Acked-by: Bruce Richardson --- drivers/baseband/turbo_sw/meson.build | 43 ++++++++++++++++++----------------- 1 file changed, 22 insertions(+), 21 deletions(-) diff --git a/drivers/baseband/turbo_sw/meson.build b/drivers/baseband/turbo_sw/meson.build index f5a1ab3..55ef4e4 100644 --- a/drivers/baseband/turbo_sw/meson.build +++ b/drivers/baseband/turbo_sw/meson.build @@ -3,28 +3,28 @@ path = get_option('flexran_sdk') -if dpdk_conf.has('RTE_BBDEV_SDK_AVX2') - lib = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false) - if not lib.found() - build = false - reason = 'missing dependency, "libturbo"' - else - ext_deps += cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: true) - ext_deps += cc.find_library('libcrc', dirs: [path + '/lib_crc'], required: true) - ext_deps += cc.find_library('librate_matching', dirs: [path + '/lib_rate_matching'], required: true) - ext_deps += cc.find_library('libcommon', dirs: [path + '/lib_common'], required: true) - ext_deps += cc.find_library('libstdc++', required: true) - ext_deps += cc.find_library('libirc', required: true) - ext_deps += cc.find_library('libimf', required: true) - ext_deps += cc.find_library('libipps', required: true) - ext_deps += cc.find_library('libsvml', required: true) - includes += include_directories(path + '/lib_turbo') - includes += include_directories(path + '/lib_crc') - includes += include_directories(path + '/lib_rate_matching') - includes += include_directories(path + '/lib_common') - endif +# check for FlexRAN SDK libraries for AVX2 +lib4g = cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: false) +if lib4g.found() + ext_deps += cc.find_library('libturbo', dirs: [path + '/lib_turbo'], required: true) + ext_deps += cc.find_library('libcrc', dirs: [path + '/lib_crc'], required: true) + ext_deps += cc.find_library('librate_matching', dirs: [path + '/lib_rate_matching'], required: true) + ext_deps += cc.find_library('libcommon', dirs: [path + '/lib_common'], required: true) + ext_deps += cc.find_library('libstdc++', required: true) + ext_deps += cc.find_library('libirc', required: true) + ext_deps += cc.find_library('libimf', required: true) + ext_deps += cc.find_library('libipps', required: true) + ext_deps += cc.find_library('libsvml', required: true) + includes += include_directories(path + '/lib_turbo') + includes += include_directories(path + '/lib_crc') + includes += include_directories(path + '/lib_rate_matching') + includes += include_directories(path + '/lib_common') + cflags += ['-DRTE_BBDEV_SDK_AVX2'] endif -if dpdk_conf.has('RTE_BBDEV_SDK_AVX512') + +# check for FlexRAN SDK libraries for AVX512 +lib5g = cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: false) +if lib5g.found() ext_deps += cc.find_library('libldpc_encoder_5gnr', dirs: [path + '/lib_ldpc_encoder_5gnr'], required: true) ext_deps += cc.find_library('libldpc_decoder_5gnr', dirs: [path + '/lib_ldpc_decoder_5gnr'], required: true) ext_deps += cc.find_library('libLDPC_ratematch_5gnr', dirs: [path + '/lib_LDPC_ratematch_5gnr'], required: true) @@ -33,6 +33,7 @@ if dpdk_conf.has('RTE_BBDEV_SDK_AVX512') includes += include_directories(path + '/lib_ldpc_decoder_5gnr') includes += include_directories(path + '/lib_LDPC_ratematch_5gnr') includes += include_directories(path + '/lib_rate_dematching_5gnr') + cflags += ['-DRTE_BBDEV_SDK_AVX512'] endif deps += ['bbdev', 'bus_vdev', 'ring']