compat: merge compat library into EAL
Since compat library is only a single header, we can easily move it into
the EAL common headers instead of tracking it separately. The downside of
this is that it becomes a little more difficult to have any libs that are
built before EAL depend on it. Thankfully, this is not a major problem as
the only library which uses rte_compat.h and is built before EAL (kvargs)
already has the path to the compat.h header file explicitly called out as
an include path.
However, to ensure that we don't hit problems later with this, we can add
EAL common headers folder to the global include list in the meson build
which means that all common headers can be safely used by all libraries, no
matter what their build order.
As a side-effect, this patch also fixes an issue with building on BSD using
meson, due to compat lib no longer needing to be listed as a dependency.
Fixes: a8499f65a1
("log: add missing experimental tag")
Cc: stable@dpdk.org
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Tested-by: David Marchand <david.marchand@redhat.com>
Tested-by: Anatoly Burakov <anatoly.burakov@intel.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
This commit is contained in:
parent
d84c070aeb
commit
b543d1a715
|
@ -121,7 +121,6 @@ F: buildtools/symlink-drivers-solibs.sh
|
|||
|
||||
ABI versioning
|
||||
M: Neil Horman <nhorman@tuxdriver.com>
|
||||
F: lib/librte_compat/
|
||||
F: doc/guides/rel_notes/deprecation.rst
|
||||
F: devtools/validate-abi.sh
|
||||
F: devtools/check-symbol-change.sh
|
||||
|
|
|
@ -23,7 +23,6 @@ INPUT = @TOPDIR@/doc/api/doxy-api-index.md \
|
|||
@TOPDIR@/lib/librte_bpf \
|
||||
@TOPDIR@/lib/librte_cfgfile \
|
||||
@TOPDIR@/lib/librte_cmdline \
|
||||
@TOPDIR@/lib/librte_compat \
|
||||
@TOPDIR@/lib/librte_compressdev \
|
||||
@TOPDIR@/lib/librte_cryptodev \
|
||||
@TOPDIR@/lib/librte_distributor \
|
||||
|
|
|
@ -22,7 +22,6 @@ The main directories that contain files related to documentation are shown below
|
|||
|-- librte_acl
|
||||
|-- librte_cfgfile
|
||||
|-- librte_cmdline
|
||||
|-- librte_compat
|
||||
|-- librte_eal
|
||||
| |-- ...
|
||||
...
|
||||
|
|
|
@ -167,7 +167,7 @@ functionality or behavior. When that occurs, it is desirable to allow for
|
|||
backward compatibility for a time with older binaries that are dynamically
|
||||
linked to the DPDK.
|
||||
|
||||
To support backward compatibility the ``lib/librte_compat/rte_compat.h``
|
||||
To support backward compatibility the ``rte_compat.h``
|
||||
header file provides macros to use when updating exported functions. These
|
||||
macros are used in conjunction with the ``rte_<library>_version.map`` file for
|
||||
a given library to allow multiple versions of a symbol to exist in a shared
|
||||
|
|
|
@ -3,9 +3,7 @@
|
|||
|
||||
include $(RTE_SDK)/mk/rte.vars.mk
|
||||
|
||||
DIRS-y += librte_compat
|
||||
DIRS-$(CONFIG_RTE_LIBRTE_KVARGS) += librte_kvargs
|
||||
DEPDIRS-librte_kvargs := librte_compat
|
||||
DIRS-$(CONFIG_RTE_LIBRTE_EAL) += librte_eal
|
||||
DEPDIRS-librte_eal := librte_kvargs
|
||||
DIRS-$(CONFIG_RTE_LIBRTE_PCI) += librte_pci
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
|
||||
# This library is processed before EAL
|
||||
includes = [global_inc]
|
||||
includes += include_directories('../librte_eal/common/include')
|
||||
|
||||
version = 2
|
||||
sources = files('cmdline.c',
|
||||
|
|
|
@ -1,13 +0,0 @@
|
|||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2013 Neil Horman <nhorman@tuxdriver.com>
|
||||
# All rights reserved.
|
||||
|
||||
include $(RTE_SDK)/mk/rte.vars.mk
|
||||
|
||||
|
||||
LIBABIVER := 1
|
||||
|
||||
# install includes
|
||||
SYMLINK-y-include := rte_compat.h
|
||||
|
||||
include $(RTE_SDK)/mk/rte.install.mk
|
|
@ -1,8 +0,0 @@
|
|||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2017 Intel Corporation
|
||||
|
||||
|
||||
install_headers('rte_compat.h')
|
||||
|
||||
set_variable('dep_rte_compat',
|
||||
declare_dependency(include_directories: include_directories('.')))
|
|
@ -3,7 +3,7 @@
|
|||
|
||||
include $(RTE_SDK)/mk/rte.vars.mk
|
||||
|
||||
INC := rte_branch_prediction.h rte_common.h
|
||||
INC := rte_branch_prediction.h rte_common.h rte_compat.h
|
||||
INC += rte_debug.h rte_eal.h rte_eal_interrupts.h
|
||||
INC += rte_errno.h rte_launch.h rte_lcore.h
|
||||
INC += rte_log.h rte_memory.h rte_memzone.h
|
||||
|
|
|
@ -53,6 +53,7 @@ common_headers = files(
|
|||
'include/rte_bitmap.h',
|
||||
'include/rte_class.h',
|
||||
'include/rte_common.h',
|
||||
'include/rte_compat.h',
|
||||
'include/rte_debug.h',
|
||||
'include/rte_devargs.h',
|
||||
'include/rte_dev.h',
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# Copyright(c) 2017 Intel Corporation
|
||||
|
||||
eal_inc += include_directories('include', '../../../librte_compat')
|
||||
eal_inc += include_directories('include')
|
||||
install_subdir('include/exec-env', install_dir: get_option('includedir'))
|
||||
|
||||
env_objs = []
|
||||
|
|
|
@ -23,7 +23,6 @@ endif
|
|||
|
||||
version = 9 # the version of the EAL API
|
||||
allow_experimental_apis = true
|
||||
deps += 'compat'
|
||||
deps += 'kvargs'
|
||||
sources = common_sources + env_sources
|
||||
objs = common_objs + env_objs
|
||||
|
|
|
@ -2,10 +2,7 @@
|
|||
# Copyright(c) 2017 Intel Corporation
|
||||
|
||||
includes = [global_inc]
|
||||
includes += include_directories('../librte_eal/common/include')
|
||||
|
||||
version = 1
|
||||
sources = files('rte_kvargs.c')
|
||||
headers = files('rte_kvargs.h')
|
||||
|
||||
deps += 'compat'
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
# sometimes skip deps that would be implied by others, e.g. if mempool is
|
||||
# given as a dep, no need to mention ring. This is especially true for the
|
||||
# core libs which are widely reused, so their deps are kept to a minimum.
|
||||
libraries = [ 'compat', # just a header, used for versioning
|
||||
libraries = [
|
||||
'cmdline', # ethdev depends on cmdline for parsing functions
|
||||
'kvargs', # eal depends on kvargs
|
||||
'eal', 'ring', 'mempool', 'mbuf', 'net', 'meter', 'ethdev', 'pci', # core
|
||||
|
|
|
@ -32,7 +32,7 @@ eal_pmd_path = join_paths(get_option('prefix'), driver_install_path)
|
|||
# configure the build, and make sure configs here and in config folder are
|
||||
# able to be included in any file. We also store a global array of include dirs
|
||||
# for passing to pmdinfogen scripts
|
||||
global_inc = include_directories('.', 'config')
|
||||
global_inc = include_directories('.', 'config', 'lib/librte_eal/common/include')
|
||||
subdir('config')
|
||||
|
||||
# build libs and drivers
|
||||
|
|
Loading…
Reference in a new issue