From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 581B21B1BB for ; Tue, 9 Jan 2018 18:29:41 +0100 (CET) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 09 Jan 2018 09:29:40 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.46,336,1511856000"; d="scan'208";a="191975552" Received: from bricha3-mobl3.ger.corp.intel.com ([10.237.221.77]) by orsmga005.jf.intel.com with SMTP; 09 Jan 2018 09:29:37 -0800 Received: by (sSMTP sendmail emulation); Tue, 09 Jan 2018 17:29:36 +0000 Date: Tue, 9 Jan 2018 17:29:36 +0000 From: Bruce Richardson To: Pavan Nikhilesh Cc: bluca@debian.org, harry.van.haaren@intel.com, jerin.jacob@caviumnetworks.com, dev@dpdk.org Message-ID: <20180109172936.GA6508@bricha3-MOBL3.ger.corp.intel.com> References: <20171231000203.4510-1-pbhagavatula@caviumnetworks.com> <20171231000203.4510-2-pbhagavatula@caviumnetworks.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20171231000203.4510-2-pbhagavatula@caviumnetworks.com> Organization: Intel Research and Development Ireland Ltd. User-Agent: Mutt/1.9.1 (2017-09-22) Subject: Re: [dpdk-dev] [PATCH 2/4] drivers/net: add drivers for Cavium NICs to meson build 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: , X-List-Received-Date: Tue, 09 Jan 2018 17:29:41 -0000 On Sun, Dec 31, 2017 at 05:32:01AM +0530, Pavan Nikhilesh wrote: > Add Cavium octeontx and thunder nicvf to meson build infrastructure. > > Signed-off-by: Pavan Nikhilesh > --- > drivers/net/meson.build | 3 ++- > drivers/net/octeontx/base/meson.build | 12 ++++++++++++ > drivers/net/octeontx/meson.build | 10 ++++++++++ > drivers/net/thunderx/Makefile | 2 +- > drivers/net/thunderx/base/meson.build | 17 +++++++++++++++++ > drivers/net/thunderx/meson.build | 9 +++++++++ > ...x_nicvf_version.map => rte_pmd_thunderx_version.map} | 0 > 7 files changed, 51 insertions(+), 2 deletions(-) > create mode 100644 drivers/net/octeontx/base/meson.build > create mode 100644 drivers/net/octeontx/meson.build > create mode 100644 drivers/net/thunderx/base/meson.build > create mode 100644 drivers/net/thunderx/meson.build > rename drivers/net/thunderx/{rte_pmd_thunderx_nicvf_version.map => rte_pmd_thunderx_version.map} (100%) > Some minor comments below. > diff --git a/drivers/net/meson.build b/drivers/net/meson.build > index 72e1d3578..b132d3558 100644 > --- a/drivers/net/meson.build > +++ b/drivers/net/meson.build > @@ -3,7 +3,8 @@ > > drivers = ['af_packet', 'bonding', > 'e1000', 'fm10k', 'i40e', 'ixgbe', > - 'null', 'pcap', 'ring'] > + 'null', 'pcap', 'ring', > + 'octeontx', 'thunderx'] > std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc > std_deps += ['bus_pci'] # very many PMDs depend on PCI, so make std > std_deps += ['bus_vdev'] # same with vdev bus > diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build > new file mode 100644 > index 000000000..637483d68 > --- /dev/null > +++ b/drivers/net/octeontx/base/meson.build > @@ -0,0 +1,12 @@ > +sources = [ > + 'octeontx_bgx.c', > + 'octeontx_pkivf.c', > + 'octeontx_pkovf.c' > +] > + > +base_lib = static_library('octeontx_base', sources, > + c_args: cflags, > + dependencies: static_rte_bus_pci, > + include_directories: mempool_octeontx_dir) > + > +base_objs = base_lib.extract_all_objects() > diff --git a/drivers/net/octeontx/meson.build b/drivers/net/octeontx/meson.build > new file mode 100644 > index 000000000..f263a4b51 > --- /dev/null > +++ b/drivers/net/octeontx/meson.build > @@ -0,0 +1,10 @@ > +subdir('base') > +objs = [base_objs] > + > +sources = files('octeontx_rxtx.c', > + 'octeontx_ethdev.c' > + ) > + > +deps += ['mempool_octeontx', 'eventdev'] > + > +includes += include_directories('base') > diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile > index e50e1ad8c..3e4501d34 100644 > --- a/drivers/net/thunderx/Makefile > +++ b/drivers/net/thunderx/Makefile > @@ -44,7 +44,7 @@ LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring > LDLIBS += -lrte_ethdev -lrte_net -lrte_kvargs > LDLIBS += -lrte_bus_pci > > -EXPORT_MAP := rte_pmd_thunderx_nicvf_version.map > +EXPORT_MAP := rte_pmd_thunderx_version.map > > LIBABIVER := 1 > > diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build > new file mode 100644 > index 000000000..867a6d661 > --- /dev/null > +++ b/drivers/net/thunderx/base/meson.build > @@ -0,0 +1,17 @@ > +sources = [ > + 'nicvf_bsvf.c', > + 'nicvf_hw.c', > + 'nicvf_mbox.c' > +] > + > +depends = ['ethdev'] > +static_obj = [] > +foreach d: depends > + static_obj += [get_variable('static_rte_' + d)] > +endforeach > + > +base_lib = static_library('nicvf_base', sources, > + c_args: cflags, > + dependencies: static_obj) > + Given there is only one dependency here, I think it's probably best just to do like you did with the octeontx base code, and put it explicitly in the dependencies line, rather than bothering with a loop. > +base_objs = base_lib.extract_all_objects() > diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build > new file mode 100644 > index 000000000..17852f732 > --- /dev/null > +++ b/drivers/net/thunderx/meson.build > @@ -0,0 +1,9 @@ > +subdir('base') > +objs = [base_objs] > + > +sources = files('nicvf_ethdev.c', > + 'nicvf_svf.c', > + 'nicvf_rxtx.c') > +cflags += '-Ofast' Is there a reason this is explicitly needed? The optimization flags for the DPDK build as a whole should be covered by the meson top-level flags, based on the build type. With this given here, changing the build type to "debug" or "debugoptimized" may not work as expected for the driver. > + > +includes += include_directories('base') > diff --git a/drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map b/drivers/net/thunderx/rte_pmd_thunderx_version.map > similarity index 100% > rename from drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map > rename to drivers/net/thunderx/rte_pmd_thunderx_version.map > -- > 2.15.1 >