]> git.droids-corp.org - dpdk.git/commitdiff
mk: add experimental tag check
authorNeil Horman <nhorman@tuxdriver.com>
Mon, 22 Jan 2018 01:48:05 +0000 (20:48 -0500)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 29 Jan 2018 22:35:29 +0000 (23:35 +0100)
Add checks during build to ensure that all symbols in the EXPERIMENTAL
version map section have __experimental tags on their definitions, and
enable the warnings needed to announce their use.  Also add an
ALLOW_EXPERIMENTAL_APIS define to allow individual libraries and files
to declare the acceptability of experimental api usage

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
38 files changed:
app/pdump/Makefile
app/proc_info/Makefile
app/test-bbdev/Makefile
app/test-eventdev/Makefile
app/test-pmd/Makefile
drivers/bbdev/null/Makefile
drivers/bbdev/turbo_sw/Makefile
drivers/bus/dpaa/Makefile
drivers/bus/fslmc/Makefile
drivers/crypto/dpaa2_sec/Makefile
drivers/crypto/dpaa_sec/Makefile
drivers/event/dpaa/Makefile
drivers/event/sw/Makefile
drivers/net/failsafe/Makefile
drivers/net/ixgbe/Makefile
drivers/net/sfc/Makefile
drivers/net/vdev_netvsc/Makefile
drivers/net/virtio/Makefile
examples/bbdev_app/Makefile
examples/eventdev_pipeline/Makefile
examples/flow_classify/Makefile
examples/ipsec-secgw/Makefile
examples/service_cores/Makefile
lib/librte_bbdev/Makefile
lib/librte_eal/bsdapp/eal/Makefile
lib/librte_eal/linuxapp/Makefile
lib/librte_eal/linuxapp/eal/Makefile
lib/librte_ether/Makefile
lib/librte_eventdev/Makefile
lib/librte_flow_classify/Makefile
lib/librte_mbuf/Makefile
lib/librte_security/Makefile
lib/librte_vhost/Makefile
mk/internal/rte.compile-pre.mk
mk/toolchain/clang/rte.vars.mk
mk/toolchain/gcc/rte.vars.mk
mk/toolchain/icc/rte.vars.mk
test/test/Makefile

index e6b9eea91bc7e579a3d0500ac88f30c1404f1657..bd3c208195d704f9d007c63e45b7785460603255 100644 (file)
@@ -7,6 +7,7 @@ ifeq ($(CONFIG_RTE_LIBRTE_PDUMP),y)
 
 APP = dpdk-pdump
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS)
 
 # all source are stored in SRCS-y
index 214f3f54a1e9155380f5864d8df275b3383b5e5a..9e87f524dddbb1bcf786092dad5455f9b4a6e93a 100644 (file)
@@ -5,6 +5,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 APP = dpdk-procinfo
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS)
 
 # all source are stored in SRCS-y
index 5a6e36aee7b1a3940e777768a10dd99e4053d903..9aedd77659d6fa9cb0d094c5f92d36500abf653d 100644 (file)
@@ -8,6 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 APP = testbbdev
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
index e600e21c41c63ad08dbaa3fe37dfe6ca9b64972e..cb659110e5e71e32815d4f33c19788e7529bc49c 100644 (file)
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 
 APP = dpdk-test-eventdev
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
index 34125e5612d45d1aa02929b04c39ba86b22b0870..ed588ab6d9386fd6141292523a83f319ddccde17 100644 (file)
@@ -10,6 +10,7 @@ ifeq ($(CONFIG_RTE_TEST_PMD),y)
 #
 APP = testpmd
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
index 6d8469df92bd76865b8f4c1f901ffcbff80676bd..f885a97bb3b96a9a1bf5b9e0dff22ecbc3e34ae4 100644 (file)
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_bbdev_null.a
 
 # build flags
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
index 08f24b0e74c36e6f4a1df5497604d8ab41484558..79eb5547724ea5ff4f7c57ddb0637e6a72711431 100644 (file)
@@ -11,6 +11,7 @@ endif
 LIB = librte_pmd_bbdev_turbo_sw.a
 
 # build flags
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring -lrte_kvargs
index 4eec0ef2ba6c272c8719718629913ae29aa5792a..bffaa9d92c724ca746d3dc08042c55792d91b5ad 100644 (file)
@@ -9,6 +9,7 @@ RTE_BUS_DPAA=$(RTE_SDK)/drivers/bus/dpaa
 #
 LIB = librte_bus_dpaa.a
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS := -I$(SRCDIR) $(CFLAGS)
 CFLAGS += -O3 $(WERROR_FLAGS)
 CFLAGS += -Wno-pointer-arith
