a5d4ea5943
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> |
||
---|---|---|
.. | ||
arm | ||
ppc_64 | ||
x86 | ||
common_armv8a_linux | ||
common_base | ||
common_freebsd | ||
common_linux | ||
defconfig_arm64-armada-linux-gcc | ||
defconfig_arm64-armada-linuxapp-gcc | ||
defconfig_arm64-armv8a-linux-clang | ||
defconfig_arm64-armv8a-linux-gcc | ||
defconfig_arm64-armv8a-linuxapp-clang | ||
defconfig_arm64-armv8a-linuxapp-gcc | ||
defconfig_arm64-bluefield-linux-gcc | ||
defconfig_arm64-bluefield-linuxapp-gcc | ||
defconfig_arm64-dpaa2-linux-gcc | ||
defconfig_arm64-dpaa2-linuxapp-gcc | ||
defconfig_arm64-dpaa-linux-gcc | ||
defconfig_arm64-dpaa-linuxapp-gcc | ||
defconfig_arm64-octeontx2-linux-gcc | ||
defconfig_arm64-octeontx2-linuxapp-gcc | ||
defconfig_arm64-stingray-linux-gcc | ||
defconfig_arm64-stingray-linuxapp-gcc | ||
defconfig_arm64-thunderx2-linux-gcc | ||
defconfig_arm64-thunderx2-linuxapp-gcc | ||
defconfig_arm64-thunderx-linux-gcc | ||
defconfig_arm64-thunderx-linuxapp-gcc | ||
defconfig_arm64-xgene1-linux-gcc | ||
defconfig_arm64-xgene1-linuxapp-gcc | ||
defconfig_arm-armv7a-linux-gcc | ||
defconfig_arm-armv7a-linuxapp-gcc | ||
defconfig_i686-native-linux-gcc | ||
defconfig_i686-native-linux-icc | ||
defconfig_i686-native-linuxapp-gcc | ||
defconfig_i686-native-linuxapp-icc | ||
defconfig_ppc_64-power8-linux-gcc | ||
defconfig_ppc_64-power8-linuxapp-gcc | ||
defconfig_x86_64-native-bsdapp-clang | ||
defconfig_x86_64-native-bsdapp-gcc | ||
defconfig_x86_64-native-freebsd-clang | ||
defconfig_x86_64-native-freebsd-gcc | ||
defconfig_x86_64-native-linux-clang | ||
defconfig_x86_64-native-linux-gcc | ||
defconfig_x86_64-native-linux-icc | ||
defconfig_x86_64-native-linuxapp-clang | ||
defconfig_x86_64-native-linuxapp-gcc | ||
defconfig_x86_64-native-linuxapp-icc | ||
defconfig_x86_x32-native-linux-gcc | ||
defconfig_x86_x32-native-linuxapp-gcc | ||
meson.build | ||
rte_config.h |