build: standardize component names and defines

As discussed on the dpdk-dev mailing list[1], we can make some easy
improvements in standardizing the naming of the various components in DPDK,
and their associated feature-enabled macros.

Following this patch, each library will have the name in format,
'librte_<name>.so', and the macro indicating that library is enabled in the
build will have the form 'RTE_LIB_<NAME>'.

Similarly, for libraries, the equivalent name formats and macros are:
'librte_<class>_<name>.so' and 'RTE_<CLASS>_<NAME>', where class is the
device type taken from the relevant driver subdirectory name, i.e. 'net',
'crypto' etc.

To avoid too many changes at once for end applications, the old macro names
will still be provided in the build in this release, but will be removed
subsequently.

[1] http://inbox.dpdk.org/dev/ef7c1a87-79ab-e405-4202-39b7ad6b0c71@solarflare.com/t/#u

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Luca Boccassi <bluca@debian.org>
Acked-by: Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Acked-by: Rosen Xu <rosen.xu@intel.com>
This commit is contained in:
Bruce Richardson 2020-10-15 16:05:53 +01:00 committed by Thomas Monjalon
parent 5bd4790174
commit a20b2c01a7
40 changed files with 49 additions and 57 deletions

View File

@ -7,11 +7,11 @@ sources = files('main.c',
'test_bbdev_vector.c')
deps += ['bbdev', 'bus_vdev']
if dpdk_conf.has('RTE_LIBRTE_PMD_BBDEV_FPGA_LTE_FEC')
deps += ['pmd_bbdev_fpga_lte_fec']
deps += ['baseband_fpga_lte_fec']
endif
if dpdk_conf.has('RTE_LIBRTE_PMD_BBDEV_FPGA_5GNR_FEC')
deps += ['pmd_bbdev_fpga_5gnr_fec']
deps += ['baseband_fpga_5gnr_fec']
endif
if dpdk_conf.has('RTE_LIBRTE_PMD_BBDEV_ACC100')
deps += ['pmd_bbdev_acc100']
endif
deps += ['baseband_acc100']
endif

View File

@ -13,5 +13,5 @@ sources = files('cperf_ops.c',
'main.c')
deps += ['cryptodev', 'net', 'security']
if dpdk_conf.has('RTE_LIBRTE_PMD_CRYPTO_SCHEDULER')
deps += 'pmd_crypto_scheduler'
deps += 'crypto_scheduler'
endif

View File

@ -38,22 +38,22 @@ if dpdk_conf.has('RTE_LIBRTE_LATENCYSTATS')
deps += 'latencystats'
endif
if dpdk_conf.has('RTE_LIBRTE_PMD_CRYPTO_SCHEDULER')
deps += 'pmd_crypto_scheduler'
deps += 'crypto_scheduler'
endif
if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
deps += 'pmd_bond'
deps += 'net_bond'
endif
if dpdk_conf.has('RTE_LIBRTE_BNXT_PMD')
deps += 'pmd_bnxt'
deps += 'net_bnxt'
endif
if dpdk_conf.has('RTE_LIBRTE_I40E_PMD')
deps += 'pmd_i40e'
deps += 'net_i40e'
endif
if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD')
deps += 'pmd_ixgbe'
deps += 'net_ixgbe'
endif
if dpdk_conf.has('RTE_LIBRTE_DPAA_PMD')
deps += ['bus_dpaa', 'mempool_dpaa', 'pmd_dpaa']
deps += ['bus_dpaa', 'mempool_dpaa', 'net_dpaa']
endif
if dpdk_conf.has('RTE_LIBRTE_BPF')
sources += files('bpf_cmd.c')

View File

@ -345,7 +345,7 @@ if dpdk_conf.has('RTE_LIBRTE_STACK_MEMPOOL')
test_deps += 'mempool_stack'
endif
if dpdk_conf.has('RTE_LIBRTE_SKELETON_EVENTDEV_PMD')
test_deps += 'pmd_skeleton_event'
test_deps += 'event_skeleton'
endif
if dpdk_conf.has('RTE_LIBRTE_TELEMETRY')
test_sources += ['test_telemetry_json.c', 'test_telemetry_data.c']
@ -355,7 +355,7 @@ endif
# The following linkages of drivers are required because
# they are used via a driver-specific API.
if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
test_deps += 'pmd_bond'
test_deps += 'net_bond'
test_sources += ['test_link_bonding.c', 'test_link_bonding_rssconf.c']
driver_test_names += ['link_bonding_autotest', 'link_bonding_rssconf_autotest']
if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
@ -364,7 +364,7 @@ if dpdk_conf.has('RTE_LIBRTE_BOND_PMD')
endif
endif
if dpdk_conf.has('RTE_LIBRTE_RING_PMD')
test_deps += 'pmd_ring'
test_deps += 'net_ring'
test_sources += 'test_pmd_ring_perf.c'
test_sources += 'test_pmd_ring.c'
test_sources += 'test_event_eth_tx_adapter.c'
@ -415,7 +415,7 @@ endif
if dpdk_conf.has('RTE_LIBRTE_PMD_CRYPTO_SCHEDULER')
driver_test_names += 'cryptodev_scheduler_autotest'
test_deps += 'pmd_crypto_scheduler'
test_deps += 'crypto_scheduler'
endif
foreach d:test_deps