index 45f76d465590f0466741d9e34f0351c4f51922fe..de237f0f75fa16e766f7631366ae2bcbdc9317cf 100644 (file)
@@ -13,6 +13,7 @@ ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_PMD),y)
 CONFIG_RTE_LIBRTE_FSLMC_BUS = $(CONFIG_RTE_LIBRTE_DPAA2_PMD)
 endif
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_DEBUG_INIT),y)
 CFLAGS += -O0 -g
 CFLAGS += "-Wno-error"
index 564840e20bb03c41cbeb1f88226efd8c89f2855a..cb6c63e69827db49b9d66d83de83ee4dd33f43e2 100644 (file)
@@ -17,6 +17,7 @@ endif
 LIB = librte_pmd_dpaa2_sec.a
 
 # build flags
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 ifeq ($(CONFIG_RTE_LIBRTE_DPAA2_SEC_DEBUG_INIT),y)
 CFLAGS += -O0 -g
 CFLAGS += "-Wno-error"
index c0b02eded074ed8f057ca8a6f6e93297866abdb8..fe2c593283e5a270299cc861a916c0d6164a7850 100644 (file)
@@ -10,6 +10,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_dpaa_sec.a
 
 # build flags
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -D _GNU_SOURCE
 ifeq ($(CONFIG_RTE_LIBRTE_DPAA_SEC_DEBUG_INIT),y)
 CFLAGS += -O0 -g
index bd0b6c9a243aefa6ce87c0ce0d55bdfc9fef4333..ddd855227ad8bc079c823c1cbc3e8ce9a6cde3b1 100644 (file)
@@ -10,6 +10,7 @@ RTE_SDK_DPAA=$(RTE_SDK)/drivers/net/dpaa
 #
 LIB = librte_pmd_dpaa_event.a
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS := -I$(SRCDIR) $(CFLAGS)
 CFLAGS += -O3 $(WERROR_FLAGS)
 CFLAGS += -Wno-pointer-arith
index c6600e8367135389b63525157c0435f032b0ed93..81236a392ad48f4c3aade5c7dab78498d69d56e5 100644 (file)
@@ -7,6 +7,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_pmd_sw_event.a
 
 # build flags
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 # for older GCC versions, allow us to initialize an event using
index ea2a8fe466b92d2243a191a51739b776f780c0fb..a3b8173aa759d4bb56df033961829c7bf83dd8f5 100644 (file)
@@ -50,6 +50,7 @@ SRCS-$(CONFIG_RTE_LIBRTE_PMD_FAILSAFE) += failsafe_flow.c
 # No exported include files
 
 # Basic CFLAGS:
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -std=gnu99 -Wextra
 CFLAGS += -O3
 CFLAGS += -I.
index 9efa5a40cd641699ba14d0835ab0ca2ae2765f87..d0804fc5bce52a96979780d6cc16e88424ad8c29 100644 (file)
@@ -8,6 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_ixgbe.a
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
index 2b17e3b178c0473f7cb06edf3db27684a8f257d0..cc4e4e5105b9c5c68a41c9162e3e8420ccedb3f8 100644 (file)
@@ -13,6 +13,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_sfc_efx.a
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/base/
 CFLAGS += -I$(SRCDIR)
 CFLAGS += -O3
index 45351b8c43e12233d9175c502d60f839a078c31b..7be1713755a7644420604e8fd9efd3b98d6b4093 100644 (file)
@@ -10,6 +10,7 @@ LIBABIVER := 1
 EXPORT_MAP := rte_pmd_vdev_netvsc_version.map
 
 # Additional compilation flags.
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += -g
 CFLAGS += -Wall -Wextra
