numam-dpdk/config
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
..
arm eal/arm64: add 128-bit atomic compare exchange 2019-10-21 10:06:13 +02:00
ppc_64 config: fix build on RHEL 7.6 for Power9 2019-10-27 10:41:50 +01:00
x86 eal/x86: check rdrand and rdseed 2019-06-04 00:23:04 +02:00
common_armv8a_linux net/pfe: introduce basic functions 2019-10-23 16:43:08 +02:00
common_base net/iavf: enable AVX2 for iavf 2019-10-23 16:43:10 +02:00
common_freebsd mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
common_linux net/hns3: add build and doc infrastructure 2019-10-07 15:00:56 +02:00
defconfig_arm64-armada-linux-gcc config: add Marvell ARMADA based on armv8-a 2019-06-04 10:30:14 +02:00
defconfig_arm64-armada-linuxapp-gcc config: add Marvell ARMADA based on armv8-a 2019-06-04 10:30:14 +02:00
defconfig_arm64-armv8a-linux-clang mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-armv8a-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-armv8a-linuxapp-clang mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-armv8a-linuxapp-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-bluefield-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-bluefield-linuxapp-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-dpaa2-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-dpaa2-linuxapp-gcc net/dpaa2: add PTP driver 2019-10-08 12:14:31 +02:00
defconfig_arm64-dpaa-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-dpaa-linuxapp-gcc config: change default endianness for CAAM JR 2019-10-23 16:57:06 +02:00
defconfig_arm64-octeontx2-linux-gcc config: add octeontx2 machine 2019-04-15 22:58:20 +02:00
defconfig_arm64-octeontx2-linuxapp-gcc eal/arm64: add 128-bit atomic compare exchange 2019-10-21 10:06:13 +02:00
defconfig_arm64-stingray-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-stingray-linuxapp-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-thunderx2-linux-gcc config: add thunderx2 machine 2019-04-15 22:57:29 +02:00
defconfig_arm64-thunderx2-linuxapp-gcc eal/arm64: add 128-bit atomic compare exchange 2019-10-21 10:06:13 +02:00
defconfig_arm64-thunderx-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-thunderx-linuxapp-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-xgene1-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm64-xgene1-linuxapp-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm-armv7a-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_arm-armv7a-linuxapp-gcc net/hns3: add build and doc infrastructure 2019-10-07 15:00:56 +02:00
defconfig_i686-native-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_i686-native-linux-icc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_i686-native-linuxapp-gcc net/hns3: add build and doc infrastructure 2019-10-07 15:00:56 +02:00
defconfig_i686-native-linuxapp-icc net/hns3: add build and doc infrastructure 2019-10-07 15:00:56 +02:00
defconfig_ppc_64-power8-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_ppc_64-power8-linuxapp-gcc net/hns3: add build and doc infrastructure 2019-10-07 15:00:56 +02:00
defconfig_x86_64-native-bsdapp-clang mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-bsdapp-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-freebsd-clang mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-freebsd-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-linux-clang mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-linux-icc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-linuxapp-clang mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-linuxapp-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_64-native-linuxapp-icc net/hns3: add build and doc infrastructure 2019-10-07 15:00:56 +02:00
defconfig_x86_x32-native-linux-gcc mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
defconfig_x86_x32-native-linuxapp-gcc net/hns3: add build and doc infrastructure 2019-10-07 15:00:56 +02:00
meson.build eal: remove dead code on NUMA node detection 2019-10-24 14:15:28 +02:00
rte_config.h build: support building ABI versioned files twice 2019-10-27 12:49:28 +01:00