View File

@ -11,6 +11,14 @@ here.
Deprecation Notices
-------------------
* build: The macros defined to indicate which DPDK libraries and drivers
are included in the meson build are changing to a standardized format of
``RTE_LIB_<NAME>`` and ``RTE_<CLASS>_<NAME>``, where ``NAME`` is the
upper-case component name, e.g. EAL, ETHDEV, IXGBE, and ``CLASS`` is the
upper-case name of the device class to which a driver belongs e.g.
``NET``, ``CRYPTO``, ``VDPA``. The old macros are deprecated and will be
removed in a future release.
* meson: The minimum supported version of meson for configuring and building
DPDK will be increased to v0.47.1 (from 0.41) from DPDK 19.05 onwards. For
those users with a version earlier than 0.47.1, an updated copy of meson

View File

@ -8,4 +8,3 @@ endif
drivers = ['null', 'turbo_sw', 'fpga_lte_fec', 'fpga_5gnr_fec', 'acc100']
config_flag_fmt = 'RTE_LIBRTE_PMD_BBDEV_@0@'
driver_name_fmt = 'rte_pmd_bbdev_@0@'

View File

@ -4,4 +4,3 @@
drivers = ['dpaa', 'fslmc', 'ifpga', 'pci', 'vdev', 'vmbus']
std_deps = ['eal']
config_flag_fmt = 'RTE_LIBRTE_@0@_BUS'
driver_name_fmt = 'rte_bus_@0@'

View File

@ -8,4 +8,3 @@ endif
std_deps = ['eal']
drivers = ['cpt', 'dpaax', 'iavf', 'mvep', 'octeontx', 'octeontx2', 'sfc_efx']
config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
driver_name_fmt = 'rte_common_@0@'

View File

