Skip to content

Commit

Permalink
kbuild: create .kernelrelease at *config step
Browse files Browse the repository at this point in the history
To enable 'make kernelrelease' earlier now create .kernelrelease when
one of the *config targets are used.
Also introduce KERNELVERSION - only user is kconfig.
KERNELVERSION was needed to display kernel version in menuconfig -
KERNELRELEASE is not valid until configuration has completed.
kconfig files modified to use KERNELVERSION.
Bug reported by: Rene Rebe <[email protected]>

Signed-off-by: Sam Ravnborg <[email protected]>
  • Loading branch information
Sam Ravnborg committed Jan 16, 2006
1 parent 296e085 commit 2244cbd
Show file tree
Hide file tree
Showing 5 changed files with 15 additions and 14 deletions.
19 changes: 10 additions & 9 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -338,8 +338,9 @@ AFLAGS := -D__ASSEMBLY__

# Read KERNELRELEASE from .kernelrelease (if it exists)
KERNELRELEASE = $(shell cat .kernelrelease 2> /dev/null)
KERNELVERSION = $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)

export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE \
export VERSION PATCHLEVEL SUBLEVEL KERNELRELEASE KERNELVERSION \
ARCH CONFIG_SHELL HOSTCC HOSTCFLAGS CROSS_COMPILE AS LD CC \
CPP AR NM STRIP OBJCOPY OBJDUMP MAKE AWK GENKSYMS PERL UTS_MACHINE \
HOSTCXX HOSTCXXFLAGS LDFLAGS_MODULE CHECK CHECKFLAGS
Expand Down Expand Up @@ -434,6 +435,7 @@ export KBUILD_DEFCONFIG
config %config: scripts_basic outputmakefile FORCE
$(Q)mkdir -p include/linux
$(Q)$(MAKE) $(build)=scripts/kconfig $@
$(Q)$(MAKE) .kernelrelease

else
# ===========================================================================
Expand Down Expand Up @@ -784,12 +786,10 @@ endif
localver-full = $(localver)$(localver-auto)

# Store (new) KERNELRELASE string in .kernelrelease
kernelrelease = \
$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)$(localver-full)
kernelrelease = $(KERNELVERSION)$(localver-full)
.kernelrelease: FORCE
$(Q)rm -f .kernelrelease
$(Q)echo $(kernelrelease) > .kernelrelease
$(Q)echo " Building kernel $(kernelrelease)"
$(Q)rm -f $@
$(Q)echo $(kernelrelease) > $@


# Things we need to do before we recursively start building the kernel
Expand Down Expand Up @@ -899,7 +899,7 @@ define filechk_version.h
)
endef

include/linux/version.h: $(srctree)/Makefile FORCE
include/linux/version.h: $(srctree)/Makefile .config FORCE
$(call filechk,version.h)

# ---------------------------------------------------------------------------
Expand Down Expand Up @@ -1302,9 +1302,10 @@ checkstack:
$(PERL) $(src)/scripts/checkstack.pl $(ARCH)

kernelrelease:
@echo $(KERNELRELEASE)
$(if $(wildcard .kernelrelease), $(Q)echo $(KERNELRELEASE), \
$(error kernelrelease not valid - run 'make *config' to update it))
kernelversion:
@echo $(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)
@echo $(KERNELVERSION)

# FIXME Should go into a make.lib or something
# ===========================================================================
Expand Down
2 changes: 1 addition & 1 deletion scripts/kconfig/confdata.c
Original file line number Diff line number Diff line change
Expand Up @@ -375,7 +375,7 @@ int conf_write(const char *name)
if (!out_h)
return 1;
}
sym = sym_lookup("KERNELRELEASE", 0);
sym = sym_lookup("KERNELVERSION", 0);
sym_calc_value(sym);
time(&now);
env = getenv("KCONFIG_NOTIMESTAMP");
Expand Down
2 changes: 1 addition & 1 deletion scripts/kconfig/gconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -276,7 +276,7 @@ void init_main_window(const gchar * glade_file)
NULL);

sprintf(title, _("Linux Kernel v%s Configuration"),
getenv("KERNELRELEASE"));
getenv("KERNELVERSION"));
gtk_window_set_title(GTK_WINDOW(main_wnd), title);

gtk_widget_show(main_wnd);
Expand Down
2 changes: 1 addition & 1 deletion scripts/kconfig/mconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -1051,7 +1051,7 @@ int main(int ac, char **av)
conf_parse(av[1]);
conf_read(NULL);

sym = sym_lookup("KERNELRELEASE", 0);
sym = sym_lookup("KERNELVERSION", 0);
sym_calc_value(sym);
sprintf(menu_backtitle, _("Linux Kernel v%s Configuration"),
sym_get_string_value(sym));
Expand Down
4 changes: 2 additions & 2 deletions scripts/kconfig/symbol.c
Original file line number Diff line number Diff line change
Expand Up @@ -61,10 +61,10 @@ void sym_init(void)
if (p)
sym_add_default(sym, p);

sym = sym_lookup("KERNELRELEASE", 0);
sym = sym_lookup("KERNELVERSION", 0);
sym->type = S_STRING;
sym->flags |= SYMBOL_AUTO;
p = getenv("KERNELRELEASE");
p = getenv("KERNELVERSION");
if (p)
sym_add_default(sym, p);

Expand Down

0 comments on commit 2244cbd

Please sign in to comment.