X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=Makefile.ABI.workarounds;h=fcd980deafd0f4e52385f34b8a384c569248e6a4;hb=b575c4a3b5ee8c9f94d8dd76e35e993481605eb9;hp=be9f1cb5455ba061bf2cad0917ad45c9efcfed54;hpb=b37d476e197064573206a68ed3bcc2e63257edd8;p=lttng-modules.git diff --git a/Makefile.ABI.workarounds b/Makefile.ABI.workarounds index be9f1cb5..fcd980de 100644 --- a/Makefile.ABI.workarounds +++ b/Makefile.ABI.workarounds @@ -4,8 +4,53 @@ # the kernel EXTRAVERSION to figure it out. Translate this information # into a define visible from the C preprocessor. -DEB_API_VERSION=$(shell $(MAKEFILEDIR)/abi-debian-version.sh $(KERNELDIR)) +DEB_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-debian-version.sh $(CURDIR)) ifneq ($(DEB_API_VERSION), 0) -ccflags-y += -DDEBIAN_API_VERSION=$(DEB_API_VERSION) + ccflags-y += -DDEBIAN_API_VERSION=$(DEB_API_VERSION) +endif + +RHEL_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-rhel-version.sh $(CURDIR)) + +ifneq ($(RHEL_API_VERSION), 0) + ccflags-y += -DRHEL_API_VERSION=$(RHEL_API_VERSION) +endif + +SLE_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-sle-version.sh $(CURDIR)) + +ifneq ($(SLE_API_VERSION), 0) + ccflags-y += -DSLE_API_VERSION=$(SLE_API_VERSION) +endif + +FEDORA_REVISION_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-fedora-version.sh $(CURDIR)) + +ifneq ($(FEDORA_REVISION_VERSION), 0) + ccflags-y += -DFEDORA_REVISION_VERSION=$(FEDORA_REVISION_VERSION) +endif + +RT_PATCH_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/rt-patch-version.sh $(CURDIR)) + +ifneq ($(RT_PATCH_VERSION), 0) + ccflags-y += -DRT_PATCH_VERSION=$(RT_PATCH_VERSION) +endif + +# Starting with kernel 4.12, the ftrace header was moved to private headers +# and as such is not available when building against distro headers instead +# of the full kernel sources. In the situation, define LTTNG_FTRACE_MISSING_HEADER +# so we can enable the compat code even if CONFIG_DYNAMIC_FTRACE is enabled. +ifneq ($(CONFIG_DYNAMIC_FTRACE),) + ftrace_dep = $(srctree)/kernel/trace/trace.h + ftrace_dep_check = $(wildcard $(ftrace_dep)) + have_ftrace_header = $(shell \ + if [ $(VERSION) -ge 5 -o \( $(VERSION) -eq 4 -a $(PATCHLEVEL) -ge 12 \) ] ; then \ + if [ -z "$(ftrace_dep_check)" ] ; then \ + echo "no" ; \ + exit ; \ + fi; \ + fi; \ + echo "yes" ; \ + ) + ifeq ($(have_ftrace_header), no) + ccflags-y += -DLTTNG_FTRACE_MISSING_HEADER + endif endif