Fix: update writeback instrumentation for kernel 4.14
[lttng-modules.git] / Kbuild.common
CommitLineData
72e6c528
MD
1# Work-around for distro-specific public modules ABI breakages.
2# Some distributions break the public module instrumentation ABI
3# compared to upstream stable kernels without providing other mean than
4# the kernel EXTRAVERSION to figure it out. Translate this information
5# into a define visible from the C preprocessor.
6
b933d85e 7DEB_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-debian-version.sh $(CURDIR))
72e6c528
MD
8
9ifneq ($(DEB_API_VERSION), 0)
a8907e9a 10 ccflags-y += -DDEBIAN_API_VERSION=$(DEB_API_VERSION)
72e6c528 11endif
b4c8e4d3 12
c94ac1ac
MJ
13RHEL_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-rhel-version.sh $(CURDIR))
14
15ifneq ($(RHEL_API_VERSION), 0)
16 ccflags-y += -DRHEL_API_VERSION=$(RHEL_API_VERSION)
17endif
18
ce66b486
MJ
19SLE_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/abi-sle-version.sh $(CURDIR))
20
21ifneq ($(SLE_API_VERSION), 0)
22 ccflags-y += -DSLE_API_VERSION=$(SLE_API_VERSION)
23endif
24
b933d85e 25RT_PATCH_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/rt-patch-version.sh $(CURDIR))
b4c8e4d3
MJ
26
27ifneq ($(RT_PATCH_VERSION), 0)
28 ccflags-y += -DRT_PATCH_VERSION=$(RT_PATCH_VERSION)
29endif
f61d99f9
MJ
30
31# Starting with kernel 4.12, the ftrace header was moved to private headers
32# and as such is not available when building against distro headers instead
33# of the full kernel sources. In the situation, define LTTNG_FTRACE_MISSING_HEADER
34# so we can enable the compat code even if CONFIG_DYNAMIC_FTRACE is enabled.
35ifneq ($(CONFIG_DYNAMIC_FTRACE),)
36 ftrace_dep = $(srctree)/kernel/trace/trace.h
37 ftrace_dep_check = $(wildcard $(ftrace_dep))
38 have_ftrace_header = $(shell \
39 if [ $(VERSION) -ge 5 -o \( $(VERSION) -eq 4 -a $(PATCHLEVEL) -ge 12 \) ] ; then \
40 if [ -z "$(ftrace_dep_check)" ] ; then \
41 echo "no" ; \
42 exit ; \
43 fi; \
44 fi; \
45 echo "yes" ; \
46 )
47 ifeq ($(have_ftrace_header), no)
48 ccflags-y += -DLTTNG_FTRACE_MISSING_HEADER
49 endif
50endif
e6213a91
MJ
51
52# vim:syntax=make
This page took 0.026257 seconds and 4 git commands to generate.