Go to file
Bruce Richardson a5d4ea5943 build: support building ABI versioned files twice
Any file with ABI versioned functions needs different macros for shared and
static builds, so we need to accommodate that. Rather than building
everything twice, we just flag to the build system which libraries need
that handling, by setting use_function_versioning in the meson.build files.

To ensure we don't get silent errors at build time due to this meson flag
being missed, we add an explicit error to the function versioning header
file if a known C macro is not defined. Since "make" builds always only
build one of shared or static libraries, this define can be always set, and
so is added to the global CFLAGS. For meson, the build flag - and therefore
the C define - is set for the three libraries that need the function
versioning: "distributor", "lpm" and "timer".

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Tested-by: Andrzej Ostruszka <amo@semihalf.com>
Reviewed-by: Andrzej Ostruszka <amo@semihalf.com>
2019-10-27 12:49:28 +01:00
.ci ci: exit setup on any error 2019-09-13 13:19:00 +02:00
app app/procinfo: use strlcpy for copying string 2019-10-27 11:33:24 +01:00
buildtools buildtools: make experimental symbol check lighter 2019-10-09 10:22:45 +02:00
config build: support building ABI versioned files twice 2019-10-27 12:49:28 +01:00
devtools devtools: fix cleanup of checkpatch temporary file 2019-10-21 16:19:00 +02:00
doc build: support building ABI versioned files twice 2019-10-27 12:49:28 +01:00
drivers log: add log stream accessor 2019-10-27 10:41:08 +01:00
examples kni: add ability to set min/max MTU 2019-10-27 11:07:43 +01:00
kernel kni: add ability to set min/max MTU 2019-10-27 11:07:43 +01:00
lib build: support building ABI versioned files twice 2019-10-27 12:49:28 +01:00
license fix dpdk.org URLs 2018-11-26 20:19:24 +01:00
mk build: support building ABI versioned files twice 2019-10-27 12:49:28 +01:00
usertools usertools: fix input handling in telemetry script 2019-08-08 17:42:24 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: fix missing asymmetric crypto table 2019-04-18 16:01:28 +02:00
.travis.yml ci: add missing dependencies for documentation 2019-09-13 13:04:13 +02:00
GNUmakefile test: move to app directory 2019-02-26 15:29:27 +01:00
MAINTAINERS eal: split compat header file 2019-10-27 12:49:28 +01:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt build: support disabling drivers with meson 2019-10-24 01:02:29 +02:00
meson.build build: print list of disabled components 2019-07-02 23:20:26 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
VERSION version: 19.11-rc0 2019-08-13 14:59:02 +02:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org