numam-dpdk/lib/librte_lpm
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
..
Makefile lpm6: store rules in hash table 2018-09-19 17:11:17 +02:00
meson.build build: support building ABI versioned files twice 2019-10-27 12:49:28 +01:00
rte_lpm6.c eal: split compat header file 2019-10-27 12:49:28 +01:00
rte_lpm6.h lib: use SPDX tag for Intel copyright files 2018-01-04 22:41:39 +01:00
rte_lpm_altivec.h replace license text with SPDX tag on PPC files 2019-08-05 17:17:09 +02:00
rte_lpm_neon.h lpm: replace license text with SPDX tag 2019-07-29 13:31:45 +02:00
rte_lpm_sse.h lpm: remove recursively included header file 2019-01-28 01:47:23 +01:00
rte_lpm_version.map lpm6: extend next hop field 2017-03-15 18:49:41 +01:00
rte_lpm.c eal: split compat header file 2019-10-27 12:49:28 +01:00
rte_lpm.h eal: split compat header file 2019-10-27 12:49:28 +01:00