From 7f615033d64f5bbb47bf6000ad209336e371020c Mon Sep 17 00:00:00 2001 From: Pavan Nikhilesh Date: Fri, 19 Jan 2018 23:45:19 +0530 Subject: [PATCH] drivers/net: build Cavium NIC PMDs with meson Add Cavium octeontx and thunder nicvf to meson build infrastructure. Signed-off-by: Pavan Nikhilesh Acked-by: Bruce Richardson --- drivers/net/meson.build | 3 ++- drivers/net/octeontx/base/meson.build | 21 +++++++++++++++++++ drivers/net/octeontx/meson.build | 13 ++++++++++++ drivers/net/thunderx/Makefile | 2 +- drivers/net/thunderx/base/meson.build | 15 +++++++++++++ drivers/net/thunderx/meson.build | 20 ++++++++++++++++++ ...rsion.map => rte_pmd_thunderx_version.map} | 0 7 files changed, 72 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%) diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 72e1d35788..f19a586cd4 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', 'octeontx', 'pcap', 'ring', + '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 0000000000..09f657abb2 --- /dev/null +++ b/drivers/net/octeontx/base/meson.build @@ -0,0 +1,21 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2017 Cavium, Inc + +sources = [ + 'octeontx_pkovf.c', + 'octeontx_pkivf.c', + 'octeontx_bgx.c' +] + +depends = ['ethdev', 'mempool_octeontx'] +static_objs = [] +foreach d: depends + static_objs += [get_variable('static_rte_' + d)] +endforeach + +base_lib = static_library('octeontx_base', sources, + c_args: cflags, + dependencies: static_objs, +) + +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 0000000000..ef789eaa90 --- /dev/null +++ b/drivers/net/octeontx/meson.build @@ -0,0 +1,13 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2017 Cavium, Inc + +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 cc008bd3a4..e6bf497522 100644 --- a/drivers/net/thunderx/Makefile +++ b/drivers/net/thunderx/Makefile @@ -16,7 +16,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 0000000000..c9d5a8f4e4 --- /dev/null +++ b/drivers/net/thunderx/base/meson.build @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2017 Cavium, Inc + +sources = [ + 'nicvf_hw.c', + 'nicvf_mbox.c', + 'nicvf_bsvf.c' +] + +base_lib = static_library('nicvf_base', sources, + c_args: cflags, + dependencies: static_rte_ethdev +) + +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 0000000000..69819a97fa --- /dev/null +++ b/drivers/net/thunderx/meson.build @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2017 Cavium, Inc + +subdir('base') +objs = [base_objs] + +sources = files('nicvf_rxtx.c', + 'nicvf_ethdev.c', + 'nicvf_svf.c' +) + +if cc.has_argument('-fno-prefetch-loop-arrays') + cflags += '-fno-prefetch-loop-arrays' +endif + +if cc.has_argument('-Wno-maybe-uninitialized') + cflags += '-Wno-maybe-uninitialized' +endif + +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.20.1