@ -8,7 +8,6 @@ if not is_linux
endif
config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
driver_name_fmt = 'rte_common_@0@'
deps += ['hash', 'pci', 'bus_pci', 'net', 'eal', 'kvargs']
sources += files(
'mlx5_devx_cmds.c',

View File

@ -2,7 +2,6 @@
# Copyright(c) 2017-2018 Intel Corporation
config_flag_fmt = 'RTE_LIBRTE_@0@_COMMON'
driver_name_fmt = 'rte_common_@0@'
qat_crypto = true
qat_crypto_path = 'crypto/qat'

View File

@ -9,4 +9,3 @@ drivers = ['isal', 'octeontx', 'zlib']
std_deps = ['compressdev'] # compressdev pulls in all other needed deps
config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
driver_name_fmt = 'rte_pmd_@0@'

View File

@ -1,7 +1,7 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2018 Cavium, Inc
name = 'octeontx_compress'
fmt_name = 'octeontx_compress'
sources = files('otx_zip.c', 'otx_zip_pmd.c')
includes += include_directories('include')
deps += ['mempool_octeontx', 'bus_pci']

View File

@ -27,4 +27,3 @@ drivers = ['aesni_gcm',
std_deps = ['cryptodev'] # cryptodev pulls in all other needed deps
config_flag_fmt = 'RTE_LIBRTE_PMD_@0@'
driver_name_fmt = 'rte_pmd_@0@'

View File

@ -2,5 +2,5 @@
# Copyright(c) 2017 Intel Corporation
deps += 'bus_vdev'
name = 'null_crypto'
fmt_name = 'null_crypto'
sources = files('null_crypto_pmd.c', 'null_crypto_pmd_ops.c')

View File

@ -7,7 +7,7 @@ endif
deps += ['bus_pci']
deps += ['common_cpt']
name = 'octeontx_crypto'
fmt_name = 'octeontx_crypto'
sources = files('otx_cryptodev.c',
'otx_cryptodev_capabilities.c',

View File

@ -12,7 +12,7 @@ deps += ['common_octeontx2']
deps += ['ethdev']
deps += ['eventdev']
deps += ['security']
name = 'octeontx2_crypto'
fmt_name = 'octeontx2_crypto'
sources = files('otx2_cryptodev.c',
'otx2_cryptodev_capabilities.c',

View File

@ -2,7 +2,7 @@
# Copyright(c) 2018 Luca Boccassi <bluca@debian.org>
deps += ['bus_vdev', 'reorder']
name = 'crypto_scheduler'
fmt_name = 'crypto_scheduler'
sources = files(
'rte_cryptodev_scheduler.c',
'scheduler_failover.c',

View File

@ -3,6 +3,6 @@
includes += include_directories('../../../lib/librte_vhost')
deps += 'bus_pci'
name = 'virtio_crypto'
fmt_name = 'virtio_crypto'
sources = files('virtio_cryptodev.c', 'virtio_pci.c',
'virtio_rxtx.c', 'virtqueue.c')

View File

@ -5,7 +5,7 @@ if not is_linux
build = false
reason = 'only supported on linux'
endif
deps += ['pmd_dpaa', 'pmd_dpaa_sec']
deps += ['net_dpaa', 'crypto_dpaa_sec']
sources = files('dpaa_eventdev.c')
includes += include_directories('../../crypto/dpaa_sec/')

View File

@ -5,7 +5,7 @@ if not is_linux
build = false
reason = 'only supported on linux'
endif
deps += ['bus_vdev', 'pmd_dpaa2', 'pmd_dpaa2_sec']
deps += ['bus_vdev', 'net_dpaa2', 'crypto_dpaa2_sec']
sources = files('dpaa2_hw_dpcon.c',
'dpaa2_eventdev.c',
'dpaa2_eventdev_selftest.c')

View File

@ -12,4 +12,3 @@ if not (toolchain == 'gcc' and cc.version().version_compare('<4.8.6') and
endif
std_deps = ['eventdev', 'kvargs']
config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_EVENTDEV'
driver_name_fmt = 'rte_pmd_@0@_event'

View File

@ -10,4 +10,4 @@ sources = files('ssovf_worker.c',
'timvf_probe.c'
)
deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'pmd_octeontx']
deps += ['common_octeontx', 'mempool_octeontx', 'bus_vdev', 'net_octeontx']

View File

@ -25,7 +25,7 @@ foreach flag: extra_flags
endif
endforeach
deps += ['bus_pci', 'common_octeontx2', 'mempool_octeontx2', 'pmd_octeontx2', 'pmd_octeontx2_crypto']
deps += ['bus_pci', 'common_octeontx2', 'crypto_octeontx2', 'mempool_octeontx2', 'net_octeontx2']
includes += include_directories('../../crypto/octeontx2')
includes += include_directories('../../common/cpt')

View File

@ -4,4 +4,3 @@
drivers = ['bucket', 'dpaa', 'dpaa2', 'octeontx', 'octeontx2', 'ring', 'stack']
std_deps = ['mempool']
config_flag_fmt = 'RTE_LIBRTE_@0@_MEMPOOL'
driver_name_fmt = 'rte_mempool_@0@'

View File

@ -33,9 +33,6 @@ foreach subpath:subdirs
drivers = []
std_deps = []
config_flag_fmt = '' # format string used to set the value in dpdk_conf
driver_name_fmt = '' # format string for driver name, used to name
# the library, the dependency and to find the
# version file for linking
# subpath can be either "class" or "class/driver"
if subpath.contains('/')
@ -113,11 +110,14 @@ foreach subpath:subdirs
endif
else
enabled_drivers += name
lib_name = '_'.join(['rte', class, name])
dpdk_conf.set(lib_name.to_upper(), 1)
if fmt_name == ''
fmt_name = name
endif
dpdk_conf.set(config_flag_fmt.format(fmt_name.to_upper()),1)
dpdk_conf.set(config_flag_fmt.format(fmt_name.to_upper()),1) #old-style macro
# for driver compatibility, since we changed the
# default to match that of make. Remove in future release
# after following deprecation process
@ -133,7 +133,6 @@ foreach subpath:subdirs
dpdk_conf.set(alt_flag_fmt.format(
fmt_name.to_upper()), 1)
endif
lib_name = driver_name_fmt.format(fmt_name)
dpdk_extra_ldflags += pkgconfig_extra_libs

View File

@ -59,4 +59,3 @@ 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
config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
driver_name_fmt = 'rte_pmd_@0@'

View File

@ -116,7 +116,7 @@ configure_file(output : 'mlx4_autoconf.h', configuration : config)
# Build Glue Library
if dlopen_ibverbs
dlopen_name = 'mlx4_glue'
dlopen_lib_name = driver_name_fmt.format(dlopen_name)
dlopen_lib_name = 'rte_net_' + dlopen_name
dlopen_so_version = LIB_GLUE_VERSION
dlopen_sources = files('mlx4_glue.c')
dlopen_install_dir = [ eal_pmd_path + '-glue' ]

View File

@ -11,7 +11,7 @@ subdir('base')
objs = [base_objs]
deps += ['ethdev', 'rawdev', 'pci', 'bus_pci', 'kvargs',
'bus_vdev', 'bus_ifpga', 'net', 'pmd_i40e', 'pmd_ipn3ke']
'bus_vdev', 'bus_ifpga', 'net', 'net_i40e', 'net_ipn3ke']
sources = files('ifpga_rawdev.c')

View File

@ -12,4 +12,3 @@ drivers = ['dpaa2_cmdif', 'dpaa2_qdma',
'skeleton']
std_deps = ['rawdev']
config_flag_fmt = 'RTE_LIBRTE_PMD_@0@_RAWDEV'
driver_name_fmt = 'rte_rawdev_@0@'

View File

@ -4,4 +4,3 @@
drivers = ['mlx5', 'octeontx2']
std_deps = ['ethdev', 'kvargs'] # 'ethdev' also pulls in mbuf, net, eal etc
config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
driver_name_fmt = 'rte_pmd_@0@'

View File

@ -10,4 +10,3 @@ drivers = ['ifc',
std_deps = ['bus_pci', 'kvargs']
std_deps += ['vhost']
config_flag_fmt = 'RTE_LIBRTE_@0@_PMD'
driver_name_fmt = 'rte_pmd_@0@'

View File

@ -6,7 +6,7 @@
# To build this example as a standalone application with an already-installed
# DPDK instance, use 'make'
deps += 'pmd_bond'
deps += 'net_bond'
allow_experimental_apis = true
sources = files(
'main.c'

View File

@ -14,7 +14,7 @@ includes = include_directories('lib', 'ethtool-app')
deps += 'bus_pci'
if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD')
deps += 'pmd_ixgbe'
deps += 'net_ixgbe'
endif
allow_experimental_apis = true

View File

@ -9,7 +9,7 @@
allow_experimental_apis = true
build = dpdk_conf.has('RTE_LIBRTE_PMD_IOAT_RAWDEV')
deps += ['rawdev_ioat']
deps += ['raw_ioat']
sources = files(
'ioatfwd.c'

View File

@ -8,7 +8,7 @@
deps += 'cryptodev'
if dpdk_conf.has('RTE_LIBRTE_PMD_CRYPTO_SCHEDULER')
deps += 'pmd_crypto_scheduler'
deps += 'crypto_scheduler'
endif
allow_experimental_apis = true
sources = files(

View File

@ -16,5 +16,5 @@ sources = files(
'ntb_fwd.c'
)
if dpdk_conf.has('RTE_LIBRTE_PMD_NTB_RAWDEV')
deps += 'rawdev_ntb'
deps += 'raw_ntb'
endif

View File

@ -14,15 +14,15 @@ endif
deps += ['power']
if dpdk_conf.has('RTE_LIBRTE_BNXT_PMD')
deps += ['pmd_bnxt']
deps += ['net_bnxt']
endif
if dpdk_conf.has('RTE_LIBRTE_I40E_PMD')
deps += ['pmd_i40e']
deps += ['net_i40e']
endif
if dpdk_conf.has('RTE_LIBRTE_IXGBE_PMD')
deps += ['pmd_ixgbe']
deps += ['net_ixgbe']
endif
allow_experimental_apis = true

View File

@ -1,7 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(c) 2017 Intel Corporation
name = 'ethdev'
sources = files('ethdev_private.c',
'ethdev_profile.c',
'ethdev_trace_points.c',

View File

@ -1,8 +1,6 @@
# SPDX-License-Identifier: BSD-3-Clause
# Copyright(C) 2020 Marvell International Ltd.
name = 'graph'
sources = files('node.c', 'graph.c', 'graph_ops.c', 'graph_debug.c', 'graph_stats.c', 'graph_populate.c')
headers = files('rte_graph.h', 'rte_graph_worker.h')

View File

@ -99,7 +99,8 @@ foreach l:libraries
set_variable(name.underscorify() + '_disable_reason', reason)
else
enabled_libs += name
dpdk_conf.set('RTE_LIBRTE_' + name.to_upper(), 1)
dpdk_conf.set('RTE_LIBRTE_' + name.to_upper(), 1) #old macro
dpdk_conf.set('RTE_LIB_' + name.to_upper(), 1) # new macro
install_headers(headers)
libname = 'rte_' + name