X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fprobes%2FKbuild;h=aa002534ab5424e59318f8c6b86715f935a807e6;hb=4697aac7ad1bdb932a843d93076418f4048baad3;hp=e26b4359e7638c010e73b6ffd6ea49da78b478df;hpb=600da0c9c2a133a3154bd5ad6df428d8e3256e30;p=lttng-modules.git diff --git a/src/probes/Kbuild b/src/probes/Kbuild index e26b4359..aa002534 100644 --- a/src/probes/Kbuild +++ b/src/probes/Kbuild @@ -9,7 +9,24 @@ ccflags-y += -I$(TOP_LTTNG_MODULES_DIR)/include obj-$(CONFIG_LTTNG) += lttng-probe-sched.o obj-$(CONFIG_LTTNG) += lttng-probe-irq.o obj-$(CONFIG_LTTNG) += lttng-probe-timer.o -obj-$(CONFIG_LTTNG) += lttng-probe-kmem.o + +# A dependency on internal header 'mm/slab.h' was introduced in v6.0 +kmem_dep = $(srctree)/mm/slab.h +kmem_dep_wildcard = $(wildcard $(kmem_dep)) +kmem_dep_check = $(shell \ +if [ \( $(VERSION) -ge 7 \ + -o \( $(VERSION) -eq 6 -a $(PATCHLEVEL) -ge 0 \) \) -a \ + -z "$(kmem_dep_wildcard)" ] ; then \ + echo "warn" ; \ +else \ + echo "ok" ; \ +fi ;) +ifeq ($(kmem_dep_check),ok) + obj-$(CONFIG_LTTNG) += lttng-probe-kmem.o +else + $(warning File $(kmem_dep) not found. Probe "kmem" is disabled. Use full kernel source tree to enable it.) +endif + obj-$(CONFIG_LTTNG) += lttng-probe-module.o obj-$(CONFIG_LTTNG) += lttng-probe-power.o obj-$(CONFIG_LTTNG) += lttng-probe-statedump.o @@ -167,7 +184,24 @@ ifneq ($(CONFIG_BTRFS_FS),) endif # $(wildcard $(btrfs_dep)) endif # CONFIG_BTRFS_FS -obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o +ifneq ($(CONFIG_COMPACTION),) + # A dependency on internal header 'mm/internal.h' was introduced in v5.18 + compaction_dep = $(srctree)/mm/internal.h + compaction_dep_wildcard = $(wildcard $(compaction_dep)) + compaction_dep_check = $(shell \ + if [ \( $(VERSION) -ge 6 \ + -o \( $(VERSION) -eq 5 -a $(PATCHLEVEL) -ge 18 \) \) -a \ + -z "$(compaction_dep_wildcard)" ] ; then \ + echo "warn" ; \ + else \ + echo "ok" ; \ + fi ;) + ifeq ($(compaction_dep_check),ok) + obj-$(CONFIG_LTTNG) += lttng-probe-compaction.o + else + $(warning Files $(compaction_dep) not found. Probe "compaction" is disabled. Use full kernel source tree to enable it.) + endif # $(wildcard $(compaction_dep)) +endif # CONFIG_COMPACTION ifneq ($(CONFIG_EXT4_FS),) ext4_dep = $(srctree)/fs/ext4/*.h @@ -187,13 +221,11 @@ ifneq ($(CONFIG_FRAME_WARN),0) CFLAGS_lttng-probe-printk.o += -Wframe-larger-than=2200 endif -obj-$(CONFIG_LTTNG) += $(shell \ - if [ $(VERSION) -ge 4 \ - -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -ge 6 \) \ - -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -eq 5 -a $(SUBLEVEL) -ge 2 \) \ - -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -eq 4 -a $(SUBLEVEL) -ge 9 \) \ - -o \( $(VERSION) -eq 3 -a $(PATCHLEVEL) -eq 0 -a $(SUBLEVEL) -ge 41 \) ] ; then \ - echo "lttng-probe-random.o" ; fi;) +# Introduced in v3.6, remove in v5.18 +random_dep = $(srctree)/include/trace/events/random.h +ifneq ($(wildcard $(random_dep)),) + obj-$(CONFIG_LTTNG) += lttng-probe-random.o +endif obj-$(CONFIG_LTTNG) += $(shell \ if [ $(VERSION) -ge 4 \