A few PMDs have a mismatch between the library filenames and the directory and maps names, so adding support for Meson is awkward or, if it already exists, the shared/static library filenames are different. Rename the map files of the following PMDs to match the libraries: - net/liquidio - net/thunderx - net/sfc - net/vmxnet3 - event/opdl - event/octeonx - compress/octeonx The octeonx event PMD is the most troubling of all, as all other event PMDs have an _event suffix. So I had to rework a bit the overaching Meson file for the drivers/event directory to accomodate it, to avoid having to change the library filename which would break user apps. Finally, Meson support is added (and build-tested only, but it looks fine) for: - net/tap - net/vdev_netvsc - net/avf - net/qede - net/vmxnet3 - crypto/scheduler - baseband/null - event/opdl Luca Boccassi (15): build: add Meson file for TAP PMD build: add Meson file for vdev_netvsc PMD build: add Meson file for crypto scheduler PMD build: add Meson files for avf PMD build: add Meson files for qede PMD build: add Meson file for bbdev_null PMD net/liquidio: rename version map after library file name event/opdl: rename map file to match library name build: add Meson file for opdl_event PMD net/thunderx: rename version map after library file name net/sfc: rename version map after library file name event/octeontx: rename version map after library file name compress/octeontx: rename version map after library file name net/vmxnet3: rename version map after library file name build: add Meson file for vmxnet3_uio PMD config/rte_config.h | 3 + drivers/baseband/meson.build | 7 +++ drivers/baseband/null/meson.build | 7 +++ drivers/compress/octeontx/Makefile | 2 +- drivers/compress/octeontx/meson.build | 2 +- ...n.map => rte_pmd_octeontx_zip_version.map} | 0 drivers/crypto/meson.build | 2 +- drivers/crypto/scheduler/meson.build | 19 +++++++ drivers/event/dpaa/meson.build | 1 + drivers/event/dpaa2/meson.build | 1 + drivers/event/meson.build | 4 +- drivers/event/octeontx/Makefile | 2 +- drivers/event/octeontx/meson.build | 1 + ...map => rte_pmd_octeontx_ssovf_version.map} | 0 drivers/event/opdl/Makefile | 2 +- drivers/event/opdl/meson.build | 12 ++++ ...ion.map => rte_pmd_opdl_event_version.map} | 0 drivers/event/skeleton/meson.build | 1 + drivers/event/sw/meson.build | 1 + drivers/meson.build | 1 + drivers/net/avf/base/meson.build | 20 +++++++ drivers/net/avf/meson.build | 15 +++++ drivers/net/liquidio/Makefile | 2 +- drivers/net/liquidio/meson.build | 1 + ...io_version.map => rte_pmd_lio_version.map} | 0 drivers/net/meson.build | 9 ++- drivers/net/qede/base/meson.build | 57 +++++++++++++++++++ drivers/net/qede/meson.build | 14 +++++ drivers/net/sfc/Makefile | 2 +- drivers/net/sfc/meson.build | 2 + ...ersion.map => rte_pmd_sfc_efx_version.map} | 0 drivers/net/tap/meson.build | 41 +++++++++++++ drivers/net/thunderx/Makefile | 2 +- drivers/net/thunderx/meson.build | 1 + ...map => rte_pmd_thunderx_nicvf_version.map} | 0 drivers/net/vdev_netvsc/meson.build | 19 +++++++ drivers/net/vmxnet3/Makefile | 2 +- drivers/net/vmxnet3/meson.build | 19 +++++++ ...on.map => rte_pmd_vmxnet3_uio_version.map} | 0 39 files changed, 261 insertions(+), 13 deletions(-) create mode 100644 drivers/baseband/meson.build create mode 100644 drivers/baseband/null/meson.build rename drivers/compress/octeontx/{rte_pmd_octeontx_compress_version.map => rte_pmd_octeontx_zip_version.map} (100%) create mode 100644 drivers/crypto/scheduler/meson.build rename drivers/event/octeontx/{rte_pmd_octeontx_event_version.map => rte_pmd_octeontx_ssovf_version.map} (100%) create mode 100644 drivers/event/opdl/meson.build rename drivers/event/opdl/{rte_pmd_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} (100%) create mode 100644 drivers/net/avf/base/meson.build create mode 100644 drivers/net/avf/meson.build rename drivers/net/liquidio/{rte_pmd_liquidio_version.map => rte_pmd_lio_version.map} (100%) create mode 100644 drivers/net/qede/base/meson.build create mode 100644 drivers/net/qede/meson.build rename drivers/net/sfc/{rte_pmd_sfc_version.map => rte_pmd_sfc_efx_version.map} (100%) create mode 100644 drivers/net/tap/meson.build rename drivers/net/thunderx/{rte_pmd_thunderx_version.map => rte_pmd_thunderx_nicvf_version.map} (100%) create mode 100644 drivers/net/vdev_netvsc/meson.build create mode 100644 drivers/net/vmxnet3/meson.build rename drivers/net/vmxnet3/{rte_pmd_vmxnet3_version.map => rte_pmd_vmxnet3_uio_version.map} (100%) -- 2.18.0
Use same autoconf generation mechanism as the MLX4/5 PMDs Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/tap/meson.build | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 drivers/net/tap/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index c7a2d0e7db..b7b4870eb8 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -27,6 +27,7 @@ drivers = ['af_packet', 'sfc', 'softnic', 'szedata2', + 'tap', 'thunderx', 'vhost', 'virtio'] diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build new file mode 100644 index 0000000000..ef3c6e1fee --- /dev/null +++ b/drivers/net/tap/meson.build @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'rte_eth_tap.c', + 'tap_bpf_api.c', + 'tap_flow.c', + 'tap_intr.c', + 'tap_netlink.c', + 'tap_tcmsgs.c', +) + +deps = ['bus_vdev', 'gso', 'hash'] + +cflags += '-DTAP_MAX_QUEUES=16' + +# To maintain the compatibility with the make build system +# tap_autoconf.h file is still generated. +# input array for meson symbol search: +# [ "MACRO to define if found", "header for the search", +# "enum/define", "symbol to search" ] +# +args = [ + [ 'HAVE_TC_FLOWER', 'linux/pkt_cls.h', + 'enum', 'TCA_FLOWER_UNSPEC' ], + [ 'HAVE_TC_VLAN_ID', 'linux/pkt_cls.h', + 'enum', 'TCA_FLOWER_KEY_VLAN_PRIO' ], + [ 'HAVE_TC_BPF', 'linux/pkt_cls.h', + 'enum', 'TCA_BPF_UNSPEC' ], + [ 'HAVE_TC_BPF_FD', 'linux/pkt_cls.h', + 'enum', 'TCA_BPF_FD' ], + [ 'HAVE_TC_ACT_BPF', 'linux/tc_act/tc_bpf.h', + 'enum', 'TCA_ACT_BPF_UNSPEC' ], + [ 'HAVE_TC_ACT_BPF_FD', 'linux/tc_act/tc_bpf.h', + 'enum', 'TCA_ACT_BPF_FD' ], +] +config = configuration_data() +foreach arg:args + config.set(arg[0], cc.has_header_symbol(arg[1], arg[3])) +endforeach +configure_file(output : 'tap_autoconf.h', configuration : config) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/vdev_netvsc/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 drivers/net/vdev_netvsc/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index b7b4870eb8..68ac42d67c 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -29,6 +29,7 @@ drivers = ['af_packet', 'szedata2', 'tap', 'thunderx', + 'vdev_netvsc', 'vhost', 'virtio'] std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc diff --git a/drivers/net/vdev_netvsc/meson.build b/drivers/net/vdev_netvsc/meson.build new file mode 100644 index 0000000000..cc956e7b27 --- /dev/null +++ b/drivers/net/vdev_netvsc/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files('vdev_netvsc.c') + +allow_experimental_apis = true + +cflags_options = [ + '-Wall', + '-Wextra', + '-D_BSD_SOURCE', + '-D_DEFAULT_SOURCE', + '-D_XOPEN_SOURCE=600' +] +foreach option:cflags_options + if cc.has_argument(option) + cflags += option + endif +endforeach -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/crypto/meson.build | 2 +- drivers/crypto/scheduler/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 drivers/crypto/scheduler/meson.build diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build index d64ca418bc..6ed853b7ab 100644 --- a/drivers/crypto/meson.build +++ b/drivers/crypto/meson.build @@ -2,7 +2,7 @@ # Copyright(c) 2017 Intel Corporation drivers = ['ccp', 'dpaa_sec', 'dpaa2_sec', 'mvsam', - 'null', 'openssl', 'qat', 'virtio'] + 'null', 'openssl', 'qat', 'scheduler', 'virtio'] std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' diff --git a/drivers/crypto/scheduler/meson.build b/drivers/crypto/scheduler/meson.build new file mode 100644 index 0000000000..c5ba2d6804 --- /dev/null +++ b/drivers/crypto/scheduler/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bus_vdev', 'reorder'] +name = 'crypto_scheduler' +sources = files( + 'rte_cryptodev_scheduler.c', + 'scheduler_failover.c', + 'scheduler_multicore.c', + 'scheduler_pkt_size_distr.c', + 'scheduler_pmd.c', + 'scheduler_pmd_ops.c', + 'scheduler_roundrobin.c', +) + +headers = files( + 'rte_cryptodev_scheduler.h', + 'rte_cryptodev_scheduler_operations.h', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++ drivers/net/avf/meson.build | 15 +++++++++++++++ drivers/net/meson.build | 1 + 3 files changed, 36 insertions(+) create mode 100644 drivers/net/avf/base/meson.build create mode 100644 drivers/net/avf/meson.build diff --git a/drivers/net/avf/base/meson.build b/drivers/net/avf/base/meson.build new file mode 100644 index 0000000000..90fd6b445f --- /dev/null +++ b/drivers/net/avf/base/meson.build @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'avf_adminq.c', + 'avf_common.c', +] + +error_cflags = ['-Wno-pointer-to-int-cast'] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('avf_base', sources, + dependencies: static_rte_eal, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/avf/meson.build b/drivers/net/avf/meson.build new file mode 100644 index 0000000000..d341f029b2 --- /dev/null +++ b/drivers/net/avf/meson.build @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +subdir('base') +objs = [base_objs] + +sources = files( + 'avf_ethdev.c', + 'avf_rxtx.c', + 'avf_rxtx_vec_sse.c', + 'avf_vchnl.c', +) +if arch_subdir == 'x86' + sources += files('avf_rxtx_vec_sse.c') +endif diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 68ac42d67c..28efeda0b6 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -3,6 +3,7 @@ drivers = ['af_packet', 'ark', + 'avf', 'avp', 'axgbe', 'bonding', 'bnx2x', -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- config/rte_config.h | 3 ++ drivers/net/meson.build | 2 +- drivers/net/qede/base/meson.build | 57 +++++++++++++++++++++++++++++++ drivers/net/qede/meson.build | 14 ++++++++ 4 files changed, 75 insertions(+), 1 deletion(-) create mode 100644 drivers/net/qede/base/meson.build create mode 100644 drivers/net/qede/meson.build diff --git a/config/rte_config.h b/config/rte_config.h index 46775a8419..ee84f04977 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -116,4 +116,7 @@ #define RTE_PMD_RING_MAX_RX_RINGS 16 #define RTE_PMD_RING_MAX_TX_RINGS 16 +/* QEDE PMD defines */ +#define RTE_LIBRTE_QEDE_FW "" + #endif /* _RTE_CONFIG_H_ */ diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 28efeda0b6..74f4109161 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -24,7 +24,7 @@ drivers = ['af_packet', 'mvpp2', 'netvsc', 'nfp', - 'null', 'octeontx', 'pcap', 'ring', + 'null', 'octeontx', 'pcap', 'qede', 'ring', 'sfc', 'softnic', 'szedata2', diff --git a/drivers/net/qede/base/meson.build b/drivers/net/qede/base/meson.build new file mode 100644 index 0000000000..59b41c895d --- /dev/null +++ b/drivers/net/qede/base/meson.build @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'bcm_osal.c', + 'ecore_cxt.c', + 'ecore_dcbx.c', + 'ecore_dev.c', + 'ecore_hw.c', + 'ecore_init_fw_funcs.c', + 'ecore_init_ops.c', + 'ecore_int.c', + 'ecore_l2.c', + 'ecore_mcp.c', + 'ecore_sp_commands.c', + 'ecore_spq.c', + 'ecore_sriov.c', + 'ecore_vf.c', +] + + +error_cflags = [ + '-Wno-unused-parameter', + '-Wno-sign-compare', + '-Wno-missing-prototypes', + '-Wno-cast-qual', + '-Wno-unused-function', + '-Wno-unused-variable', + '-Wno-strict-aliasing', + '-Wno-missing-prototypes', + '-Wno-unused-value', + '-Wno-format-nonliteral', + '-Wno-shift-negative-value', + '-Wno-unused-but-set-variable', + '-Wno-missing-declarations', + '-Wno-maybe-uninitialized', + '-Wno-strict-prototypes', + '-Wno-shift-negative-value', + '-Wno-implicit-fallthrough', + '-Wno-format-extra-args', + '-Wno-visibility', + '-Wno-empty-body', + '-Wno-invalid-source-encoding', + '-Wno-sometimes-uninitialized', + '-Wno-pointer-bool-conversion', +] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('qede_base', sources, + dependencies: static_rte_net, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build new file mode 100644 index 0000000000..167c03bdf2 --- /dev/null +++ b/drivers/net/qede/meson.build @@ -0,0 +1,14 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +subdir('base') +objs = [base_objs] + +sources = files( + 'qede_ethdev.c', + 'qede_fdir.c', + 'qede_main.c', + 'qede_rxtx.c', +) + +#deps += ['ethdev'] -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/baseband/meson.build | 7 +++++++ drivers/baseband/null/meson.build | 7 +++++++ drivers/meson.build | 1 + 3 files changed, 15 insertions(+) create mode 100644 drivers/baseband/meson.build create mode 100644 drivers/baseband/null/meson.build diff --git a/drivers/baseband/meson.build b/drivers/baseband/meson.build new file mode 100644 index 0000000000..52489df354 --- /dev/null +++ b/drivers/baseband/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +drivers = ['null'] + +config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' +driver_name_fmt = 'rte_pmd_@0@' diff --git a/drivers/baseband/null/meson.build b/drivers/baseband/null/meson.build new file mode 100644 index 0000000000..64c29d8600 --- /dev/null +++ b/drivers/baseband/null/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bbdev', 'bus_vdev', 'ring'] +name = 'bbdev_null' +allow_experimental_apis = true +sources = files('bbdev_null.c') diff --git a/drivers/meson.build b/drivers/meson.build index f94e2fe672..14e335ec1d 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -9,6 +9,7 @@ driver_classes = ['common', 'crypto', # depends on common, bus and mempool (net in future). 'compress', # depends on common, bus, mempool. 'event', # depends on common, bus, mempool and net. + 'baseband', # depends on common and bus. 'raw'] # depends on common, bus, mempool, net and event. default_cflags = machine_args -- 2.18.0
The library is called librte_pmd_lio, so rename the map file and set the name in the meson file so that the built library names with meson and legacy makefiles are the same Fixes: bad475c03fee ("net/liquidio: add to meson build") Cc: stable@dpdk.org Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/liquidio/Makefile | 2 +- drivers/net/liquidio/meson.build | 1 + .../{rte_pmd_liquidio_version.map => rte_pmd_lio_version.map} | 0 3 files changed, 2 insertions(+), 1 deletion(-) rename drivers/net/liquidio/{rte_pmd_liquidio_version.map => rte_pmd_lio_version.map} (100%) diff --git a/drivers/net/liquidio/Makefile b/drivers/net/liquidio/Makefile index f1092851a9..fc5f18ad63 100644 --- a/drivers/net/liquidio/Makefile +++ b/drivers/net/liquidio/Makefile @@ -15,7 +15,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_liquidio_version.map +EXPORT_MAP := rte_pmd_lio_version.map LIBABIVER := 1 diff --git a/drivers/net/liquidio/meson.build b/drivers/net/liquidio/meson.build index 9ae48e2139..83d002f557 100644 --- a/drivers/net/liquidio/meson.build +++ b/drivers/net/liquidio/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Intel Corporation +name = 'lio' sources = files('base/lio_23xx_vf.c', 'base/lio_mbox.c', 'lio_ethdev.c', diff --git a/drivers/net/liquidio/rte_pmd_liquidio_version.map b/drivers/net/liquidio/rte_pmd_lio_version.map similarity index 100% rename from drivers/net/liquidio/rte_pmd_liquidio_version.map rename to drivers/net/liquidio/rte_pmd_lio_version.map -- 2.18.0
So that it can be used from Meson as well Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/opdl/Makefile | 2 +- ...md_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename drivers/event/opdl/{rte_pmd_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} (100%) diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile index cea8118d36..bf50a60a0b 100644 --- a/drivers/event/opdl/Makefile +++ b/drivers/event/opdl/Makefile @@ -24,7 +24,7 @@ LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool LIBABIVER := 1 # versioning export map -EXPORT_MAP := rte_pmd_evdev_opdl_version.map +EXPORT_MAP := rte_pmd_opdl_event_version.map # library source files SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c diff --git a/drivers/event/opdl/rte_pmd_evdev_opdl_version.map b/drivers/event/opdl/rte_pmd_opdl_event_version.map similarity index 100% rename from drivers/event/opdl/rte_pmd_evdev_opdl_version.map rename to drivers/event/opdl/rte_pmd_opdl_event_version.map -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/meson.build | 2 +- drivers/event/opdl/meson.build | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 drivers/event/opdl/meson.build diff --git a/drivers/event/meson.build b/drivers/event/meson.build index e951199358..ed56d20062 100644 --- a/drivers/event/meson.build +++ b/drivers/event/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -drivers = ['dpaa', 'dpaa2', 'octeontx', 'skeleton', 'sw'] +drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw'] std_deps = ['eventdev', 'kvargs'] config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD' driver_name_fmt = 'rte_pmd_@0@_event' diff --git a/drivers/event/opdl/meson.build b/drivers/event/opdl/meson.build new file mode 100644 index 0000000000..cc6029c6f0 --- /dev/null +++ b/drivers/event/opdl/meson.build @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'opdl_evdev.c', + 'opdl_evdev_init.c', + 'opdl_evdev_xstats.c', + 'opdl_ring.c', + 'opdl_test.c', +) +deps += ['bus_vdev'] -- 2.18.0
The library is called librte_pmd_thunderx_nicvf, so rename the map file and set the name in the meson file so that the built library names with meson and legacy makefiles are the same Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson") Cc: stable@dpdk.org Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/thunderx/Makefile | 2 +- drivers/net/thunderx/meson.build | 1 + ..._thunderx_version.map => rte_pmd_thunderx_nicvf_version.map} | 0 3 files changed, 2 insertions(+), 1 deletion(-) rename drivers/net/thunderx/{rte_pmd_thunderx_version.map => rte_pmd_thunderx_nicvf_version.map} (100%) diff --git a/drivers/net/thunderx/Makefile b/drivers/net/thunderx/Makefile index e6bf497522..cc008bd3a4 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_version.map +EXPORT_MAP := rte_pmd_thunderx_nicvf_version.map LIBABIVER := 1 diff --git a/drivers/net/thunderx/meson.build b/drivers/net/thunderx/meson.build index 69819a97fa..0c1207455e 100644 --- a/drivers/net/thunderx/meson.build +++ b/drivers/net/thunderx/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Cavium, Inc +name = 'thunderx_nicvf' subdir('base') objs = [base_objs] diff --git a/drivers/net/thunderx/rte_pmd_thunderx_version.map b/drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map similarity index 100% rename from drivers/net/thunderx/rte_pmd_thunderx_version.map rename to drivers/net/thunderx/rte_pmd_thunderx_nicvf_version.map -- 2.18.0
The library is called librte_pmd_sfc_efx, so rename the map file and set the name in the meson file so that the built library names with meson and legacy makefiles are the same Fixes: bfa8d5990cd6 ("net/sfc: support meson build") Cc: stable@dpdk.org Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/sfc/Makefile | 2 +- drivers/net/sfc/meson.build | 2 ++ .../{rte_pmd_sfc_version.map => rte_pmd_sfc_efx_version.map} | 0 3 files changed, 3 insertions(+), 1 deletion(-) rename drivers/net/sfc/{rte_pmd_sfc_version.map => rte_pmd_sfc_efx_version.map} (100%) diff --git a/drivers/net/sfc/Makefile b/drivers/net/sfc/Makefile index 3bb41a0001..2825649599 100644 --- a/drivers/net/sfc/Makefile +++ b/drivers/net/sfc/Makefile @@ -60,7 +60,7 @@ BASE_DRIVER_OBJS=$(sort $(patsubst %.c,%.o,$(notdir $(wildcard $(SRCDIR)/base/*. $(foreach obj, $(BASE_DRIVER_OBJS), \ $(eval CFLAGS_$(obj)+=$(CFLAGS_BASE_DRIVER))) -EXPORT_MAP := rte_pmd_sfc_version.map +EXPORT_MAP := rte_pmd_sfc_efx_version.map LIBABIVER := 1 diff --git a/drivers/net/sfc/meson.build b/drivers/net/sfc/meson.build index 2d34e869d8..d6572b82c0 100644 --- a/drivers/net/sfc/meson.build +++ b/drivers/net/sfc/meson.build @@ -6,6 +6,8 @@ # This software was jointly developed between OKTET Labs (under contract # for Solarflare) and Solarflare Communications, Inc. +name = 'sfc_efx' + if arch_subdir != 'x86' or cc.sizeof('void *') == 4 build = false endif diff --git a/drivers/net/sfc/rte_pmd_sfc_version.map b/drivers/net/sfc/rte_pmd_sfc_efx_version.map similarity index 100% rename from drivers/net/sfc/rte_pmd_sfc_version.map rename to drivers/net/sfc/rte_pmd_sfc_efx_version.map -- 2.18.0
The library is called librte_pmd_octeonx_ssovf, so rename the map file and set the name in the meson file so that the built library names with meson and legacy makefiles are the same. Also refactor how the event PMDs library names are built in Meson to allow for this discrepancy in the octeonx driver (all other PMDs are called FOO_event, while this is called octeonx_ssovf) Fixes: bd77f2d64c44 ("event/octeontx: build with meson") Cc: stable@dpdk.org Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/dpaa/meson.build | 1 + drivers/event/dpaa2/meson.build | 1 + drivers/event/meson.build | 2 +- drivers/event/octeontx/Makefile | 2 +- drivers/event/octeontx/meson.build | 1 + ...ntx_event_version.map => rte_pmd_octeontx_ssovf_version.map} | 0 drivers/event/opdl/meson.build | 1 + drivers/event/skeleton/meson.build | 1 + drivers/event/sw/meson.build | 1 + 9 files changed, 8 insertions(+), 2 deletions(-) rename drivers/event/octeontx/{rte_pmd_octeontx_event_version.map => rte_pmd_octeontx_ssovf_version.map} (100%) diff --git a/drivers/event/dpaa/meson.build b/drivers/event/dpaa/meson.build index 0914f858ef..da65aee179 100644 --- a/drivers/event/dpaa/meson.build +++ b/drivers/event/dpaa/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018 NXP +name = 'dpaa_event' if host_machine.system() != 'linux' build = false endif diff --git a/drivers/event/dpaa2/meson.build b/drivers/event/dpaa2/meson.build index de7a461553..dd38643811 100644 --- a/drivers/event/dpaa2/meson.build +++ b/drivers/event/dpaa2/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright 2018 NXP +name = 'dpaa2_event' if host_machine.system() != 'linux' build = false endif diff --git a/drivers/event/meson.build b/drivers/event/meson.build index ed56d20062..245a98ec93 100644 --- a/drivers/event/meson.build +++ b/drivers/event/meson.build @@ -4,4 +4,4 @@ drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw'] std_deps = ['eventdev', 'kvargs'] config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD' -driver_name_fmt = 'rte_pmd_@0@_event' +driver_name_fmt = 'rte_pmd_@0@' diff --git a/drivers/event/octeontx/Makefile b/drivers/event/octeontx/Makefile index 90ad2217f3..6aeaa2bb9d 100644 --- a/drivers/event/octeontx/Makefile +++ b/drivers/event/octeontx/Makefile @@ -19,7 +19,7 @@ LDLIBS += -lrte_eal -lrte_eventdev -lrte_common_octeontx -lrte_pmd_octeontx LDLIBS += -lrte_bus_pci -lrte_mempool -lrte_mbuf -lrte_kvargs LDLIBS += -lrte_bus_vdev -EXPORT_MAP := rte_pmd_octeontx_event_version.map +EXPORT_MAP := rte_pmd_octeontx_ssovf_version.map LIBABIVER := 1 diff --git a/drivers/event/octeontx/meson.build b/drivers/event/octeontx/meson.build index 0418553308..48b3ffea52 100644 --- a/drivers/event/octeontx/meson.build +++ b/drivers/event/octeontx/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Cavium, Inc +name = 'octeontx_ssovf' sources = files('ssovf_worker.c', 'ssovf_evdev.c', 'ssovf_evdev_selftest.c', diff --git a/drivers/event/octeontx/rte_pmd_octeontx_event_version.map b/drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map similarity index 100% rename from drivers/event/octeontx/rte_pmd_octeontx_event_version.map rename to drivers/event/octeontx/rte_pmd_octeontx_ssovf_version.map diff --git a/drivers/event/opdl/meson.build b/drivers/event/opdl/meson.build index cc6029c6f0..6083a7e78a 100644 --- a/drivers/event/opdl/meson.build +++ b/drivers/event/opdl/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Luca Boccassi <bluca@debian.org> +name = 'opdl_event' sources = files( 'opdl_evdev.c', 'opdl_evdev_init.c', diff --git a/drivers/event/skeleton/meson.build b/drivers/event/skeleton/meson.build index acfe156532..0995cf50cb 100644 --- a/drivers/event/skeleton/meson.build +++ b/drivers/event/skeleton/meson.build @@ -1,5 +1,6 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation +name = 'skeleton_event' sources = files('skeleton_eventdev.c') deps += ['bus_pci', 'bus_vdev'] diff --git a/drivers/event/sw/meson.build b/drivers/event/sw/meson.build index 30d2216476..9dd55743aa 100644 --- a/drivers/event/sw/meson.build +++ b/drivers/event/sw/meson.build @@ -1,6 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation +name = 'sw_event' allow_experimental_apis = true sources = files('sw_evdev_scheduler.c', 'sw_evdev_selftest.c', -- 2.18.0
The library is called librte_pmd_octeonx_compress, so rename the map file and set the name in the meson file so that the built library names with meson and legacy makefiles are the same Fixes: 43e610bb8565 ("compress/octeontx: introduce octeontx zip PMD") Cc: stable@dpdk.org Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/compress/octeontx/Makefile | 2 +- drivers/compress/octeontx/meson.build | 2 +- ...tx_compress_version.map => rte_pmd_octeontx_zip_version.map} | 0 3 files changed, 2 insertions(+), 2 deletions(-) rename drivers/compress/octeontx/{rte_pmd_octeontx_compress_version.map => rte_pmd_octeontx_zip_version.map} (100%) diff --git a/drivers/compress/octeontx/Makefile b/drivers/compress/octeontx/Makefile index f34424c87f..0499004402 100644 --- a/drivers/compress/octeontx/Makefile +++ b/drivers/compress/octeontx/Makefile @@ -25,6 +25,6 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip_pmd.c SRCS-$(CONFIG_RTE_LIBRTE_PMD_OCTEONTX_ZIPVF) += otx_zip.c # versioning export map -EXPORT_MAP := rte_pmd_octeontx_compress_version.map +EXPORT_MAP := rte_pmd_octeontx_zip_version.map include $(RTE_SDK)/mk/rte.lib.mk diff --git a/drivers/compress/octeontx/meson.build b/drivers/compress/octeontx/meson.build index 7cd202d07a..520d19684b 100644 --- a/drivers/compress/octeontx/meson.build +++ b/drivers/compress/octeontx/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2018 Cavium, Inc -name = 'octeontx_compress' +name = 'octeontx_zip' sources = files('otx_zip.c', 'otx_zip_pmd.c') allow_experimental_apis = true includes += include_directories('include') diff --git a/drivers/compress/octeontx/rte_pmd_octeontx_compress_version.map b/drivers/compress/octeontx/rte_pmd_octeontx_zip_version.map similarity index 100% rename from drivers/compress/octeontx/rte_pmd_octeontx_compress_version.map rename to drivers/compress/octeontx/rte_pmd_octeontx_zip_version.map -- 2.18.0
The library is called librte_pmd_vmxnet3_uio, so rename the map file and set the name in the meson file so that the built library names with meson and legacy makefiles are the same Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/vmxnet3/Makefile | 2 +- ..._pmd_vmxnet3_version.map => rte_pmd_vmxnet3_uio_version.map} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename drivers/net/vmxnet3/{rte_pmd_vmxnet3_version.map => rte_pmd_vmxnet3_uio_version.map} (100%) diff --git a/drivers/net/vmxnet3/Makefile b/drivers/net/vmxnet3/Makefile index f1141da674..9848cd224f 100644 --- a/drivers/net/vmxnet3/Makefile +++ b/drivers/net/vmxnet3/Makefile @@ -43,7 +43,7 @@ LDLIBS += -lrte_bus_pci VPATH += $(SRCDIR)/base -EXPORT_MAP := rte_pmd_vmxnet3_version.map +EXPORT_MAP := rte_pmd_vmxnet3_uio_version.map LIBABIVER := 1 diff --git a/drivers/net/vmxnet3/rte_pmd_vmxnet3_version.map b/drivers/net/vmxnet3/rte_pmd_vmxnet3_uio_version.map similarity index 100% rename from drivers/net/vmxnet3/rte_pmd_vmxnet3_version.map rename to drivers/net/vmxnet3/rte_pmd_vmxnet3_uio_version.map -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 4 +++- drivers/net/vmxnet3/meson.build | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 drivers/net/vmxnet3/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 74f4109161..5906283c2f 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -32,7 +32,9 @@ drivers = ['af_packet', 'thunderx', 'vdev_netvsc', 'vhost', - 'virtio'] + 'virtio', + 'vmxnet3', +] 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/vmxnet3/meson.build b/drivers/net/vmxnet3/meson.build new file mode 100644 index 0000000000..0019661e81 --- /dev/null +++ b/drivers/net/vmxnet3/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +name = 'vmxnet3_uio' +allow_experimental_apis = true +sources += files( + 'vmxnet3_ethdev.c', + 'vmxnet3_rxtx.c', +) + +error_cflags = [ + '-Wno-unused-parameter', '-Wno-unused-value', + '-Wno-strict-aliasing', '-Wno-format-extra-args', +] +foreach flag: error_cflags + if cc.has_argument(flag) + cflags += flag + endif +endforeach -- 2.18.0
> -----Original Message----- > From: Luca Boccassi <bluca@debian.org> > Sent: Tuesday, September 11, 2018 1:34 AM > To: dev@dpdk.org > Cc: keith.wiles@intel.com; roy.fan.zhang@intel.com; jingjing.wu@intel.com; > wenzhuo.lu@intel.com; Mody, Rasesh <Rasesh.Mody@cavium.com>; Patil, > Harish <Harish.Patil@cavium.com>; Shaikh, Shahed > <Shahed.Shaikh@cavium.com>; amr.mokhtar@intel.com; Thotton, Shijith > <Shijith.Thotton@cavium.com>; Srinivasan, Srisivasubramanian > <Srisivasubramanian.Srinivasan@cavium.com>; liang.j.ma@intel.com; > peter.mccarthy@intel.com; Jacob, Jerin > <Jerin.JacobKollanukkaran@cavium.com>; Czekaj, Maciej > <Maciej.Czekaj@cavium.com>; arybchenko@solarflare.com; > antosh.shukla@caviumnetworks.com; Gupta, Ashish > <Ashish.Gupta@cavium.com>; yongwang@vmware.com; > bruce.richardson@intel.com; thomas@monjalon.net > Subject: [PATCH 05/15] build: add Meson files for qede PMD . . > +subdir('base') > +objs = [base_objs] > + > +sources = files( > + 'qede_ethdev.c', > + 'qede_fdir.c', Heads up - We have submitted a patch series in which qede_fdir.c gets renamed to qede_filter.c. Series has not be accepted yet, so you may have to change this if our patch series gets applied before this one. > + 'qede_main.c', > + 'qede_rxtx.c', > +) > + > +#deps += ['ethdev'] > -- > 2.18.0 Acked-by: Shahed Shaikh <shahed.shaikh@cavium.com>
On Mon, Sep 10, 2018 at 09:04:07PM +0100, Luca Boccassi wrote:
> The library is called librte_pmd_lio, so rename the map file and set
> the name in the meson file so that the built library names with meson
> and legacy makefiles are the same
>
> Fixes: bad475c03fee ("net/liquidio: add to meson build")
> Cc: stable@dpdk.org
>
> Signed-off-by: Luca Boccassi <bluca@debian.org>
Rather than doing this renaming, can we instead add a symlink in the
install phase to map the old name to the new one? I'd like to see the
consistency of directory name, map filename and driver name enforced
strictly in the build system. Having exceptions is a pain.
/Bruce
On Tue, 2018-09-11 at 14:06 +0100, Bruce Richardson wrote:
> On Mon, Sep 10, 2018 at 09:04:07PM +0100, Luca Boccassi wrote:
> > The library is called librte_pmd_lio, so rename the map file and
> > set
> > the name in the meson file so that the built library names with
> > meson
> > and legacy makefiles are the same
> >
> > Fixes: bad475c03fee ("net/liquidio: add to meson build")
> > Cc: stable@dpdk.org
> >
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
>
> Rather than doing this renaming, can we instead add a symlink in the
> install phase to map the old name to the new one? I'd like to see the
> consistency of directory name, map filename and driver name enforced
> strictly in the build system. Having exceptions is a pain.
>
> /Bruce
We could, but the pain gets shifted on packagers then - what about
renaming the directory entirely to net/lio?
--
Kind regards,
Luca Boccassi
On Mon, Sep 10, 2018 at 09:04:10PM +0100, Luca Boccassi wrote:
> The library is called librte_pmd_thunderx_nicvf, so rename the map file
> and set the name in the meson file so that the built library names with
> meson and legacy makefiles are the same
>
> Fixes: 7f615033d64f ("drivers/net: build Cavium NIC PMDs with meson")
> Cc: stable@dpdk.org
>
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
Again, I'd prefer we use a symlink if we need to enforce backward
compatibility. I also think we should then use the deprecation procedure to
remove those symlinks in a later version.
/Bruce
On Tue, Sep 11, 2018 at 02:09:30PM +0100, Luca Boccassi wrote:
> On Tue, 2018-09-11 at 14:06 +0100, Bruce Richardson wrote:
> > On Mon, Sep 10, 2018 at 09:04:07PM +0100, Luca Boccassi wrote:
> > > The library is called librte_pmd_lio, so rename the map file and
> > > set
> > > the name in the meson file so that the built library names with
> > > meson
> > > and legacy makefiles are the same
> > >
> > > Fixes: bad475c03fee ("net/liquidio: add to meson build")
> > > Cc: stable@dpdk.org
> > >
> > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> >
> > Rather than doing this renaming, can we instead add a symlink in the
> > install phase to map the old name to the new one? I'd like to see the
> > consistency of directory name, map filename and driver name enforced
> > strictly in the build system. Having exceptions is a pain.
> >
> > /Bruce
>
> We could, but the pain gets shifted on packagers then - what about
> renaming the directory entirely to net/lio?
>
It is still an issue with packagers if the symlinks are created as part of
the install step of DPDK itself (which is what I was intending)? I was
thinking of adding a new post-install script for the backward compatible
renames.
As for renaming the directory, I don't mind, but I'll let the driver
maintainers comment on their thoughts on it.
/Bruce
On Tue, Sep 11, 2018 at 02:09:30PM +0100, Luca Boccassi wrote:
> On Tue, 2018-09-11 at 14:06 +0100, Bruce Richardson wrote:
> > On Mon, Sep 10, 2018 at 09:04:07PM +0100, Luca Boccassi wrote:
> > > The library is called librte_pmd_lio, so rename the map file and
> > > set
> > > the name in the meson file so that the built library names with
> > > meson
> > > and legacy makefiles are the same
> > >
> > > Fixes: bad475c03fee ("net/liquidio: add to meson build")
> > > Cc: stable@dpdk.org
> > >
> > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> >
> > Rather than doing this renaming, can we instead add a symlink in the
> > install phase to map the old name to the new one? I'd like to see the
> > consistency of directory name, map filename and driver name enforced
> > strictly in the build system. Having exceptions is a pain.
> >
> > /Bruce
>
> We could, but the pain gets shifted on packagers then - what about
> renaming the directory entirely to net/lio?
For packagers, what sort of ABI compatibility guarantees do you try and
keep between releases. Is this something that just needs a one-release ABI
announcement, as with other ABI changes?
/Bruce
On Tue, 2018-09-11 at 14:30 +0100, Bruce Richardson wrote: > On Tue, Sep 11, 2018 at 02:09:30PM +0100, Luca Boccassi wrote: > > On Tue, 2018-09-11 at 14:06 +0100, Bruce Richardson wrote: > > > On Mon, Sep 10, 2018 at 09:04:07PM +0100, Luca Boccassi wrote: > > > > The library is called librte_pmd_lio, so rename the map file > > > > and > > > > set > > > > the name in the meson file so that the built library names with > > > > meson > > > > and legacy makefiles are the same > > > > > > > > Fixes: bad475c03fee ("net/liquidio: add to meson build") > > > > Cc: stable@dpdk.org > > > > > > > > Signed-off-by: Luca Boccassi <bluca@debian.org> > > > > > > Rather than doing this renaming, can we instead add a symlink in > > > the > > > install phase to map the old name to the new one? I'd like to see > > > the > > > consistency of directory name, map filename and driver name > > > enforced > > > strictly in the build system. Having exceptions is a pain. > > > > > > /Bruce > > > > We could, but the pain gets shifted on packagers then - what about > > renaming the directory entirely to net/lio? > > > > It is still an issue with packagers if the symlinks are created as > part of > the install step of DPDK itself (which is what I was intending)? I > was > thinking of adding a new post-install script for the backward > compatible > renames. At least for Debian/Ubuntu, if I tell the tools that package libfoo1 needs to have libfoo.so.1.2.3, that's what it will do, without following symlinks. So a broken link will be installed in the system, unless I start tracking what symlinks are there and adding them manually to the package they belong to. There's also the fact that by policy the library package names should match the file name of the library and its ABI revision, so libfoo.so.1.2.3 should be in libfoo1 pkg vy policy - if they mismatch, some linters tools are going to yell at me at the very least. > As for renaming the directory, I don't mind, but I'll let the driver > maintainers comment on their thoughts on it. > > /Bruce -- Kind regards, Luca Boccassi
On Tue, 2018-09-11 at 14:32 +0100, Bruce Richardson wrote:
> On Tue, Sep 11, 2018 at 02:09:30PM +0100, Luca Boccassi wrote:
> > On Tue, 2018-09-11 at 14:06 +0100, Bruce Richardson wrote:
> > > On Mon, Sep 10, 2018 at 09:04:07PM +0100, Luca Boccassi wrote:
> > > > The library is called librte_pmd_lio, so rename the map file
> > > > and
> > > > set
> > > > the name in the meson file so that the built library names with
> > > > meson
> > > > and legacy makefiles are the same
> > > >
> > > > Fixes: bad475c03fee ("net/liquidio: add to meson build")
> > > > Cc: stable@dpdk.org
> > > >
> > > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > >
> > > Rather than doing this renaming, can we instead add a symlink in
> > > the
> > > install phase to map the old name to the new one? I'd like to see
> > > the
> > > consistency of directory name, map filename and driver name
> > > enforced
> > > strictly in the build system. Having exceptions is a pain.
> > >
> > > /Bruce
> >
> > We could, but the pain gets shifted on packagers then - what about
> > renaming the directory entirely to net/lio?
>
> For packagers, what sort of ABI compatibility guarantees do you try
> and
> keep between releases. Is this something that just needs a one-
> release ABI
> announcement, as with other ABI changes?
>
> /Bruce
Currently in Debian/Ubuntu we are using the ABI override (because of
the sticky ABI breakage issue) so the filenames and package names are
different on every release anyway.
So in theory we could change the name of the libs and packages, but
what I'm mostly worried about is keeping consistency and some level of
compatibility between old and new build systems, isn't that an issue?
--
Kind regards,
Luca Boccassi
On Tue, Sep 11, 2018 at 02:41:36PM +0100, Luca Boccassi wrote:
> On Tue, 2018-09-11 at 14:32 +0100, Bruce Richardson wrote:
> > On Tue, Sep 11, 2018 at 02:09:30PM +0100, Luca Boccassi wrote:
> > > On Tue, 2018-09-11 at 14:06 +0100, Bruce Richardson wrote:
> > > > On Mon, Sep 10, 2018 at 09:04:07PM +0100, Luca Boccassi wrote:
> > > > > The library is called librte_pmd_lio, so rename the map file
> > > > > and
> > > > > set
> > > > > the name in the meson file so that the built library names with
> > > > > meson
> > > > > and legacy makefiles are the same
> > > > >
> > > > > Fixes: bad475c03fee ("net/liquidio: add to meson build")
> > > > > Cc: stable@dpdk.org
> > > > >
> > > > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > >
> > > > Rather than doing this renaming, can we instead add a symlink in
> > > > the
> > > > install phase to map the old name to the new one? I'd like to see
> > > > the
> > > > consistency of directory name, map filename and driver name
> > > > enforced
> > > > strictly in the build system. Having exceptions is a pain.
> > > >
> > > > /Bruce
> > >
> > > We could, but the pain gets shifted on packagers then - what about
> > > renaming the directory entirely to net/lio?
> >
> > For packagers, what sort of ABI compatibility guarantees do you try
> > and
> > keep between releases. Is this something that just needs a one-
> > release ABI
> > announcement, as with other ABI changes?
> >
> > /Bruce
>
> Currently in Debian/Ubuntu we are using the ABI override (because of
> the sticky ABI breakage issue) so the filenames and package names are
> different on every release anyway.
>
> So in theory we could change the name of the libs and packages, but
> what I'm mostly worried about is keeping consistency and some level of
> compatibility between old and new build systems, isn't that an issue?
>
It's a good question, and I suspect everyone will have their own opinion.
Personally, I take the view that moving build system involves quite a
number of changes anyway, so we should take the opportunity to clean up a
few other things at the same time. This is why I'm so keep on trying to
keep everything consistent as far as possible throughout the system and not
put in special cases. For many of these a) if we put in lots of name
overrides now we'll probably never get rid of them, and b) it's more likely
that future drivers will adopt the same technique to have different naming
of drivers and directories.
However, if keeping sonames consistent is a major concern, then perhaps we
should look to rename some directories, like you suggested before.
/Bruce
On Tue, 2018-09-11 at 15:06 +0100, Bruce Richardson wrote:
> On Tue, Sep 11, 2018 at 02:41:36PM +0100, Luca Boccassi wrote:
> > On Tue, 2018-09-11 at 14:32 +0100, Bruce Richardson wrote:
> > > On Tue, Sep 11, 2018 at 02:09:30PM +0100, Luca Boccassi wrote:
> > > > On Tue, 2018-09-11 at 14:06 +0100, Bruce Richardson wrote:
> > > > > On Mon, Sep 10, 2018 at 09:04:07PM +0100, Luca Boccassi
> > > > > wrote:
> > > > > > The library is called librte_pmd_lio, so rename the map
> > > > > > file
> > > > > > and
> > > > > > set
> > > > > > the name in the meson file so that the built library names
> > > > > > with
> > > > > > meson
> > > > > > and legacy makefiles are the same
> > > > > >
> > > > > > Fixes: bad475c03fee ("net/liquidio: add to meson build")
> > > > > > Cc: stable@dpdk.org
> > > > > >
> > > > > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > > >
> > > > > Rather than doing this renaming, can we instead add a symlink
> > > > > in
> > > > > the
> > > > > install phase to map the old name to the new one? I'd like to
> > > > > see
> > > > > the
> > > > > consistency of directory name, map filename and driver name
> > > > > enforced
> > > > > strictly in the build system. Having exceptions is a pain.
> > > > >
> > > > > /Bruce
> > > >
> > > > We could, but the pain gets shifted on packagers then - what
> > > > about
> > > > renaming the directory entirely to net/lio?
> > >
> > > For packagers, what sort of ABI compatibility guarantees do you
> > > try
> > > and
> > > keep between releases. Is this something that just needs a one-
> > > release ABI
> > > announcement, as with other ABI changes?
> > >
> > > /Bruce
> >
> > Currently in Debian/Ubuntu we are using the ABI override (because
> > of
> > the sticky ABI breakage issue) so the filenames and package names
> > are
> > different on every release anyway.
> >
> > So in theory we could change the name of the libs and packages, but
> > what I'm mostly worried about is keeping consistency and some level
> > of
> > compatibility between old and new build systems, isn't that an
> > issue?
> >
>
> It's a good question, and I suspect everyone will have their own
> opinion.
>
> Personally, I take the view that moving build system involves quite a
> number of changes anyway, so we should take the opportunity to clean
> up a
> few other things at the same time. This is why I'm so keep on trying
> to
> keep everything consistent as far as possible throughout the system
> and not
> put in special cases. For many of these a) if we put in lots of name
> overrides now we'll probably never get rid of them, and b) it's more
> likely
> that future drivers will adopt the same technique to have different
> naming
> of drivers and directories.
>
> However, if keeping sonames consistent is a major concern, then
> perhaps we
> should look to rename some directories, like you suggested before.
>
> /Bruce
Actually I tend to agree, it would be better to make the libraries
consistent, so I'm fine with having to deal with it once in packaging.
I'll send a v2 without most of the renames.
--
Kind regards,
Luca Boccassi
Use same autoconf generation mechanism as the MLX4/5 PMDs Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/tap/meson.build | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 drivers/net/tap/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index c7a2d0e7db..b7b4870eb8 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -27,6 +27,7 @@ drivers = ['af_packet', 'sfc', 'softnic', 'szedata2', + 'tap', 'thunderx', 'vhost', 'virtio'] diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build new file mode 100644 index 0000000000..ef3c6e1fee --- /dev/null +++ b/drivers/net/tap/meson.build @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'rte_eth_tap.c', + 'tap_bpf_api.c', + 'tap_flow.c', + 'tap_intr.c', + 'tap_netlink.c', + 'tap_tcmsgs.c', +) + +deps = ['bus_vdev', 'gso', 'hash'] + +cflags += '-DTAP_MAX_QUEUES=16' + +# To maintain the compatibility with the make build system +# tap_autoconf.h file is still generated. +# input array for meson symbol search: +# [ "MACRO to define if found", "header for the search", +# "enum/define", "symbol to search" ] +# +args = [ + [ 'HAVE_TC_FLOWER', 'linux/pkt_cls.h', + 'enum', 'TCA_FLOWER_UNSPEC' ], + [ 'HAVE_TC_VLAN_ID', 'linux/pkt_cls.h', + 'enum', 'TCA_FLOWER_KEY_VLAN_PRIO' ], + [ 'HAVE_TC_BPF', 'linux/pkt_cls.h', + 'enum', 'TCA_BPF_UNSPEC' ], + [ 'HAVE_TC_BPF_FD', 'linux/pkt_cls.h', + 'enum', 'TCA_BPF_FD' ], + [ 'HAVE_TC_ACT_BPF', 'linux/tc_act/tc_bpf.h', + 'enum', 'TCA_ACT_BPF_UNSPEC' ], + [ 'HAVE_TC_ACT_BPF_FD', 'linux/tc_act/tc_bpf.h', + 'enum', 'TCA_ACT_BPF_FD' ], +] +config = configuration_data() +foreach arg:args + config.set(arg[0], cc.has_header_symbol(arg[1], arg[3])) +endforeach +configure_file(output : 'tap_autoconf.h', configuration : config) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/vdev_netvsc/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 drivers/net/vdev_netvsc/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index b7b4870eb8..68ac42d67c 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -29,6 +29,7 @@ drivers = ['af_packet', 'szedata2', 'tap', 'thunderx', + 'vdev_netvsc', 'vhost', 'virtio'] std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc diff --git a/drivers/net/vdev_netvsc/meson.build b/drivers/net/vdev_netvsc/meson.build new file mode 100644 index 0000000000..cc956e7b27 --- /dev/null +++ b/drivers/net/vdev_netvsc/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files('vdev_netvsc.c') + +allow_experimental_apis = true + +cflags_options = [ + '-Wall', + '-Wextra', + '-D_BSD_SOURCE', + '-D_DEFAULT_SOURCE', + '-D_XOPEN_SOURCE=600' +] +foreach option:cflags_options + if cc.has_argument(option) + cflags += option + endif +endforeach -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/crypto/meson.build | 2 +- drivers/crypto/scheduler/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 drivers/crypto/scheduler/meson.build diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build index d64ca418bc..6ed853b7ab 100644 --- a/drivers/crypto/meson.build +++ b/drivers/crypto/meson.build @@ -2,7 +2,7 @@ # Copyright(c) 2017 Intel Corporation drivers = ['ccp', 'dpaa_sec', 'dpaa2_sec', 'mvsam', - 'null', 'openssl', 'qat', 'virtio'] + 'null', 'openssl', 'qat', 'scheduler', 'virtio'] std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' diff --git a/drivers/crypto/scheduler/meson.build b/drivers/crypto/scheduler/meson.build new file mode 100644 index 0000000000..c5ba2d6804 --- /dev/null +++ b/drivers/crypto/scheduler/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bus_vdev', 'reorder'] +name = 'crypto_scheduler' +sources = files( + 'rte_cryptodev_scheduler.c', + 'scheduler_failover.c', + 'scheduler_multicore.c', + 'scheduler_pkt_size_distr.c', + 'scheduler_pmd.c', + 'scheduler_pmd_ops.c', + 'scheduler_roundrobin.c', +) + +headers = files( + 'rte_cryptodev_scheduler.h', + 'rte_cryptodev_scheduler_operations.h', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++ drivers/net/avf/meson.build | 15 +++++++++++++++ drivers/net/meson.build | 1 + 3 files changed, 36 insertions(+) create mode 100644 drivers/net/avf/base/meson.build create mode 100644 drivers/net/avf/meson.build diff --git a/drivers/net/avf/base/meson.build b/drivers/net/avf/base/meson.build new file mode 100644 index 0000000000..90fd6b445f --- /dev/null +++ b/drivers/net/avf/base/meson.build @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'avf_adminq.c', + 'avf_common.c', +] + +error_cflags = ['-Wno-pointer-to-int-cast'] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('avf_base', sources, + dependencies: static_rte_eal, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/avf/meson.build b/drivers/net/avf/meson.build new file mode 100644 index 0000000000..d341f029b2 --- /dev/null +++ b/drivers/net/avf/meson.build @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +subdir('base') +objs = [base_objs] + +sources = files( + 'avf_ethdev.c', + 'avf_rxtx.c', + 'avf_rxtx_vec_sse.c', + 'avf_vchnl.c', +) +if arch_subdir == 'x86' + sources += files('avf_rxtx_vec_sse.c') +endif diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 68ac42d67c..28efeda0b6 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -3,6 +3,7 @@ drivers = ['af_packet', 'ark', + 'avf', 'avp', 'axgbe', 'bonding', 'bnx2x', -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> Acked-by: Shahed Shaikh <shahed.shaikh@cavium.com> --- config/rte_config.h | 3 ++ drivers/net/meson.build | 2 +- drivers/net/qede/base/meson.build | 57 +++++++++++++++++++++++++++++++ drivers/net/qede/meson.build | 12 +++++++ 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 drivers/net/qede/base/meson.build create mode 100644 drivers/net/qede/meson.build diff --git a/config/rte_config.h b/config/rte_config.h index 46775a8419..ee84f04977 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -116,4 +116,7 @@ #define RTE_PMD_RING_MAX_RX_RINGS 16 #define RTE_PMD_RING_MAX_TX_RINGS 16 +/* QEDE PMD defines */ +#define RTE_LIBRTE_QEDE_FW "" + #endif /* _RTE_CONFIG_H_ */ diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 28efeda0b6..74f4109161 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -24,7 +24,7 @@ drivers = ['af_packet', 'mvpp2', 'netvsc', 'nfp', - 'null', 'octeontx', 'pcap', 'ring', + 'null', 'octeontx', 'pcap', 'qede', 'ring', 'sfc', 'softnic', 'szedata2', diff --git a/drivers/net/qede/base/meson.build b/drivers/net/qede/base/meson.build new file mode 100644 index 0000000000..59b41c895d --- /dev/null +++ b/drivers/net/qede/base/meson.build @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'bcm_osal.c', + 'ecore_cxt.c', + 'ecore_dcbx.c', + 'ecore_dev.c', + 'ecore_hw.c', + 'ecore_init_fw_funcs.c', + 'ecore_init_ops.c', + 'ecore_int.c', + 'ecore_l2.c', + 'ecore_mcp.c', + 'ecore_sp_commands.c', + 'ecore_spq.c', + 'ecore_sriov.c', + 'ecore_vf.c', +] + + +error_cflags = [ + '-Wno-unused-parameter', + '-Wno-sign-compare', + '-Wno-missing-prototypes', + '-Wno-cast-qual', + '-Wno-unused-function', + '-Wno-unused-variable', + '-Wno-strict-aliasing', + '-Wno-missing-prototypes', + '-Wno-unused-value', + '-Wno-format-nonliteral', + '-Wno-shift-negative-value', + '-Wno-unused-but-set-variable', + '-Wno-missing-declarations', + '-Wno-maybe-uninitialized', + '-Wno-strict-prototypes', + '-Wno-shift-negative-value', + '-Wno-implicit-fallthrough', + '-Wno-format-extra-args', + '-Wno-visibility', + '-Wno-empty-body', + '-Wno-invalid-source-encoding', + '-Wno-sometimes-uninitialized', + '-Wno-pointer-bool-conversion', +] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('qede_base', sources, + dependencies: static_rte_net, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build new file mode 100644 index 0000000000..6280073a56 --- /dev/null +++ b/drivers/net/qede/meson.build @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +subdir('base') +objs = [base_objs] + +sources = files( + 'qede_ethdev.c', + 'qede_fdir.c', + 'qede_main.c', + 'qede_rxtx.c', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/baseband/meson.build | 7 +++++++ drivers/baseband/null/meson.build | 7 +++++++ drivers/meson.build | 1 + 3 files changed, 15 insertions(+) create mode 100644 drivers/baseband/meson.build create mode 100644 drivers/baseband/null/meson.build diff --git a/drivers/baseband/meson.build b/drivers/baseband/meson.build new file mode 100644 index 0000000000..52489df354 --- /dev/null +++ b/drivers/baseband/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +drivers = ['null'] + +config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' +driver_name_fmt = 'rte_pmd_@0@' diff --git a/drivers/baseband/null/meson.build b/drivers/baseband/null/meson.build new file mode 100644 index 0000000000..64c29d8600 --- /dev/null +++ b/drivers/baseband/null/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bbdev', 'bus_vdev', 'ring'] +name = 'bbdev_null' +allow_experimental_apis = true +sources = files('bbdev_null.c') diff --git a/drivers/meson.build b/drivers/meson.build index f94e2fe672..14e335ec1d 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -9,6 +9,7 @@ driver_classes = ['common', 'crypto', # depends on common, bus and mempool (net in future). 'compress', # depends on common, bus, mempool. 'event', # depends on common, bus, mempool and net. + 'baseband', # depends on common and bus. 'raw'] # depends on common, bus, mempool, net and event. default_cflags = machine_args -- 2.18.0
So that it can be used from Meson as well Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/opdl/Makefile | 2 +- ...md_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename drivers/event/opdl/{rte_pmd_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} (100%) diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile index cea8118d36..bf50a60a0b 100644 --- a/drivers/event/opdl/Makefile +++ b/drivers/event/opdl/Makefile @@ -24,7 +24,7 @@ LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool LIBABIVER := 1 # versioning export map -EXPORT_MAP := rte_pmd_evdev_opdl_version.map +EXPORT_MAP := rte_pmd_opdl_event_version.map # library source files SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c diff --git a/drivers/event/opdl/rte_pmd_evdev_opdl_version.map b/drivers/event/opdl/rte_pmd_opdl_event_version.map similarity index 100% rename from drivers/event/opdl/rte_pmd_evdev_opdl_version.map rename to drivers/event/opdl/rte_pmd_opdl_event_version.map -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/meson.build | 2 +- drivers/event/opdl/meson.build | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 drivers/event/opdl/meson.build diff --git a/drivers/event/meson.build b/drivers/event/meson.build index e951199358..ed56d20062 100644 --- a/drivers/event/meson.build +++ b/drivers/event/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -drivers = ['dpaa', 'dpaa2', 'octeontx', 'skeleton', 'sw'] +drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw'] std_deps = ['eventdev', 'kvargs'] config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD' driver_name_fmt = 'rte_pmd_@0@_event' diff --git a/drivers/event/opdl/meson.build b/drivers/event/opdl/meson.build new file mode 100644 index 0000000000..cc6029c6f0 --- /dev/null +++ b/drivers/event/opdl/meson.build @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'opdl_evdev.c', + 'opdl_evdev_init.c', + 'opdl_evdev_xstats.c', + 'opdl_ring.c', + 'opdl_test.c', +) +deps += ['bus_vdev'] -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 4 +++- drivers/net/vmxnet3/meson.build | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 drivers/net/vmxnet3/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 74f4109161..5906283c2f 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -32,7 +32,9 @@ drivers = ['af_packet', 'thunderx', 'vdev_netvsc', 'vhost', - 'virtio'] + 'virtio', + 'vmxnet3', +] 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/vmxnet3/meson.build b/drivers/net/vmxnet3/meson.build new file mode 100644 index 0000000000..a92bd28680 --- /dev/null +++ b/drivers/net/vmxnet3/meson.build @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +allow_experimental_apis = true +sources += files( + 'vmxnet3_ethdev.c', + 'vmxnet3_rxtx.c', +) + +error_cflags = [ + '-Wno-unused-parameter', '-Wno-unused-value', + '-Wno-strict-aliasing', '-Wno-format-extra-args', +] +foreach flag: error_cflags + if cc.has_argument(flag) + cflags += flag + endif +endforeach -- 2.18.0
On Tue, Sep 11, 2018 at 05:08:55PM +0100, Luca Boccassi wrote:
> Use same autoconf generation mechanism as the MLX4/5 PMDs
>
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
> drivers/net/meson.build | 1 +
> drivers/net/tap/meson.build | 41 +++++++++++++++++++++++++++++++++++++
> 2 files changed, 42 insertions(+)
> create mode 100644 drivers/net/tap/meson.build
>
> diff --git a/drivers/net/meson.build b/drivers/net/meson.build
> index c7a2d0e7db..b7b4870eb8 100644
> --- a/drivers/net/meson.build
> +++ b/drivers/net/meson.build
> @@ -27,6 +27,7 @@ drivers = ['af_packet',
> 'sfc',
> 'softnic',
> 'szedata2',
> + 'tap',
> 'thunderx',
> 'vhost',
> 'virtio']
> diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build
> new file mode 100644
> index 0000000000..ef3c6e1fee
> --- /dev/null
> +++ b/drivers/net/tap/meson.build
> @@ -0,0 +1,41 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright 2018 Luca Boccassi <bluca@debian.org>
> +
> +sources = files(
> + 'rte_eth_tap.c',
> + 'tap_bpf_api.c',
> + 'tap_flow.c',
> + 'tap_intr.c',
> + 'tap_netlink.c',
> + 'tap_tcmsgs.c',
> +)
> +
> +deps = ['bus_vdev', 'gso', 'hash']
> +
> +cflags += '-DTAP_MAX_QUEUES=16'
> +
> +# To maintain the compatibility with the make build system
> +# tap_autoconf.h file is still generated.
> +# input array for meson symbol search:
> +# [ "MACRO to define if found", "header for the search",
> +# "enum/define", "symbol to search" ]
> +#
> +args = [
> + [ 'HAVE_TC_FLOWER', 'linux/pkt_cls.h',
> + 'enum', 'TCA_FLOWER_UNSPEC' ],
> + [ 'HAVE_TC_VLAN_ID', 'linux/pkt_cls.h',
> + 'enum', 'TCA_FLOWER_KEY_VLAN_PRIO' ],
> + [ 'HAVE_TC_BPF', 'linux/pkt_cls.h',
> + 'enum', 'TCA_BPF_UNSPEC' ],
> + [ 'HAVE_TC_BPF_FD', 'linux/pkt_cls.h',
> + 'enum', 'TCA_BPF_FD' ],
> + [ 'HAVE_TC_ACT_BPF', 'linux/tc_act/tc_bpf.h',
> + 'enum', 'TCA_ACT_BPF_UNSPEC' ],
> + [ 'HAVE_TC_ACT_BPF_FD', 'linux/tc_act/tc_bpf.h',
> + 'enum', 'TCA_ACT_BPF_FD' ],
> +]
> +config = configuration_data()
> +foreach arg:args
> + config.set(arg[0], cc.has_header_symbol(arg[1], arg[3]))
> +endforeach
> +configure_file(output : 'tap_autoconf.h', configuration : config)
> --
Minor nit, arg 2 is unused, and this could be dropped, as is done in the
latest version of the mlnx meson build files.
/Bruce
On Tue, Sep 11, 2018 at 05:08:58PM +0100, Luca Boccassi wrote:
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
> drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
> drivers/net/avf/meson.build | 15 +++++++++++++++
> drivers/net/meson.build | 1 +
> 3 files changed, 36 insertions(+)
> create mode 100644 drivers/net/avf/base/meson.build
> create mode 100644 drivers/net/avf/meson.build
>
After applying this patch, I get lots of unused variable warnings. Gcc 6.3
on debian, you'll be glad to know.
/Bruce
On Thu, 2018-09-13 at 14:24 +0100, Bruce Richardson wrote:
> On Tue, Sep 11, 2018 at 05:08:58PM +0100, Luca Boccassi wrote:
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
> > drivers/net/avf/meson.build | 15 +++++++++++++++
> > drivers/net/meson.build | 1 +
> > 3 files changed, 36 insertions(+)
> > create mode 100644 drivers/net/avf/base/meson.build
> > create mode 100644 drivers/net/avf/meson.build
> >
>
> After applying this patch, I get lots of unused variable warnings.
> Gcc 6.3
> on debian, you'll be glad to know.
>
> /Bruce
Yep got the same, but I'll leave that for the AVF maintainers to have
fun with :-)
--
Kind regards,
Luca Boccassi
On Thu, 2018-09-13 at 14:11 +0100, Bruce Richardson wrote:
> On Tue, Sep 11, 2018 at 05:08:55PM +0100, Luca Boccassi wrote:
> > Use same autoconf generation mechanism as the MLX4/5 PMDs
> >
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > drivers/net/meson.build | 1 +
> > drivers/net/tap/meson.build | 41
> > +++++++++++++++++++++++++++++++++++++
> > 2 files changed, 42 insertions(+)
> > create mode 100644 drivers/net/tap/meson.build
> >
> > diff --git a/drivers/net/meson.build b/drivers/net/meson.build
> > index c7a2d0e7db..b7b4870eb8 100644
> > --- a/drivers/net/meson.build
> > +++ b/drivers/net/meson.build
> > @@ -27,6 +27,7 @@ drivers = ['af_packet',
> > 'sfc',
> > 'softnic',
> > 'szedata2',
> > + 'tap',
> > 'thunderx',
> > 'vhost',
> > 'virtio']
> > diff --git a/drivers/net/tap/meson.build
> > b/drivers/net/tap/meson.build
> > new file mode 100644
> > index 0000000000..ef3c6e1fee
> > --- /dev/null
> > +++ b/drivers/net/tap/meson.build
> > @@ -0,0 +1,41 @@
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright 2018 Luca Boccassi <bluca@debian.org>
> > +
> > +sources = files(
> > + 'rte_eth_tap.c',
> > + 'tap_bpf_api.c',
> > + 'tap_flow.c',
> > + 'tap_intr.c',
> > + 'tap_netlink.c',
> > + 'tap_tcmsgs.c',
> > +)
> > +
> > +deps = ['bus_vdev', 'gso', 'hash']
> > +
> > +cflags += '-DTAP_MAX_QUEUES=16'
> > +
> > +# To maintain the compatibility with the make build system
> > +# tap_autoconf.h file is still generated.
> > +# input array for meson symbol search:
> > +# [ "MACRO to define if found", "header for the search",
> > +# "enum/define", "symbol to search" ]
> > +#
> > +args = [
> > + [ 'HAVE_TC_FLOWER', 'linux/pkt_cls.h',
> > + 'enum', 'TCA_FLOWER_UNSPEC' ],
> > + [ 'HAVE_TC_VLAN_ID', 'linux/pkt_cls.h',
> > + 'enum', 'TCA_FLOWER_KEY_VLAN_PRIO' ],
> > + [ 'HAVE_TC_BPF', 'linux/pkt_cls.h',
> > + 'enum', 'TCA_BPF_UNSPEC' ],
> > + [ 'HAVE_TC_BPF_FD', 'linux/pkt_cls.h',
> > + 'enum', 'TCA_BPF_FD' ],
> > + [ 'HAVE_TC_ACT_BPF', 'linux/tc_act/tc_bpf.h',
> > + 'enum', 'TCA_ACT_BPF_UNSPEC' ],
> > + [ 'HAVE_TC_ACT_BPF_FD', 'linux/tc_act/tc_bpf.h',
> > + 'enum', 'TCA_ACT_BPF_FD' ],
> > +]
> > +config = configuration_data()
> > +foreach arg:args
> > + config.set(arg[0], cc.has_header_symbol(arg[1], arg[3]))
> > +endforeach
> > +configure_file(output : 'tap_autoconf.h', configuration : config)
> > --
>
> Minor nit, arg 2 is unused, and this could be dropped, as is done in
> the
> latest version of the mlnx meson build files.
>
> /Bruce
Ok, will fix in v3
--
Kind regards,
Luca Boccassi
Use same autoconf generation mechanism as the MLX4/5 PMDs Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/tap/meson.build | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 drivers/net/tap/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index c7a2d0e7db..b7b4870eb8 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -27,6 +27,7 @@ drivers = ['af_packet', 'sfc', 'softnic', 'szedata2', + 'tap', 'thunderx', 'vhost', 'virtio'] diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build new file mode 100644 index 0000000000..37f65b75c2 --- /dev/null +++ b/drivers/net/tap/meson.build @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'rte_eth_tap.c', + 'tap_bpf_api.c', + 'tap_flow.c', + 'tap_intr.c', + 'tap_netlink.c', + 'tap_tcmsgs.c', +) + +deps = ['bus_vdev', 'gso', 'hash'] + +cflags += '-DTAP_MAX_QUEUES=16' + +# To maintain the compatibility with the make build system +# tap_autoconf.h file is still generated. +# input array for meson symbol search: +# [ "MACRO to define if found", "header for the search", +# "enum/define", "symbol to search" ] +# +args = [ + [ 'HAVE_TC_FLOWER', 'linux/pkt_cls.h', + 'TCA_FLOWER_UNSPEC' ], + [ 'HAVE_TC_VLAN_ID', 'linux/pkt_cls.h', + 'TCA_FLOWER_KEY_VLAN_PRIO' ], + [ 'HAVE_TC_BPF', 'linux/pkt_cls.h', + 'TCA_BPF_UNSPEC' ], + [ 'HAVE_TC_BPF_FD', 'linux/pkt_cls.h', + 'TCA_BPF_FD' ], + [ 'HAVE_TC_ACT_BPF', 'linux/tc_act/tc_bpf.h', + 'TCA_ACT_BPF_UNSPEC' ], + [ 'HAVE_TC_ACT_BPF_FD', 'linux/tc_act/tc_bpf.h', + 'TCA_ACT_BPF_FD' ], +] +config = configuration_data() +foreach arg:args + config.set(arg[0], cc.has_header_symbol(arg[1], arg[2])) +endforeach +configure_file(output : 'tap_autoconf.h', configuration : config) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/vdev_netvsc/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 drivers/net/vdev_netvsc/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index b7b4870eb8..68ac42d67c 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -29,6 +29,7 @@ drivers = ['af_packet', 'szedata2', 'tap', 'thunderx', + 'vdev_netvsc', 'vhost', 'virtio'] std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc diff --git a/drivers/net/vdev_netvsc/meson.build b/drivers/net/vdev_netvsc/meson.build new file mode 100644 index 0000000000..cc956e7b27 --- /dev/null +++ b/drivers/net/vdev_netvsc/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files('vdev_netvsc.c') + +allow_experimental_apis = true + +cflags_options = [ + '-Wall', + '-Wextra', + '-D_BSD_SOURCE', + '-D_DEFAULT_SOURCE', + '-D_XOPEN_SOURCE=600' +] +foreach option:cflags_options + if cc.has_argument(option) + cflags += option + endif +endforeach -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/crypto/meson.build | 2 +- drivers/crypto/scheduler/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 drivers/crypto/scheduler/meson.build diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build index d64ca418bc..6ed853b7ab 100644 --- a/drivers/crypto/meson.build +++ b/drivers/crypto/meson.build @@ -2,7 +2,7 @@ # Copyright(c) 2017 Intel Corporation drivers = ['ccp', 'dpaa_sec', 'dpaa2_sec', 'mvsam', - 'null', 'openssl', 'qat', 'virtio'] + 'null', 'openssl', 'qat', 'scheduler', 'virtio'] std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' diff --git a/drivers/crypto/scheduler/meson.build b/drivers/crypto/scheduler/meson.build new file mode 100644 index 0000000000..c5ba2d6804 --- /dev/null +++ b/drivers/crypto/scheduler/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bus_vdev', 'reorder'] +name = 'crypto_scheduler' +sources = files( + 'rte_cryptodev_scheduler.c', + 'scheduler_failover.c', + 'scheduler_multicore.c', + 'scheduler_pkt_size_distr.c', + 'scheduler_pmd.c', + 'scheduler_pmd_ops.c', + 'scheduler_roundrobin.c', +) + +headers = files( + 'rte_cryptodev_scheduler.h', + 'rte_cryptodev_scheduler_operations.h', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++ drivers/net/avf/meson.build | 15 +++++++++++++++ drivers/net/meson.build | 1 + 3 files changed, 36 insertions(+) create mode 100644 drivers/net/avf/base/meson.build create mode 100644 drivers/net/avf/meson.build diff --git a/drivers/net/avf/base/meson.build b/drivers/net/avf/base/meson.build new file mode 100644 index 0000000000..90fd6b445f --- /dev/null +++ b/drivers/net/avf/base/meson.build @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'avf_adminq.c', + 'avf_common.c', +] + +error_cflags = ['-Wno-pointer-to-int-cast'] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('avf_base', sources, + dependencies: static_rte_eal, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/avf/meson.build b/drivers/net/avf/meson.build new file mode 100644 index 0000000000..d341f029b2 --- /dev/null +++ b/drivers/net/avf/meson.build @@ -0,0 +1,15 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +subdir('base') +objs = [base_objs] + +sources = files( + 'avf_ethdev.c', + 'avf_rxtx.c', + 'avf_rxtx_vec_sse.c', + 'avf_vchnl.c', +) +if arch_subdir == 'x86' + sources += files('avf_rxtx_vec_sse.c') +endif diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 68ac42d67c..28efeda0b6 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -3,6 +3,7 @@ drivers = ['af_packet', 'ark', + 'avf', 'avp', 'axgbe', 'bonding', 'bnx2x', -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> Acked-by: Shahed Shaikh <shahed.shaikh@cavium.com> --- config/rte_config.h | 3 ++ drivers/net/meson.build | 2 +- drivers/net/qede/base/meson.build | 57 +++++++++++++++++++++++++++++++ drivers/net/qede/meson.build | 12 +++++++ 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 drivers/net/qede/base/meson.build create mode 100644 drivers/net/qede/meson.build diff --git a/config/rte_config.h b/config/rte_config.h index 46775a8419..ee84f04977 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -116,4 +116,7 @@ #define RTE_PMD_RING_MAX_RX_RINGS 16 #define RTE_PMD_RING_MAX_TX_RINGS 16 +/* QEDE PMD defines */ +#define RTE_LIBRTE_QEDE_FW "" + #endif /* _RTE_CONFIG_H_ */ diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 28efeda0b6..74f4109161 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -24,7 +24,7 @@ drivers = ['af_packet', 'mvpp2', 'netvsc', 'nfp', - 'null', 'octeontx', 'pcap', 'ring', + 'null', 'octeontx', 'pcap', 'qede', 'ring', 'sfc', 'softnic', 'szedata2', diff --git a/drivers/net/qede/base/meson.build b/drivers/net/qede/base/meson.build new file mode 100644 index 0000000000..59b41c895d --- /dev/null +++ b/drivers/net/qede/base/meson.build @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'bcm_osal.c', + 'ecore_cxt.c', + 'ecore_dcbx.c', + 'ecore_dev.c', + 'ecore_hw.c', + 'ecore_init_fw_funcs.c', + 'ecore_init_ops.c', + 'ecore_int.c', + 'ecore_l2.c', + 'ecore_mcp.c', + 'ecore_sp_commands.c', + 'ecore_spq.c', + 'ecore_sriov.c', + 'ecore_vf.c', +] + + +error_cflags = [ + '-Wno-unused-parameter', + '-Wno-sign-compare', + '-Wno-missing-prototypes', + '-Wno-cast-qual', + '-Wno-unused-function', + '-Wno-unused-variable', + '-Wno-strict-aliasing', + '-Wno-missing-prototypes', + '-Wno-unused-value', + '-Wno-format-nonliteral', + '-Wno-shift-negative-value', + '-Wno-unused-but-set-variable', + '-Wno-missing-declarations', + '-Wno-maybe-uninitialized', + '-Wno-strict-prototypes', + '-Wno-shift-negative-value', + '-Wno-implicit-fallthrough', + '-Wno-format-extra-args', + '-Wno-visibility', + '-Wno-empty-body', + '-Wno-invalid-source-encoding', + '-Wno-sometimes-uninitialized', + '-Wno-pointer-bool-conversion', +] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('qede_base', sources, + dependencies: static_rte_net, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build new file mode 100644 index 0000000000..6280073a56 --- /dev/null +++ b/drivers/net/qede/meson.build @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +subdir('base') +objs = [base_objs] + +sources = files( + 'qede_ethdev.c', + 'qede_fdir.c', + 'qede_main.c', + 'qede_rxtx.c', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/baseband/meson.build | 7 +++++++ drivers/baseband/null/meson.build | 7 +++++++ drivers/meson.build | 1 + 3 files changed, 15 insertions(+) create mode 100644 drivers/baseband/meson.build create mode 100644 drivers/baseband/null/meson.build diff --git a/drivers/baseband/meson.build b/drivers/baseband/meson.build new file mode 100644 index 0000000000..52489df354 --- /dev/null +++ b/drivers/baseband/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +drivers = ['null'] + +config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' +driver_name_fmt = 'rte_pmd_@0@' diff --git a/drivers/baseband/null/meson.build b/drivers/baseband/null/meson.build new file mode 100644 index 0000000000..64c29d8600 --- /dev/null +++ b/drivers/baseband/null/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bbdev', 'bus_vdev', 'ring'] +name = 'bbdev_null' +allow_experimental_apis = true +sources = files('bbdev_null.c') diff --git a/drivers/meson.build b/drivers/meson.build index f94e2fe672..14e335ec1d 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -9,6 +9,7 @@ driver_classes = ['common', 'crypto', # depends on common, bus and mempool (net in future). 'compress', # depends on common, bus, mempool. 'event', # depends on common, bus, mempool and net. + 'baseband', # depends on common and bus. 'raw'] # depends on common, bus, mempool, net and event. default_cflags = machine_args -- 2.18.0
So that it can be used from Meson as well Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/opdl/Makefile | 2 +- ...md_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename drivers/event/opdl/{rte_pmd_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} (100%) diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile index cea8118d36..bf50a60a0b 100644 --- a/drivers/event/opdl/Makefile +++ b/drivers/event/opdl/Makefile @@ -24,7 +24,7 @@ LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool LIBABIVER := 1 # versioning export map -EXPORT_MAP := rte_pmd_evdev_opdl_version.map +EXPORT_MAP := rte_pmd_opdl_event_version.map # library source files SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c diff --git a/drivers/event/opdl/rte_pmd_evdev_opdl_version.map b/drivers/event/opdl/rte_pmd_opdl_event_version.map similarity index 100% rename from drivers/event/opdl/rte_pmd_evdev_opdl_version.map rename to drivers/event/opdl/rte_pmd_opdl_event_version.map -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/meson.build | 2 +- drivers/event/opdl/meson.build | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 drivers/event/opdl/meson.build diff --git a/drivers/event/meson.build b/drivers/event/meson.build index e951199358..ed56d20062 100644 --- a/drivers/event/meson.build +++ b/drivers/event/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -drivers = ['dpaa', 'dpaa2', 'octeontx', 'skeleton', 'sw'] +drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw'] std_deps = ['eventdev', 'kvargs'] config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD' driver_name_fmt = 'rte_pmd_@0@_event' diff --git a/drivers/event/opdl/meson.build b/drivers/event/opdl/meson.build new file mode 100644 index 0000000000..cc6029c6f0 --- /dev/null +++ b/drivers/event/opdl/meson.build @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'opdl_evdev.c', + 'opdl_evdev_init.c', + 'opdl_evdev_xstats.c', + 'opdl_ring.c', + 'opdl_test.c', +) +deps += ['bus_vdev'] -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 4 +++- drivers/net/vmxnet3/meson.build | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 drivers/net/vmxnet3/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 74f4109161..5906283c2f 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -32,7 +32,9 @@ drivers = ['af_packet', 'thunderx', 'vdev_netvsc', 'vhost', - 'virtio'] + 'virtio', + 'vmxnet3', +] 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/vmxnet3/meson.build b/drivers/net/vmxnet3/meson.build new file mode 100644 index 0000000000..a92bd28680 --- /dev/null +++ b/drivers/net/vmxnet3/meson.build @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +allow_experimental_apis = true +sources += files( + 'vmxnet3_ethdev.c', + 'vmxnet3_rxtx.c', +) + +error_cflags = [ + '-Wno-unused-parameter', '-Wno-unused-value', + '-Wno-strict-aliasing', '-Wno-format-extra-args', +] +foreach flag: error_cflags + if cc.has_argument(flag) + cflags += flag + endif +endforeach -- 2.18.0
On Thu, Sep 13, 2018 at 02:27:54PM +0100, Luca Boccassi wrote: > On Thu, 2018-09-13 at 14:24 +0100, Bruce Richardson wrote: > > On Tue, Sep 11, 2018 at 05:08:58PM +0100, Luca Boccassi wrote: > > > Signed-off-by: Luca Boccassi <bluca@debian.org> > > > --- > > > drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++ > > > drivers/net/avf/meson.build | 15 +++++++++++++++ > > > drivers/net/meson.build | 1 + > > > 3 files changed, 36 insertions(+) > > > create mode 100644 drivers/net/avf/base/meson.build > > > create mode 100644 drivers/net/avf/meson.build > > > > > > > After applying this patch, I get lots of unused variable warnings. > > Gcc 6.3 > > on debian, you'll be glad to know. > > > > /Bruce > > Yep got the same, but I'll leave that for the AVF maintainers to have > fun with :-) > Ok, I've sent a patch to remove the unused stuff. http://patches.dpdk.org/patch/44694/ I think this file still needs "cflags += '-Wno-strict-aliasing'" to make it work though, since those errors are tougher to remove. There also needs to be an "INC_VECTOR" define inside the x86-specific block, as is done for the IXGBE and I40E drivers. /Bruce
On Thu, Sep 13, 2018 at 02:41:35PM +0100, Luca Boccassi wrote:
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
> drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
> drivers/net/avf/meson.build | 15 +++++++++++++++
> drivers/net/meson.build | 1 +
> 3 files changed, 36 insertions(+)
> create mode 100644 drivers/net/avf/base/meson.build
> create mode 100644 drivers/net/avf/meson.build
>
> diff --git a/drivers/net/avf/base/meson.build b/drivers/net/avf/base/meson.build
> new file mode 100644
> index 0000000000..90fd6b445f
> --- /dev/null
> +++ b/drivers/net/avf/base/meson.build
> @@ -0,0 +1,20 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
> +
> +sources = [
> + 'avf_adminq.c',
> + 'avf_common.c',
> +]
> +
> +error_cflags = ['-Wno-pointer-to-int-cast']
> +c_args = cflags
> +foreach flag: error_cflags
> + if cc.has_argument(flag)
> + c_args += flag
> + endif
> +endforeach
> +
> +base_lib = static_library('avf_base', sources,
> + dependencies: static_rte_eal,
> + c_args: c_args)
> +base_objs = base_lib.extract_all_objects()
> diff --git a/drivers/net/avf/meson.build b/drivers/net/avf/meson.build
> new file mode 100644
> index 0000000000..d341f029b2
> --- /dev/null
> +++ b/drivers/net/avf/meson.build
> @@ -0,0 +1,15 @@
> +# SPDX-License-Identifier: BSD-3-Clause
> +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
> +
> +subdir('base')
> +objs = [base_objs]
> +
> +sources = files(
> + 'avf_ethdev.c',
> + 'avf_rxtx.c',
> + 'avf_rxtx_vec_sse.c',
> + 'avf_vchnl.c',
> +)
> +if arch_subdir == 'x86'
> + sources += files('avf_rxtx_vec_sse.c')
> +endif
Missed this set had been sent, so please see comment on V2 re. needed
warning-disable flag, and need for VECTOR define flag for x86.
/Bruce
Use same autoconf generation mechanism as the MLX4/5 PMDs Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/tap/meson.build | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 drivers/net/tap/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index c7a2d0e7db..b7b4870eb8 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -27,6 +27,7 @@ drivers = ['af_packet', 'sfc', 'softnic', 'szedata2', + 'tap', 'thunderx', 'vhost', 'virtio'] diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build new file mode 100644 index 0000000000..37f65b75c2 --- /dev/null +++ b/drivers/net/tap/meson.build @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'rte_eth_tap.c', + 'tap_bpf_api.c', + 'tap_flow.c', + 'tap_intr.c', + 'tap_netlink.c', + 'tap_tcmsgs.c', +) + +deps = ['bus_vdev', 'gso', 'hash'] + +cflags += '-DTAP_MAX_QUEUES=16' + +# To maintain the compatibility with the make build system +# tap_autoconf.h file is still generated. +# input array for meson symbol search: +# [ "MACRO to define if found", "header for the search", +# "enum/define", "symbol to search" ] +# +args = [ + [ 'HAVE_TC_FLOWER', 'linux/pkt_cls.h', + 'TCA_FLOWER_UNSPEC' ], + [ 'HAVE_TC_VLAN_ID', 'linux/pkt_cls.h', + 'TCA_FLOWER_KEY_VLAN_PRIO' ], + [ 'HAVE_TC_BPF', 'linux/pkt_cls.h', + 'TCA_BPF_UNSPEC' ], + [ 'HAVE_TC_BPF_FD', 'linux/pkt_cls.h', + 'TCA_BPF_FD' ], + [ 'HAVE_TC_ACT_BPF', 'linux/tc_act/tc_bpf.h', + 'TCA_ACT_BPF_UNSPEC' ], + [ 'HAVE_TC_ACT_BPF_FD', 'linux/tc_act/tc_bpf.h', + 'TCA_ACT_BPF_FD' ], +] +config = configuration_data() +foreach arg:args + config.set(arg[0], cc.has_header_symbol(arg[1], arg[2])) +endforeach +configure_file(output : 'tap_autoconf.h', configuration : config) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/vdev_netvsc/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 drivers/net/vdev_netvsc/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index b7b4870eb8..68ac42d67c 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -29,6 +29,7 @@ drivers = ['af_packet', 'szedata2', 'tap', 'thunderx', + 'vdev_netvsc', 'vhost', 'virtio'] std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc diff --git a/drivers/net/vdev_netvsc/meson.build b/drivers/net/vdev_netvsc/meson.build new file mode 100644 index 0000000000..cc956e7b27 --- /dev/null +++ b/drivers/net/vdev_netvsc/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files('vdev_netvsc.c') + +allow_experimental_apis = true + +cflags_options = [ + '-Wall', + '-Wextra', + '-D_BSD_SOURCE', + '-D_DEFAULT_SOURCE', + '-D_XOPEN_SOURCE=600' +] +foreach option:cflags_options + if cc.has_argument(option) + cflags += option + endif +endforeach -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/crypto/meson.build | 2 +- drivers/crypto/scheduler/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 drivers/crypto/scheduler/meson.build diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build index d64ca418bc..6ed853b7ab 100644 --- a/drivers/crypto/meson.build +++ b/drivers/crypto/meson.build @@ -2,7 +2,7 @@ # Copyright(c) 2017 Intel Corporation drivers = ['ccp', 'dpaa_sec', 'dpaa2_sec', 'mvsam', - 'null', 'openssl', 'qat', 'virtio'] + 'null', 'openssl', 'qat', 'scheduler', 'virtio'] std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' diff --git a/drivers/crypto/scheduler/meson.build b/drivers/crypto/scheduler/meson.build new file mode 100644 index 0000000000..c5ba2d6804 --- /dev/null +++ b/drivers/crypto/scheduler/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bus_vdev', 'reorder'] +name = 'crypto_scheduler' +sources = files( + 'rte_cryptodev_scheduler.c', + 'scheduler_failover.c', + 'scheduler_multicore.c', + 'scheduler_pkt_size_distr.c', + 'scheduler_pmd.c', + 'scheduler_pmd_ops.c', + 'scheduler_roundrobin.c', +) + +headers = files( + 'rte_cryptodev_scheduler.h', + 'rte_cryptodev_scheduler_operations.h', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++ drivers/net/avf/meson.build | 19 +++++++++++++++++++ drivers/net/meson.build | 1 + 3 files changed, 40 insertions(+) create mode 100644 drivers/net/avf/base/meson.build create mode 100644 drivers/net/avf/meson.build diff --git a/drivers/net/avf/base/meson.build b/drivers/net/avf/base/meson.build new file mode 100644 index 0000000000..90fd6b445f --- /dev/null +++ b/drivers/net/avf/base/meson.build @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'avf_adminq.c', + 'avf_common.c', +] + +error_cflags = ['-Wno-pointer-to-int-cast'] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('avf_base', sources, + dependencies: static_rte_eal, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/avf/meson.build b/drivers/net/avf/meson.build new file mode 100644 index 0000000000..b5ad9cc673 --- /dev/null +++ b/drivers/net/avf/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +cflags += ['-Wno-strict-aliasing'] + +subdir('base') +objs = [base_objs] + +sources = files( + 'avf_ethdev.c', + 'avf_rxtx.c', + 'avf_rxtx_vec_sse.c', + 'avf_vchnl.c', +) + +if arch_subdir == 'x86' + dpdk_conf.set('RTE_LIBRTE_AVF_INC_VECTOR', 1) + sources += files('avf_rxtx_vec_sse.c') +endif diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 68ac42d67c..28efeda0b6 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -3,6 +3,7 @@ drivers = ['af_packet', 'ark', + 'avf', 'avp', 'axgbe', 'bonding', 'bnx2x', -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> Acked-by: Shahed Shaikh <shahed.shaikh@cavium.com> --- config/rte_config.h | 3 ++ drivers/net/meson.build | 2 +- drivers/net/qede/base/meson.build | 57 +++++++++++++++++++++++++++++++ drivers/net/qede/meson.build | 12 +++++++ 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 drivers/net/qede/base/meson.build create mode 100644 drivers/net/qede/meson.build diff --git a/config/rte_config.h b/config/rte_config.h index 46775a8419..ee84f04977 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -116,4 +116,7 @@ #define RTE_PMD_RING_MAX_RX_RINGS 16 #define RTE_PMD_RING_MAX_TX_RINGS 16 +/* QEDE PMD defines */ +#define RTE_LIBRTE_QEDE_FW "" + #endif /* _RTE_CONFIG_H_ */ diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 28efeda0b6..74f4109161 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -24,7 +24,7 @@ drivers = ['af_packet', 'mvpp2', 'netvsc', 'nfp', - 'null', 'octeontx', 'pcap', 'ring', + 'null', 'octeontx', 'pcap', 'qede', 'ring', 'sfc', 'softnic', 'szedata2', diff --git a/drivers/net/qede/base/meson.build b/drivers/net/qede/base/meson.build new file mode 100644 index 0000000000..59b41c895d --- /dev/null +++ b/drivers/net/qede/base/meson.build @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'bcm_osal.c', + 'ecore_cxt.c', + 'ecore_dcbx.c', + 'ecore_dev.c', + 'ecore_hw.c', + 'ecore_init_fw_funcs.c', + 'ecore_init_ops.c', + 'ecore_int.c', + 'ecore_l2.c', + 'ecore_mcp.c', + 'ecore_sp_commands.c', + 'ecore_spq.c', + 'ecore_sriov.c', + 'ecore_vf.c', +] + + +error_cflags = [ + '-Wno-unused-parameter', + '-Wno-sign-compare', + '-Wno-missing-prototypes', + '-Wno-cast-qual', + '-Wno-unused-function', + '-Wno-unused-variable', + '-Wno-strict-aliasing', + '-Wno-missing-prototypes', + '-Wno-unused-value', + '-Wno-format-nonliteral', + '-Wno-shift-negative-value', + '-Wno-unused-but-set-variable', + '-Wno-missing-declarations', + '-Wno-maybe-uninitialized', + '-Wno-strict-prototypes', + '-Wno-shift-negative-value', + '-Wno-implicit-fallthrough', + '-Wno-format-extra-args', + '-Wno-visibility', + '-Wno-empty-body', + '-Wno-invalid-source-encoding', + '-Wno-sometimes-uninitialized', + '-Wno-pointer-bool-conversion', +] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('qede_base', sources, + dependencies: static_rte_net, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build new file mode 100644 index 0000000000..6280073a56 --- /dev/null +++ b/drivers/net/qede/meson.build @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +subdir('base') +objs = [base_objs] + +sources = files( + 'qede_ethdev.c', + 'qede_fdir.c', + 'qede_main.c', + 'qede_rxtx.c', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/baseband/meson.build | 7 +++++++ drivers/baseband/null/meson.build | 7 +++++++ drivers/meson.build | 1 + 3 files changed, 15 insertions(+) create mode 100644 drivers/baseband/meson.build create mode 100644 drivers/baseband/null/meson.build diff --git a/drivers/baseband/meson.build b/drivers/baseband/meson.build new file mode 100644 index 0000000000..52489df354 --- /dev/null +++ b/drivers/baseband/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +drivers = ['null'] + +config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' +driver_name_fmt = 'rte_pmd_@0@' diff --git a/drivers/baseband/null/meson.build b/drivers/baseband/null/meson.build new file mode 100644 index 0000000000..64c29d8600 --- /dev/null +++ b/drivers/baseband/null/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bbdev', 'bus_vdev', 'ring'] +name = 'bbdev_null' +allow_experimental_apis = true +sources = files('bbdev_null.c') diff --git a/drivers/meson.build b/drivers/meson.build index f94e2fe672..14e335ec1d 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -9,6 +9,7 @@ driver_classes = ['common', 'crypto', # depends on common, bus and mempool (net in future). 'compress', # depends on common, bus, mempool. 'event', # depends on common, bus, mempool and net. + 'baseband', # depends on common and bus. 'raw'] # depends on common, bus, mempool, net and event. default_cflags = machine_args -- 2.18.0
So that it can be used from Meson as well Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/opdl/Makefile | 2 +- ...md_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename drivers/event/opdl/{rte_pmd_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} (100%) diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile index cea8118d36..bf50a60a0b 100644 --- a/drivers/event/opdl/Makefile +++ b/drivers/event/opdl/Makefile @@ -24,7 +24,7 @@ LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool LIBABIVER := 1 # versioning export map -EXPORT_MAP := rte_pmd_evdev_opdl_version.map +EXPORT_MAP := rte_pmd_opdl_event_version.map # library source files SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c diff --git a/drivers/event/opdl/rte_pmd_evdev_opdl_version.map b/drivers/event/opdl/rte_pmd_opdl_event_version.map similarity index 100% rename from drivers/event/opdl/rte_pmd_evdev_opdl_version.map rename to drivers/event/opdl/rte_pmd_opdl_event_version.map -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/meson.build | 2 +- drivers/event/opdl/meson.build | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 drivers/event/opdl/meson.build diff --git a/drivers/event/meson.build b/drivers/event/meson.build index e951199358..ed56d20062 100644 --- a/drivers/event/meson.build +++ b/drivers/event/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -drivers = ['dpaa', 'dpaa2', 'octeontx', 'skeleton', 'sw'] +drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw'] std_deps = ['eventdev', 'kvargs'] config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD' driver_name_fmt = 'rte_pmd_@0@_event' diff --git a/drivers/event/opdl/meson.build b/drivers/event/opdl/meson.build new file mode 100644 index 0000000000..cc6029c6f0 --- /dev/null +++ b/drivers/event/opdl/meson.build @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'opdl_evdev.c', + 'opdl_evdev_init.c', + 'opdl_evdev_xstats.c', + 'opdl_ring.c', + 'opdl_test.c', +) +deps += ['bus_vdev'] -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 4 +++- drivers/net/vmxnet3/meson.build | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 drivers/net/vmxnet3/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 74f4109161..5906283c2f 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -32,7 +32,9 @@ drivers = ['af_packet', 'thunderx', 'vdev_netvsc', 'vhost', - 'virtio'] + 'virtio', + 'vmxnet3', +] 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/vmxnet3/meson.build b/drivers/net/vmxnet3/meson.build new file mode 100644 index 0000000000..a92bd28680 --- /dev/null +++ b/drivers/net/vmxnet3/meson.build @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +allow_experimental_apis = true +sources += files( + 'vmxnet3_ethdev.c', + 'vmxnet3_rxtx.c', +) + +error_cflags = [ + '-Wno-unused-parameter', '-Wno-unused-value', + '-Wno-strict-aliasing', '-Wno-format-extra-args', +] +foreach flag: error_cflags + if cc.has_argument(flag) + cflags += flag + endif +endforeach -- 2.18.0
On Thu, 2018-09-13 at 15:49 +0100, Bruce Richardson wrote:
> On Thu, Sep 13, 2018 at 02:41:35PM +0100, Luca Boccassi wrote:
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
> > drivers/net/avf/meson.build | 15 +++++++++++++++
> > drivers/net/meson.build | 1 +
> > 3 files changed, 36 insertions(+)
> > create mode 100644 drivers/net/avf/base/meson.build
> > create mode 100644 drivers/net/avf/meson.build
> >
> > diff --git a/drivers/net/avf/base/meson.build
> > b/drivers/net/avf/base/meson.build
> > new file mode 100644
> > index 0000000000..90fd6b445f
> > --- /dev/null
> > +++ b/drivers/net/avf/base/meson.build
> > @@ -0,0 +1,20 @@
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
> > +
> > +sources = [
> > + 'avf_adminq.c',
> > + 'avf_common.c',
> > +]
> > +
> > +error_cflags = ['-Wno-pointer-to-int-cast']
> > +c_args = cflags
> > +foreach flag: error_cflags
> > + if cc.has_argument(flag)
> > + c_args += flag
> > + endif
> > +endforeach
> > +
> > +base_lib = static_library('avf_base', sources,
> > + dependencies: static_rte_eal,
> > + c_args: c_args)
> > +base_objs = base_lib.extract_all_objects()
> > diff --git a/drivers/net/avf/meson.build
> > b/drivers/net/avf/meson.build
> > new file mode 100644
> > index 0000000000..d341f029b2
> > --- /dev/null
> > +++ b/drivers/net/avf/meson.build
> > @@ -0,0 +1,15 @@
> > +# SPDX-License-Identifier: BSD-3-Clause
> > +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
> > +
> > +subdir('base')
> > +objs = [base_objs]
> > +
> > +sources = files(
> > + 'avf_ethdev.c',
> > + 'avf_rxtx.c',
> > + 'avf_rxtx_vec_sse.c',
> > + 'avf_vchnl.c',
> > +)
> > +if arch_subdir == 'x86'
> > + sources += files('avf_rxtx_vec_sse.c')
> > +endif
>
> Missed this set had been sent, so please see comment on V2 re. needed
> warning-disable flag, and need for VECTOR define flag for x86.
>
> /Bruce
Ok, thanks, done in v4
--
Kind regards,
Luca Boccassi
-----Original Message----- From: Luca Boccassi <bluca@debian.org> Date: Monday, September 10, 2018 at 1:05 PM To: "dev@dpdk.org" <dev@dpdk.org> Cc: "keith.wiles@intel.com" <keith.wiles@intel.com>, "roy.fan.zhang@intel.com" <roy.fan.zhang@intel.com>, "jingjing.wu@intel.com" <jingjing.wu@intel.com>, "wenzhuo.lu@intel.com" <wenzhuo.lu@intel.com>, "rasesh.mody@cavium.com" <rasesh.mody@cavium.com>, "harish.patil@cavium.com" <harish.patil@cavium.com>, "shahed.shaikh@cavium.com" <shahed.shaikh@cavium.com>, "amr.mokhtar@intel.com" <amr.mokhtar@intel.com>, "shijith.thotton@cavium.com" <shijith.thotton@cavium.com>, "ssrinivasan@cavium.com" <ssrinivasan@cavium.com>, "liang.j.ma@intel.com" <liang.j.ma@intel.com>, "peter.mccarthy@intel.com" <peter.mccarthy@intel.com>, "jerin.jacob@caviumnetworks.com" <jerin.jacob@caviumnetworks.com>, "maciej.czekaj@caviumnetworks.com" <maciej.czekaj@caviumnetworks.com>, "arybchenko@solarflare.com" <arybchenko@solarflare.com>, "antosh.shukla@caviumnetworks.com" <antosh.shukla@caviumnetworks.com>, "ashish.gupta@cavium.com" <ashish.gupta@cavium.com>, Yong Wang <yongwang@vmware.com>, "bruce.richardson@intel.com" <bruce.richardson@intel.com>, "thomas@monjalon.net" <thomas@monjalon.net> Subject: [PATCH 14/15] net/vmxnet3: rename version map after library file name The library is called librte_pmd_vmxnet3_uio, so rename the map file and set the name in the meson file so that the built library names with meson and legacy makefiles are the same Signed-off-by: Luca Boccassi <bluca@debian.org> --- Not directly related to this change but I have some question on the uio naming. The original motivation is from the following commit: commit 1daf0aae7fd6b3bc38952e9817a1653c1258be66 Author: Thomas Monjalon <thomas.monjalon@6wind.com> Date: Fri Mar 21 13:52:17 2014 +0100 vmxnet3: rename library In order to distinguish clearly this implementation from the extension vmxnet3-usermap, it is renamed to reflect its usage of uio framework. Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: Thomas Graf <tgraf@redhat.com> However, this version of vmxnet3 can also be bound to vfio-pci driver. I think having the uio naming in that case will be misleading. drivers/net/vmxnet3/Makefile | 2 +- ..._pmd_vmxnet3_version.map => rte_pmd_vmxnet3_uio_version.map} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename drivers/net/vmxnet3/{rte_pmd_vmxnet3_version.map => rte_pmd_vmxnet3_uio_version.map} (100%) diff --git a/drivers/net/vmxnet3/Makefile b/drivers/net/vmxnet3/Makefile index f1141da674..9848cd224f 100644 --- a/drivers/net/vmxnet3/Makefile +++ b/drivers/net/vmxnet3/Makefile @@ -43,7 +43,7 @@ LDLIBS += -lrte_bus_pci VPATH += $(SRCDIR)/base -EXPORT_MAP := rte_pmd_vmxnet3_version.map +EXPORT_MAP := rte_pmd_vmxnet3_uio_version.map LIBABIVER := 1 diff --git a/drivers/net/vmxnet3/rte_pmd_vmxnet3_version.map b/drivers/net/vmxnet3/rte_pmd_vmxnet3_uio_version.map similarity index 100% rename from drivers/net/vmxnet3/rte_pmd_vmxnet3_version.map rename to drivers/net/vmxnet3/rte_pmd_vmxnet3_uio_version.map -- 2.18.0
13/09/2018 23:44, Yong Wang:
> From: Luca Boccassi <bluca@debian.org>
> The library is called librte_pmd_vmxnet3_uio, so rename the map
> file and set the name in the meson file so that the built library names
> with meson and legacy makefiles are the same
>
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
>
> Not directly related to this change but I have some question on the uio naming. The original motivation is from the following commit:
>
> commit 1daf0aae7fd6b3bc38952e9817a1653c1258be66
> Author: Thomas Monjalon <thomas.monjalon@6wind.com>
> Date: Fri Mar 21 13:52:17 2014 +0100
>
> vmxnet3: rename library
>
> In order to distinguish clearly this implementation from the extension
> vmxnet3-usermap, it is renamed to reflect its usage of uio framework.
>
> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
> Acked-by: Thomas Graf <tgraf@redhat.com>
>
> However, this version of vmxnet3 can also be bound to vfio-pci driver. I think having the uio naming in that case will be misleading.
Yes, i agree.
vmxnet3-usermap is not maintained anymore, so we can remove the uio suffix.
Use same autoconf generation mechanism as the MLX4/5 PMDs Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/tap/meson.build | 41 +++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100644 drivers/net/tap/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index c7a2d0e7db..b7b4870eb8 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -27,6 +27,7 @@ drivers = ['af_packet', 'sfc', 'softnic', 'szedata2', + 'tap', 'thunderx', 'vhost', 'virtio'] diff --git a/drivers/net/tap/meson.build b/drivers/net/tap/meson.build new file mode 100644 index 0000000000..37f65b75c2 --- /dev/null +++ b/drivers/net/tap/meson.build @@ -0,0 +1,41 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'rte_eth_tap.c', + 'tap_bpf_api.c', + 'tap_flow.c', + 'tap_intr.c', + 'tap_netlink.c', + 'tap_tcmsgs.c', +) + +deps = ['bus_vdev', 'gso', 'hash'] + +cflags += '-DTAP_MAX_QUEUES=16' + +# To maintain the compatibility with the make build system +# tap_autoconf.h file is still generated. +# input array for meson symbol search: +# [ "MACRO to define if found", "header for the search", +# "enum/define", "symbol to search" ] +# +args = [ + [ 'HAVE_TC_FLOWER', 'linux/pkt_cls.h', + 'TCA_FLOWER_UNSPEC' ], + [ 'HAVE_TC_VLAN_ID', 'linux/pkt_cls.h', + 'TCA_FLOWER_KEY_VLAN_PRIO' ], + [ 'HAVE_TC_BPF', 'linux/pkt_cls.h', + 'TCA_BPF_UNSPEC' ], + [ 'HAVE_TC_BPF_FD', 'linux/pkt_cls.h', + 'TCA_BPF_FD' ], + [ 'HAVE_TC_ACT_BPF', 'linux/tc_act/tc_bpf.h', + 'TCA_ACT_BPF_UNSPEC' ], + [ 'HAVE_TC_ACT_BPF_FD', 'linux/tc_act/tc_bpf.h', + 'TCA_ACT_BPF_FD' ], +] +config = configuration_data() +foreach arg:args + config.set(arg[0], cc.has_header_symbol(arg[1], arg[2])) +endforeach +configure_file(output : 'tap_autoconf.h', configuration : config) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 1 + drivers/net/vdev_netvsc/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) create mode 100644 drivers/net/vdev_netvsc/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index b7b4870eb8..68ac42d67c 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -29,6 +29,7 @@ drivers = ['af_packet', 'szedata2', 'tap', 'thunderx', + 'vdev_netvsc', 'vhost', 'virtio'] std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc diff --git a/drivers/net/vdev_netvsc/meson.build b/drivers/net/vdev_netvsc/meson.build new file mode 100644 index 0000000000..cc956e7b27 --- /dev/null +++ b/drivers/net/vdev_netvsc/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files('vdev_netvsc.c') + +allow_experimental_apis = true + +cflags_options = [ + '-Wall', + '-Wextra', + '-D_BSD_SOURCE', + '-D_DEFAULT_SOURCE', + '-D_XOPEN_SOURCE=600' +] +foreach option:cflags_options + if cc.has_argument(option) + cflags += option + endif +endforeach -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/crypto/meson.build | 2 +- drivers/crypto/scheduler/meson.build | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 drivers/crypto/scheduler/meson.build diff --git a/drivers/crypto/meson.build b/drivers/crypto/meson.build index d64ca418bc..6ed853b7ab 100644 --- a/drivers/crypto/meson.build +++ b/drivers/crypto/meson.build @@ -2,7 +2,7 @@ # Copyright(c) 2017 Intel Corporation drivers = ['ccp', 'dpaa_sec', 'dpaa2_sec', 'mvsam', - 'null', 'openssl', 'qat', 'virtio'] + 'null', 'openssl', 'qat', 'scheduler', 'virtio'] std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' diff --git a/drivers/crypto/scheduler/meson.build b/drivers/crypto/scheduler/meson.build new file mode 100644 index 0000000000..c5ba2d6804 --- /dev/null +++ b/drivers/crypto/scheduler/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bus_vdev', 'reorder'] +name = 'crypto_scheduler' +sources = files( + 'rte_cryptodev_scheduler.c', + 'scheduler_failover.c', + 'scheduler_multicore.c', + 'scheduler_pkt_size_distr.c', + 'scheduler_pmd.c', + 'scheduler_pmd_ops.c', + 'scheduler_roundrobin.c', +) + +headers = files( + 'rte_cryptodev_scheduler.h', + 'rte_cryptodev_scheduler_operations.h', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++ drivers/net/avf/meson.build | 19 +++++++++++++++++++ drivers/net/meson.build | 1 + 3 files changed, 40 insertions(+) create mode 100644 drivers/net/avf/base/meson.build create mode 100644 drivers/net/avf/meson.build diff --git a/drivers/net/avf/base/meson.build b/drivers/net/avf/base/meson.build new file mode 100644 index 0000000000..90fd6b445f --- /dev/null +++ b/drivers/net/avf/base/meson.build @@ -0,0 +1,20 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'avf_adminq.c', + 'avf_common.c', +] + +error_cflags = ['-Wno-pointer-to-int-cast'] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('avf_base', sources, + dependencies: static_rte_eal, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/avf/meson.build b/drivers/net/avf/meson.build new file mode 100644 index 0000000000..b5ad9cc673 --- /dev/null +++ b/drivers/net/avf/meson.build @@ -0,0 +1,19 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +cflags += ['-Wno-strict-aliasing'] + +subdir('base') +objs = [base_objs] + +sources = files( + 'avf_ethdev.c', + 'avf_rxtx.c', + 'avf_rxtx_vec_sse.c', + 'avf_vchnl.c', +) + +if arch_subdir == 'x86' + dpdk_conf.set('RTE_LIBRTE_AVF_INC_VECTOR', 1) + sources += files('avf_rxtx_vec_sse.c') +endif diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 68ac42d67c..28efeda0b6 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -3,6 +3,7 @@ drivers = ['af_packet', 'ark', + 'avf', 'avp', 'axgbe', 'bonding', 'bnx2x', -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> Acked-by: Shahed Shaikh <shahed.shaikh@cavium.com> --- config/rte_config.h | 3 ++ drivers/net/meson.build | 2 +- drivers/net/qede/base/meson.build | 57 +++++++++++++++++++++++++++++++ drivers/net/qede/meson.build | 12 +++++++ 4 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 drivers/net/qede/base/meson.build create mode 100644 drivers/net/qede/meson.build diff --git a/config/rte_config.h b/config/rte_config.h index 46775a8419..ee84f04977 100644 --- a/config/rte_config.h +++ b/config/rte_config.h @@ -116,4 +116,7 @@ #define RTE_PMD_RING_MAX_RX_RINGS 16 #define RTE_PMD_RING_MAX_TX_RINGS 16 +/* QEDE PMD defines */ +#define RTE_LIBRTE_QEDE_FW "" + #endif /* _RTE_CONFIG_H_ */ diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 28efeda0b6..74f4109161 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -24,7 +24,7 @@ drivers = ['af_packet', 'mvpp2', 'netvsc', 'nfp', - 'null', 'octeontx', 'pcap', 'ring', + 'null', 'octeontx', 'pcap', 'qede', 'ring', 'sfc', 'softnic', 'szedata2', diff --git a/drivers/net/qede/base/meson.build b/drivers/net/qede/base/meson.build new file mode 100644 index 0000000000..59b41c895d --- /dev/null +++ b/drivers/net/qede/base/meson.build @@ -0,0 +1,57 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = [ + 'bcm_osal.c', + 'ecore_cxt.c', + 'ecore_dcbx.c', + 'ecore_dev.c', + 'ecore_hw.c', + 'ecore_init_fw_funcs.c', + 'ecore_init_ops.c', + 'ecore_int.c', + 'ecore_l2.c', + 'ecore_mcp.c', + 'ecore_sp_commands.c', + 'ecore_spq.c', + 'ecore_sriov.c', + 'ecore_vf.c', +] + + +error_cflags = [ + '-Wno-unused-parameter', + '-Wno-sign-compare', + '-Wno-missing-prototypes', + '-Wno-cast-qual', + '-Wno-unused-function', + '-Wno-unused-variable', + '-Wno-strict-aliasing', + '-Wno-missing-prototypes', + '-Wno-unused-value', + '-Wno-format-nonliteral', + '-Wno-shift-negative-value', + '-Wno-unused-but-set-variable', + '-Wno-missing-declarations', + '-Wno-maybe-uninitialized', + '-Wno-strict-prototypes', + '-Wno-shift-negative-value', + '-Wno-implicit-fallthrough', + '-Wno-format-extra-args', + '-Wno-visibility', + '-Wno-empty-body', + '-Wno-invalid-source-encoding', + '-Wno-sometimes-uninitialized', + '-Wno-pointer-bool-conversion', +] +c_args = cflags +foreach flag: error_cflags + if cc.has_argument(flag) + c_args += flag + endif +endforeach + +base_lib = static_library('qede_base', sources, + dependencies: static_rte_net, + c_args: c_args) +base_objs = base_lib.extract_all_objects() diff --git a/drivers/net/qede/meson.build b/drivers/net/qede/meson.build new file mode 100644 index 0000000000..6280073a56 --- /dev/null +++ b/drivers/net/qede/meson.build @@ -0,0 +1,12 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +subdir('base') +objs = [base_objs] + +sources = files( + 'qede_ethdev.c', + 'qede_fdir.c', + 'qede_main.c', + 'qede_rxtx.c', +) -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/baseband/meson.build | 7 +++++++ drivers/baseband/null/meson.build | 7 +++++++ drivers/meson.build | 1 + 3 files changed, 15 insertions(+) create mode 100644 drivers/baseband/meson.build create mode 100644 drivers/baseband/null/meson.build diff --git a/drivers/baseband/meson.build b/drivers/baseband/meson.build new file mode 100644 index 0000000000..52489df354 --- /dev/null +++ b/drivers/baseband/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +drivers = ['null'] + +config_flag_fmt = 'RTE_LIBRTE_@0@_PMD' +driver_name_fmt = 'rte_pmd_@0@' diff --git a/drivers/baseband/null/meson.build b/drivers/baseband/null/meson.build new file mode 100644 index 0000000000..64c29d8600 --- /dev/null +++ b/drivers/baseband/null/meson.build @@ -0,0 +1,7 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +deps += ['bbdev', 'bus_vdev', 'ring'] +name = 'bbdev_null' +allow_experimental_apis = true +sources = files('bbdev_null.c') diff --git a/drivers/meson.build b/drivers/meson.build index c5df313dd2..47b4215a30 100644 --- a/drivers/meson.build +++ b/drivers/meson.build @@ -9,6 +9,7 @@ driver_classes = ['common', 'crypto', # depends on common, bus and mempool (net in future). 'compress', # depends on common, bus, mempool. 'event', # depends on common, bus, mempool and net. + 'baseband', # depends on common and bus. 'raw'] # depends on common, bus, mempool, net and event. default_cflags = machine_args -- 2.18.0
So that it can be used from Meson as well Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/opdl/Makefile | 2 +- ...md_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename drivers/event/opdl/{rte_pmd_evdev_opdl_version.map => rte_pmd_opdl_event_version.map} (100%) diff --git a/drivers/event/opdl/Makefile b/drivers/event/opdl/Makefile index cea8118d36..bf50a60a0b 100644 --- a/drivers/event/opdl/Makefile +++ b/drivers/event/opdl/Makefile @@ -24,7 +24,7 @@ LDLIBS += -lrte_bus_vdev -lrte_mbuf -lrte_mempool LIBABIVER := 1 # versioning export map -EXPORT_MAP := rte_pmd_evdev_opdl_version.map +EXPORT_MAP := rte_pmd_opdl_event_version.map # library source files SRCS-$(CONFIG_RTE_LIBRTE_PMD_OPDL_EVENTDEV) += opdl_ring.c diff --git a/drivers/event/opdl/rte_pmd_evdev_opdl_version.map b/drivers/event/opdl/rte_pmd_opdl_event_version.map similarity index 100% rename from drivers/event/opdl/rte_pmd_evdev_opdl_version.map rename to drivers/event/opdl/rte_pmd_opdl_event_version.map -- 2.18.0
Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/event/meson.build | 2 +- drivers/event/opdl/meson.build | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 drivers/event/opdl/meson.build diff --git a/drivers/event/meson.build b/drivers/event/meson.build index e951199358..ed56d20062 100644 --- a/drivers/event/meson.build +++ b/drivers/event/meson.build @@ -1,7 +1,7 @@ # SPDX-License-Identifier: BSD-3-Clause # Copyright(c) 2017 Intel Corporation -drivers = ['dpaa', 'dpaa2', 'octeontx', 'skeleton', 'sw'] +drivers = ['dpaa', 'dpaa2', 'octeontx', 'opdl', 'skeleton', 'sw'] std_deps = ['eventdev', 'kvargs'] config_flag_fmt = 'RTE_LIBRTE_@0@_EVENTDEV_PMD' driver_name_fmt = 'rte_pmd_@0@_event' diff --git a/drivers/event/opdl/meson.build b/drivers/event/opdl/meson.build new file mode 100644 index 0000000000..cc6029c6f0 --- /dev/null +++ b/drivers/event/opdl/meson.build @@ -0,0 +1,11 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +sources = files( + 'opdl_evdev.c', + 'opdl_evdev_init.c', + 'opdl_evdev_xstats.c', + 'opdl_ring.c', + 'opdl_test.c', +) +deps += ['bus_vdev'] -- 2.18.0
Note that the library built by meson will not have the _uio suffix: librte_pmd_vmxnet3.so - as it follows the directory name, while the legacy makefile rename it to librte_pmd_vmxnet3_uio.so. Signed-off-by: Luca Boccassi <bluca@debian.org> --- drivers/net/meson.build | 4 +++- drivers/net/vmxnet3/meson.build | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 drivers/net/vmxnet3/meson.build diff --git a/drivers/net/meson.build b/drivers/net/meson.build index 74f4109161..5906283c2f 100644 --- a/drivers/net/meson.build +++ b/drivers/net/meson.build @@ -32,7 +32,9 @@ drivers = ['af_packet', 'thunderx', 'vdev_netvsc', 'vhost', - 'virtio'] + 'virtio', + 'vmxnet3', +] 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/vmxnet3/meson.build b/drivers/net/vmxnet3/meson.build new file mode 100644 index 0000000000..a92bd28680 --- /dev/null +++ b/drivers/net/vmxnet3/meson.build @@ -0,0 +1,18 @@ +# SPDX-License-Identifier: BSD-3-Clause +# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> + +allow_experimental_apis = true +sources += files( + 'vmxnet3_ethdev.c', + 'vmxnet3_rxtx.c', +) + +error_cflags = [ + '-Wno-unused-parameter', '-Wno-unused-value', + '-Wno-strict-aliasing', '-Wno-format-extra-args', +] +foreach flag: error_cflags + if cc.has_argument(flag) + cflags += flag + endif +endforeach -- 2.18.0
On Thu, 2018-09-13 at 17:16 +0100, Luca Boccassi wrote:
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
> drivers/net/meson.build | 4 +++-
> drivers/net/vmxnet3/meson.build | 18 ++++++++++++++++++
> 2 files changed, 21 insertions(+), 1 deletion(-)
> create mode 100644 drivers/net/vmxnet3/meson.build
>
> diff --git a/drivers/net/meson.build b/drivers/net/meson.build
> index 74f4109161..5906283c2f 100644
On request I've sent a v5 adding a note in the commit message that the
filename of the library will be different from the one generated by the
makefiles, as it doesn't have the _uio suffix, following the suggestion
to avoid renames.
The following PMDs already have meson files which build a library file
with a different name from the makefiles:
net/liquidio
net/thurnderx
net/sfc
event/octeontx
compress/octeontx
--
Kind regards,
Luca Boccassi
On Tue, Sep 18, 2018 at 04:00:12PM +0100, Luca Boccassi wrote:
> On Thu, 2018-09-13 at 17:16 +0100, Luca Boccassi wrote:
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > drivers/net/meson.build | 4 +++-
> > drivers/net/vmxnet3/meson.build | 18 ++++++++++++++++++
> > 2 files changed, 21 insertions(+), 1 deletion(-)
> > create mode 100644 drivers/net/vmxnet3/meson.build
> >
> > diff --git a/drivers/net/meson.build b/drivers/net/meson.build
> > index 74f4109161..5906283c2f 100644
>
> On request I've sent a v5 adding a note in the commit message that the
> filename of the library will be different from the one generated by the
> makefiles, as it doesn't have the _uio suffix, following the suggestion
> to avoid renames.
>
> The following PMDs already have meson files which build a library file
> with a different name from the makefiles:
>
> net/liquidio
> net/thurnderx
> net/sfc
> event/octeontx
> compress/octeontx
>
We should really start pointing people to use the pkg-config files to pull
in libraries, and with a properly installed DPDK using "ninja install", all
.so drivers should be automatically found on the PMD_PATH. Therefore, the
number of cases where built-in DPDK drivers are being explicitly loaded
individually using "-d <drivername>" should be very, very few.
Regards,
/Bruce
18/09/2018 16:58, Luca Boccassi:
> Signed-off-by: Luca Boccassi <bluca@debian.org>
> ---
> drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
> drivers/net/avf/meson.build | 19 +++++++++++++++++++
> drivers/net/meson.build | 1 +
> 3 files changed, 40 insertions(+)
I cannot merge this patch because of compilation issues
in the avf driver itself.
I will merge others and keep this one for later.
18/09/2018 16:58, Luca Boccassi:
> Use same autoconf generation mechanism as the MLX4/5 PMDs
>
> Signed-off-by: Luca Boccassi <bluca@debian.org>
Series applied, except patch 4 for avf, thanks.
On Tue, Sep 18, 2018 at 10:48:30PM +0200, Thomas Monjalon wrote: > 18/09/2018 16:58, Luca Boccassi: > > Signed-off-by: Luca Boccassi <bluca@debian.org> > > --- > > drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++ > > drivers/net/avf/meson.build | 19 +++++++++++++++++++ > > drivers/net/meson.build | 1 + > > 3 files changed, 40 insertions(+) > > I cannot merge this patch because of compilation issues > in the avf driver itself. > > I will merge others and keep this one for later. > Those should be fixed by patches: http://patches.dpdk.org/project/dpdk/list/?series=1372
19/09/2018 10:31, Bruce Richardson:
> On Tue, Sep 18, 2018 at 10:48:30PM +0200, Thomas Monjalon wrote:
> > 18/09/2018 16:58, Luca Boccassi:
> > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > ---
> > > drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
> > > drivers/net/avf/meson.build | 19 +++++++++++++++++++
> > > drivers/net/meson.build | 1 +
> > > 3 files changed, 40 insertions(+)
> >
> > I cannot merge this patch because of compilation issues
> > in the avf driver itself.
> >
> > I will merge others and keep this one for later.
> >
> Those should be fixed by patches: http://patches.dpdk.org/project/dpdk/list/?series=1372
Yes, waiting for them to be merged in next-net-intel and next-net.
On Wed, Sep 19, 2018 at 10:42:50AM +0200, Thomas Monjalon wrote:
> 19/09/2018 10:31, Bruce Richardson:
> > On Tue, Sep 18, 2018 at 10:48:30PM +0200, Thomas Monjalon wrote:
> > > 18/09/2018 16:58, Luca Boccassi:
> > > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > > ---
> > > > drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
> > > > drivers/net/avf/meson.build | 19 +++++++++++++++++++
> > > > drivers/net/meson.build | 1 +
> > > > 3 files changed, 40 insertions(+)
> > >
> > > I cannot merge this patch because of compilation issues
> > > in the avf driver itself.
> > >
> > > I will merge others and keep this one for later.
> > >
> > Those should be fixed by patches: http://patches.dpdk.org/project/dpdk/list/?series=1372
>
> Yes, waiting for them to be merged in next-net-intel and next-net.
>
To ease tracking, I'll do a v4 of the above set and include this patch in
that as a third patch. That way, we'll avoid synchronisation between the
trees.
/Bruce
On Wed, Sep 19, 2018 at 10:45:31AM +0100, Bruce Richardson wrote: > On Wed, Sep 19, 2018 at 10:42:50AM +0200, Thomas Monjalon wrote: > > 19/09/2018 10:31, Bruce Richardson: > > > On Tue, Sep 18, 2018 at 10:48:30PM +0200, Thomas Monjalon wrote: > > > > 18/09/2018 16:58, Luca Boccassi: > > > > > Signed-off-by: Luca Boccassi <bluca@debian.org> > > > > > --- > > > > > drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++ > > > > > drivers/net/avf/meson.build | 19 +++++++++++++++++++ > > > > > drivers/net/meson.build | 1 + > > > > > 3 files changed, 40 insertions(+) > > > > > > > > I cannot merge this patch because of compilation issues > > > > in the avf driver itself. > > > > > > > > I will merge others and keep this one for later. > > > > > > > Those should be fixed by patches: http://patches.dpdk.org/project/dpdk/list/?series=1372 > > > > Yes, waiting for them to be merged in next-net-intel and next-net. > > > To ease tracking, I'll do a v4 of the above set and include this patch in > that as a third patch. That way, we'll avoid synchronisation between the > trees. > > /Bruce Now superceded by: http://patches.dpdk.org/patch/44908/ from set: http://patches.dpdk.org/project/dpdk/list/?series=1386 /Bruce
On Wed, 2018-09-19 at 11:08 +0100, Bruce Richardson wrote:
> On Wed, Sep 19, 2018 at 10:45:31AM +0100, Bruce Richardson wrote:
> > On Wed, Sep 19, 2018 at 10:42:50AM +0200, Thomas Monjalon wrote:
> > > 19/09/2018 10:31, Bruce Richardson:
> > > > On Tue, Sep 18, 2018 at 10:48:30PM +0200, Thomas Monjalon
> > > > wrote:
> > > > > 18/09/2018 16:58, Luca Boccassi:
> > > > > > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > > > > > ---
> > > > > > drivers/net/avf/base/meson.build | 20 ++++++++++++++++++++
> > > > > > drivers/net/avf/meson.build | 19 +++++++++++++++++++
> > > > > > drivers/net/meson.build | 1 +
> > > > > > 3 files changed, 40 insertions(+)
> > > > >
> > > > > I cannot merge this patch because of compilation issues
> > > > > in the avf driver itself.
> > > > >
> > > > > I will merge others and keep this one for later.
> > > > >
> > > >
> > > > Those should be fixed by patches: http://patches.dpdk.org/proje
> > > > ct/dpdk/list/?series=1372
> > >
> > > Yes, waiting for them to be merged in next-net-intel and next-
> > > net.
> > >
> >
> > To ease tracking, I'll do a v4 of the above set and include this
> > patch in
> > that as a third patch. That way, we'll avoid synchronisation
> > between the
> > trees.
> >
> > /Bruce
>
> Now superceded by: http://patches.dpdk.org/patch/44908/ from set:
> http://patches.dpdk.org/project/dpdk/list/?series=1386
>
> /Bruce
Great, thanks
--
Kind regards,
Luca Boccassi