1 # SPDX-License-Identifier: (GPL-2.0-only OR LGPL-2.1-only)
2 # SPDX-FileCopyrightText: 2015-2024 EfficiOS Inc.
4 ccflags-y += -DLTTNG_LINUX_MAJOR=$(VERSION)
5 ccflags-y += -DLTTNG_LINUX_MINOR=$(PATCHLEVEL)
6 ccflags-y += -DLTTNG_LINUX_PATCH=$(SUBLEVEL)
8 # Work-around for distro-specific public modules ABI breakages.
9 # Some distributions break the public module instrumentation ABI
10 # compared to upstream stable kernels without providing other mean than
11 # the kernel EXTRAVERSION to figure it out. Translate this information
12 # into a define visible from the C preprocessor.
14 DEB_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-debian-version.sh $(CURDIR))
16 ifneq ($(DEB_API_VERSION), 0)
17 ccflags-y += -DDEBIAN_API_VERSION=$(DEB_API_VERSION)
20 RHEL_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-rhel-version.sh $(CURDIR))
22 ifneq ($(RHEL_API_VERSION), 0)
23 ccflags-y += -DRHEL_API_VERSION=$(RHEL_API_VERSION)
26 SLE_API_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-sle-version.sh $(CURDIR))
28 ifneq ($(SLE_API_VERSION), 0)
29 ccflags-y += -DSLE_API_VERSION_MAJOR=$(word 1, $(SLE_API_VERSION))
30 ccflags-y += -DSLE_API_VERSION_MINOR=$(word 2, $(SLE_API_VERSION))
31 ccflags-y += -DSLE_API_VERSION_PATCH=$(word 3, $(SLE_API_VERSION))
34 FEDORA_REVISION_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/abi-fedora-version.sh $(CURDIR))
36 ifneq ($(FEDORA_REVISION_VERSION), 0)
37 ccflags-y += -DFEDORA_REVISION_VERSION=$(FEDORA_REVISION_VERSION)
40 RT_PATCH_VERSION:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/rt-patch-version.sh $(CURDIR))
42 ifneq ($(RT_PATCH_VERSION), 0)
43 ccflags-y += -DRT_PATCH_VERSION=$(RT_PATCH_VERSION)
46 EXTRA_VERSION_NAME:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-name.sh $(TOP_LTTNG_MODULES_DIR))
48 ifneq ($(EXTRA_VERSION_NAME), 0)
49 ccflags-y += -DLTTNG_EXTRA_VERSION_NAME='"$(EXTRA_VERSION_NAME)"'
52 EXTRA_VERSION_GIT:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-git.sh $(TOP_LTTNG_MODULES_DIR))
54 ifneq ($(EXTRA_VERSION_GIT), 0)
55 ccflags-y += -DLTTNG_EXTRA_VERSION_GIT='"$(EXTRA_VERSION_GIT)"'
58 EXTRA_VERSION_PATCHES:=$(shell $(TOP_LTTNG_MODULES_DIR)/scripts/extra-version-patches.sh $(TOP_LTTNG_MODULES_DIR))
60 mnt_ns_dep = $(srctree)/fs/mount.h
61 ifeq ($(wildcard $(mnt_ns_dep)),)
62 ccflags-y += -DLTTNG_MNT_NS_MISSING_HEADER