index b215ada9759cefbaaa09e9872e96a6c1e4898ca4..6c2c9967bf2738d4dfe61486ee9f8d3d607d91f9 100644 (file)
@@ -8,6 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_pmd_virtio.a
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mbuf -lrte_mempool -lrte_ring
index 1b7ec63e028365599fc611d0de15864918015f90..cdd4a12eaa60b891e50aaa83c3708ef00cbbd253 100644 (file)
@@ -16,6 +16,7 @@ APP = bbdev
 # all source are stored in SRCS-y
 SRCS-y := main.c
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
index 94b4c86fd637f3af530591c865018fa650aeb2e9..5cdb076b561bb104387e44e697027c1bf91aaa08 100644 (file)
@@ -18,6 +18,7 @@ SRCS-y := main.c
 SRCS-y += pipeline_worker_generic.c
 SRCS-y += pipeline_worker_tx.c
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
index 56062486fa3e355d4c15a8de434f74ed65f5db6b..a00b75effb4b13e5be2acf3d5051a19d5b9938e3 100644 (file)
@@ -17,6 +17,7 @@ APP = flow_classify
 # all source are stored in SRCS-y
 SRCS-y := flow_classify.c
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 
index 9b7bacb3e68648a9f38b800a2c8db4de9103d37c..c4d07cc9ded60e366b946e0a2322fa5869ffccfe 100644 (file)
@@ -18,6 +18,7 @@ endif
 
 APP = ipsec-secgw
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3 -gdwarf-2
 CFLAGS += $(WERROR_FLAGS)
 ifeq ($(CONFIG_RTE_TOOLCHAIN_ICC),y)
index 2dc36134b98ac3a69272a44b1cf5dda514e593bb..4f79c9776a1825f8eef5d9862ec0f16f1db69135 100644 (file)
@@ -16,6 +16,7 @@ APP = service_cores
 # all source are stored in SRCS-y
 SRCS-y := main.c
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS)
 
 # workaround for a gcc bug with noreturn attribute
index f9bf960b496edaca68bcb6c6caa769e335cdae82..1451adb25d6561d07595f33c0d453c17b7d99be2 100644 (file)
@@ -10,6 +10,7 @@ LIB = librte_bbdev.a
 LIBABIVER := 1
 
 # build flags
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mempool -lrte_mbuf
index 028e81dd8e38334e075e771956939080aa31edef..dd455e671bfc873a8290f5016419cbf5be3dd59a 100644 (file)
@@ -9,6 +9,7 @@ ARCH_DIR ?= $(RTE_ARCH)
 VPATH += $(RTE_SDK)/lib/librte_eal/common
 VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/include
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
index 7e94e914a0581282a03f80dec574da016c4c2871..aa52a01ee8ad9ae094461acc5151db8059a23344 100644 (file)
@@ -8,4 +8,6 @@ DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio
 DIRS-$(CONFIG_RTE_KNI_KMOD) += kni
 DEPDIRS-kni := eal
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
+
 include $(RTE_SDK)/mk/rte.subdir.mk
index e50b73a69cff9893daea84d521a11879c3a908dc..7e5bbe8898f2af914106d19c01b1368dd3b09c4a 100644 (file)
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 LIB = librte_eal.a
 
 ARCH_DIR ?= $(RTE_ARCH)
+
 EXPORT_MAP := ../../rte_eal_version.map
 VPATH += $(RTE_SDK)/lib/librte_eal/common/arch/$(ARCH_DIR)
 
@@ -13,6 +14,7 @@ LIBABIVER := 6
 
 VPATH += $(RTE_SDK)/lib/librte_eal/common
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -I$(SRCDIR)/include
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common
 CFLAGS += -I$(RTE_SDK)/lib/librte_eal/common/include
index 34d014e7189fa3dbdce842b3c7a4914f09ce4015..3ca5782bb16fefed16d77aaa8eb0e02b1a46e44f 100644 (file)
@@ -8,6 +8,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 #
 LIB = librte_ethdev.a
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_net -lrte_eal -lrte_mempool -lrte_ring
index 7fd78c7fddccae6f6d1daab5f7017966d3c6c598..d27dd070738fd9453084573a285790498aaa6334 100644 (file)
@@ -11,6 +11,7 @@ LIB = librte_eventdev.a
 LIBABIVER := 3
 
 # build flags
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_ring -lrte_ethdev -lrte_hash
index 086afe52ddc64ab64c5aed0ee62be77726351fc3..fe9fc47ab6a7c54bb3d9e7a7b6951f8e5f644d54 100644 (file)
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_flow_classify.a
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR)
 
index e2e3ec6c31a83aa4900f5db8b20022de5c9f8535..367568ae35299e81f8ee70e5bf47901622734e66 100644 (file)
@@ -6,6 +6,7 @@ include $(RTE_SDK)/mk/rte.vars.mk
 # library name
 LIB = librte_mbuf.a
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3
 LDLIBS += -lrte_eal -lrte_mempool
 
index bd92343bda49d5c743c03c7259a64671576e6383..8daebea466e4af12e6bc90fe8c5f6c50880c1725 100644 (file)
@@ -10,6 +10,7 @@ LIB = librte_security.a
 LIBABIVER := 1
 
 # build flags
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)
 LDLIBS += -lrte_eal -lrte_mempool
