kernel-build: ignore runtime config options during reconfig
[openwrt/staging/wigyori.git] / include / kernel-version.mk
1 # Use the default kernel version if the Makefile doesn't override it
2
3 LINUX_RELEASE?=1
4
5 ifdef CONFIG_TESTING_KERNEL
6 KERNEL_PATCHVER:=$(KERNEL_TESTING_PATCHVER)
7 endif
8
9 LINUX_VERSION-4.9 = .202
10 LINUX_VERSION-4.14 = .155
11 LINUX_VERSION-4.19 = .85
12
13 LINUX_KERNEL_HASH-4.9.202 = 8108ec1cd10fc40821c84e9f087dba10b1767aad66596f4a36925faef55e4ebf
14 LINUX_KERNEL_HASH-4.14.155 = 77d61979556b81c95b81452fa10e1fe9368cbe2f9f80a13e4669b0464722e481
15 LINUX_KERNEL_HASH-4.19.85 = 7bf435970aeeafd46263f49730087a61c4858d8b8fc5a4002ceac971b45f4fb7
16
17 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1))))
18 sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1)))))))
19
20 ifneq ($(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),)
21 LINUX_VERSION:=$(call sanitize_uri,$(call remove_uri_prefix,$(CONFIG_KERNEL_GIT_CLONE_URI)))
22 ifeq ($(call qstrip,$(CONFIG_KERNEL_GIT_REF)),)
23 CONFIG_KERNEL_GIT_REF:=HEAD
24 endif
25 LINUX_VERSION:=$(LINUX_VERSION)-$(call sanitize_uri,$(CONFIG_KERNEL_GIT_REF))
26 else
27 ifdef KERNEL_PATCHVER
28 LINUX_VERSION:=$(KERNEL_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_PATCHVER)))
29 endif
30 ifdef KERNEL_TESTING_PATCHVER
31 LINUX_TESTING_VERSION:=$(KERNEL_TESTING_PATCHVER)$(strip $(LINUX_VERSION-$(KERNEL_TESTING_PATCHVER)))
32 endif
33 endif
34
35 split_version=$(subst ., ,$(1))
36 merge_version=$(subst $(space),.,$(1))
37 KERNEL_BASE=$(firstword $(subst -, ,$(LINUX_VERSION)))
38 KERNEL=$(call merge_version,$(wordlist 1,2,$(call split_version,$(KERNEL_BASE))))
39 KERNEL_PATCHVER ?= $(KERNEL)
40
41 # disable the md5sum check for unknown kernel versions
42 LINUX_KERNEL_HASH:=$(LINUX_KERNEL_HASH-$(strip $(LINUX_VERSION)))
43 LINUX_KERNEL_HASH?=x