numam-dpdk/mk
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
..
arch replace license text with SPDX tag on PPC files 2019-08-05 17:17:09 +02:00
exec-env eal: add OS specific header file 2019-04-03 01:11:56 +02:00
internal mk: use EXTRA_CFLAGS for pmdinfogen 2018-10-25 00:02:00 +02:00
machine replace license text with SPDX tag on PPC files 2019-08-05 17:17:09 +02:00
target/generic build: support building ABI versioned files twice 2019-10-27 12:49:28 +01:00
toolchain mk: disable warning for packed member pointer 2019-05-02 23:04:38 +02:00
rte.app.mk net/pfe: introduce basic functions 2019-10-23 16:43:08 +02:00
rte.bsdmodule.mk
rte.combinedlib.mk
rte.cpuflags.mk eal/x86: check rdrand and rdseed 2019-06-04 00:23:04 +02:00
rte.extapp.mk
rte.extlib.mk
rte.extobj.mk
rte.extshared.mk use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
rte.extsubdir.mk use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
rte.gnuconfigure.mk
rte.helper.mk mk: introduce helper to check compiler argument 2019-04-15 22:55:56 +02:00
rte.hostapp.mk
rte.hostlib.mk
rte.install.mk
rte.lib.mk mk: fix build of shared library with libbsd 2019-02-24 23:23:57 +01:00
rte.module.mk
rte.obj.mk
rte.sdkbuild.mk test: move to app directory 2019-02-26 15:29:27 +01:00
rte.sdkconfig.mk build: use version number from config file 2019-03-27 09:43:47 +01:00
rte.sdkdepdirs.mk
rte.sdkdoc.mk doc: add search engine for API 2019-07-08 22:13:20 +02:00
rte.sdkexamples.mk use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
rte.sdkgcov.mk
rte.sdkinstall.mk mk: fix custom kernel directory name 2019-07-22 10:00:01 +02:00
rte.sdkroot.mk mk: use linux and freebsd in config names 2019-03-12 23:05:06 +01:00
rte.sdktest.mk test: move to app directory 2019-02-26 15:29:27 +01:00
rte.shared.mk use SPDX tag for 6WIND copyrighted files 2018-05-25 10:47:06 +02:00
rte.subdir.mk
rte.vars.mk