index 065d5c469a115e85dbea31ec1695bd0f9981759b..5d6c6abaed5172431eaaf0f794ef3a0a425fd900 100644 (file)
@@ -10,6 +10,7 @@ EXPORT_MAP := rte_vhost_version.map
 
 LIBABIVER := 4
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
 CFLAGS += $(WERROR_FLAGS) -I$(SRCDIR) -O3 -D_FILE_OFFSET_BITS=64
 CFLAGS += -I vhost_user
 LDLIBS += -lpthread
index d1dd6df024a85c726c6f6f028983f823a01a39bc..a734cbbd0c29eeb63d3518c63476fa1479fc916c 100644 (file)
@@ -56,6 +56,9 @@ C_TO_O = $(CC) -Wp,-MD,$(call obj2dep,$(@)).tmp $(CPPFLAGS) $(CFLAGS) \
 C_TO_O_STR = $(subst ','\'',$(C_TO_O)) #'# fix syntax highlight
 C_TO_O_DISP = $(if $(V),"$(C_TO_O_STR)","  CC $(@)")
 endif
+EXPERIMENTAL_CHECK = $(RTE_SDK)/buildtools/check-experimental-syms.sh
+CHECK_EXPERIMENTAL = $(EXPERIMENTAL_CHECK) $(SRCDIR)/$(EXPORT_MAP) $@
+
 PMDINFO_GEN = $(RTE_SDK_BIN)/app/dpdk-pmdinfogen $@ $@.pmd.c
 PMDINFO_CC = $(CC) $(CPPFLAGS) $(CFLAGS) -c -o $@.pmd.o $@.pmd.c
 PMDINFO_LD = $(CROSS)ld $(LDFLAGS) -r -o $@.o $@.pmd.o $@
@@ -72,6 +75,7 @@ C_TO_O_DO = @set -e; \
        echo $(C_TO_O_DISP); \
        $(C_TO_O) && \
        $(PMDINFO_TO_O) && \
+       $(CHECK_EXPERIMENTAL) && \
        echo $(C_TO_O_CMD) > $(call obj2cmd,$(@)) && \
        sed 's,'$@':,dep_'$@' =,' $(call obj2dep,$(@)).tmp > $(call obj2dep,$(@)) && \
        rm -f $(call obj2dep,$(@)).tmp
index 52ca9fca3115ce274b83ebdb86e705da7b6ad566..3c49dc568da1168cffce457ca503658e76039ef5 100644 (file)
@@ -39,7 +39,7 @@ WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
 WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
 WERROR_FLAGS += -Wnested-externs -Wcast-qual
 WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
-WERROR_FLAGS += -Wundef -Wwrite-strings
+WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
 
 ifeq ($(RTE_DEVEL_BUILD),y)
 WERROR_FLAGS += -Werror
index 7763ba79b6fae57d869e68cbb7ecc5d70564b6b4..7e4531bab355a0660dd8fcccb47019ed8a300219 100644 (file)
@@ -47,7 +47,7 @@ WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
 WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
 WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
 WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
-WERROR_FLAGS += -Wundef -Wwrite-strings
+WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
 
 ifeq ($(RTE_DEVEL_BUILD),y)
 WERROR_FLAGS += -Werror
index ff338d661d3784d2e45296d24bd7ee3be618bcee..aa1422bf1f2c18fd42c905551dbecad28ca17504 100644 (file)
@@ -45,7 +45,7 @@ TOOLCHAIN_ASFLAGS =
 WERROR_FLAGS := -Wall -w2 -diag-disable 271 -diag-warning 1478
 WERROR_FLAGS += -diag-disable 13368 -diag-disable 15527
 WERROR_FLAGS += -diag-disable 188
-WERROR_FLAGS += -diag-disable 11074 -diag-disable 11076
+WERROR_FLAGS += -diag-disable 11074 -diag-disable 11076 -Wdeprecated
 
 ifeq ($(RTE_DEVEL_BUILD),y)
 WERROR_FLAGS += -Werror-all
index 89eecadc3717142693bee400a397872aae6c6831..cb3884a69e24bc160df5b9d76f1d52afecfe1ab7 100644 (file)
@@ -189,6 +189,8 @@ endif
 
 SRCS-$(CONFIG_RTE_LIBRTE_KVARGS) += test_kvargs.c
 
+CFLAGS += -DALLOW_EXPERIMENTAL_API
+
 CFLAGS += -O3
 CFLAGS += $(WERROR_FLAGS)