Commit c70662ec47191eb235bb1d0a1466b923b7a08a94

Authored by Linus Torvalds

Merge branch 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6

* 'rc-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
  setlocalversion: Ignote SCMs above the linux source tree
  makefile: not need to regenerate kernel.release file when make kernelrelease
  fixes for using make 3.82
  kconfig: fix segfault when detecting recursive dependency
  kconfig: fix savedefconfig with choice marked optional

Showing 6 changed files Side-by-side Diff

... ... @@ -1408,8 +1408,8 @@
1408 1408 $(OBJDUMP) -d vmlinux $$(find . -name '*.ko') | \
1409 1409 $(PERL) $(src)/scripts/checkstack.pl $(CHECKSTACK_ARCH)
1410 1410  
1411   -kernelrelease: include/config/kernel.release
1412   - @echo $(KERNELRELEASE)
  1411 +kernelrelease:
  1412 + @echo "$(KERNELVERSION)$$($(CONFIG_SHELL) $(srctree)/scripts/setlocalversion $(srctree))"
1413 1413  
1414 1414 kernelversion:
1415 1415 @echo $(KERNELVERSION)
... ... @@ -142,7 +142,7 @@
142 142 fw-shipped-all := $(fw-shipped-y) $(fw-shipped-m) $(fw-shipped-)
143 143  
144 144 # Directories which we _might_ need to create, so we have a rule for them.
145   -firmware-dirs := $(sort $(patsubst %,$(objtree)/$(obj)/%/,$(dir $(fw-external-y) $(fw-shipped-all))))
  145 +firmware-dirs := $(sort $(addprefix $(objtree)/$(obj)/,$(dir $(fw-external-y) $(fw-shipped-all))))
146 146  
147 147 quiet_cmd_mkdir = MKDIR $(patsubst $(objtree)/%,%,$@)
148 148 cmd_mkdir = mkdir -p $@
scripts/kconfig/confdata.c
... ... @@ -497,7 +497,9 @@
497 497 /*
498 498 * If symbol is a choice value and equals to the
499 499 * default for a choice - skip.
500   - * But only if value is bool and equal to "y" .
  500 + * But only if value is bool and equal to "y" and
  501 + * choice is not "optional".
  502 + * (If choice is "optional" then all values can be "n")
501 503 */
502 504 if (sym_is_choice_value(sym)) {
503 505 struct symbol *cs;
... ... @@ -505,7 +507,7 @@
505 507  
506 508 cs = prop_get_symbol(sym_get_choice_prop(sym));
507 509 ds = sym_choice_default(cs);
508   - if (sym == ds) {
  510 + if (!sym_is_optional(cs) && sym == ds) {
509 511 if ((sym->type == S_BOOLEAN) &&
510 512 sym_get_tristate_value(sym) == yes)
511 513 goto next_menu;
scripts/kconfig/symbol.c
... ... @@ -937,6 +937,8 @@
937 937 sym = stack->sym;
938 938 next_sym = stack->next ? stack->next->sym : last_sym;
939 939 prop = stack->prop;
  940 + if (prop == NULL)
  941 + prop = stack->sym->prop;
940 942  
941 943 /* for choice values find the menu entry (used below) */
942 944 if (sym_is_choice(sym) || sym_is_choice_value(sym)) {
... ... @@ -44,8 +44,10 @@
44 44  
45 45 Makefile:;
46 46  
47   -\$(all) %/: all
  47 +\$(all): all
48 48 @:
49 49  
  50 +%/: all
  51 + @:
50 52 EOF
scripts/setlocalversion
... ... @@ -43,7 +43,7 @@
43 43 fi
44 44  
45 45 # Check for git and a git repo.
46   - if head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
  46 + if test -d .git && head=`git rev-parse --verify --short HEAD 2>/dev/null`; then
47 47  
48 48 # If we are at a tagged commit (like "v2.6.30-rc6"), we ignore
49 49 # it, because this version is defined in the top level Makefile.
... ... @@ -85,7 +85,7 @@
85 85 fi
86 86  
87 87 # Check for mercurial and a mercurial repo.
88   - if hgid=`hg id 2>/dev/null`; then
  88 + if test -d .hg && hgid=`hg id 2>/dev/null`; then
89 89 tag=`printf '%s' "$hgid" | cut -s -d' ' -f2`
90 90  
91 91 # Do we have an untagged version?