Merge branch 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6
Linus Torvalds [Mon, 21 Mar 2011 01:13:09 +0000 (18:13 -0700)]
* 'misc' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
  scripts/extract-ikconfig: add xz compression support
  kbuild: add GNU GLOBAL tags generation
  setlocalversion: update mercurial tag parsing

1  2 
Makefile
scripts/tags.sh

diff --combined Makefile
+++ b/Makefile
@@@ -1,7 -1,7 +1,7 @@@
  VERSION = 2
  PATCHLEVEL = 6
 -SUBLEVEL = 37
 -EXTRAVERSION = -rc1
 +SUBLEVEL = 38
 +EXTRAVERSION =
  NAME = Flesh-Eating Bats with Fangs
  
  # *DOCUMENTATION*
@@@ -224,7 -224,6 +224,7 @@@ ifeq ($(ARCH),m68knommu
  endif
  
  KCONFIG_CONFIG        ?= .config
 +export KCONFIG_CONFIG
  
  # SHELL used by kbuild
  CONFIG_SHELL := $(shell if [ -x "$$BASH" ]; then echo $$BASH; \
@@@ -421,7 -420,7 +421,7 @@@ endi
  # of make so .config is not included in this case either (for *config).
  
  no-dot-config-targets := clean mrproper distclean \
-                        cscope TAGS tags help %docs check% coccicheck \
+                        cscope gtags TAGS tags help %docs check% coccicheck \
                         include/linux/version.h headers_% \
                         kernelversion %src-pkg
  
@@@ -666,7 -665,7 +666,7 @@@ export MODLI
  #  INSTALL_MOD_STRIP, if defined, will cause modules to be
  #  stripped after they are installed.  If INSTALL_MOD_STRIP is '1', then
  #  the default option --strip-debug will be used.  Otherwise,
 -#  INSTALL_MOD_STRIP will used as the options to the strip command.
 +#  INSTALL_MOD_STRIP value will be used as the options to the strip command.
  
  ifdef INSTALL_MOD_STRIP
  ifeq ($(INSTALL_MOD_STRIP),1)
@@@ -1135,7 -1134,7 +1135,7 @@@ CLEAN_FILES +=  vmlinux System.map 
  MRPROPER_DIRS  += include/config usr/include include/generated
  MRPROPER_FILES += .config .config.old .version .old_version             \
                    include/linux/version.h                               \
-                 Module.symvers tags TAGS cscope*
+                 Module.symvers tags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
  
  # clean - Delete most, but leave enough to build external modules
  #
@@@ -1222,6 -1221,7 +1222,7 @@@ help
        @echo  '  modules_prepare - Set up for building external modules'
        @echo  '  tags/TAGS       - Generate tags file for editors'
        @echo  '  cscope          - Generate cscope index'
+       @echo  '  gtags           - Generate GNU GLOBAL index'
        @echo  '  kernelrelease   - Output the release version string'
        @echo  '  kernelversion   - Output the version stored in Makefile'
        @echo  '  headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \
@@@ -1380,7 -1380,7 +1381,7 @@@ clean: $(clean-dirs
  quiet_cmd_tags = GEN     $@
        cmd_tags = $(CONFIG_SHELL) $(srctree)/scripts/tags.sh $@
  
- tags TAGS cscope: FORCE
+ tags TAGS cscope gtags: FORCE
        $(call cmd,tags)
  
  # Scripts to check various things for consistency
diff --combined scripts/tags.sh
@@@ -114,6 -114,11 +114,11 @@@ docscope(
        cscope -b -f cscope.out
  }
  
+ dogtags()
+ {
+       all_sources | gtags -f -
+ }
  exuberant()
  {
        all_sources | xargs $1 -a                               \
        -I DEFINE_TRACE,EXPORT_TRACEPOINT_SYMBOL,EXPORT_TRACEPOINT_SYMBOL_GPL \
        --extra=+f --c-kinds=+px                                \
        --regex-asm='/^ENTRY\(([^)]*)\).*/\1/'                  \
 -      --regex-c='/^SYSCALL_DEFINE[[:digit:]]?\(([^,)]*).*/sys_\1/'
 +      --regex-c='/^SYSCALL_DEFINE[[:digit:]]?\(([^,)]*).*/sys_\1/' \
 +      --regex-c++='/^TRACE_EVENT\(([^,)]*).*/trace_\1/'               \
 +      --regex-c++='/^DEFINE_EVENT\(([^,)]*).*/trace_\1/'
  
        all_kconfigs | xargs $1 -a                              \
        --langdef=kconfig --language-force=kconfig              \
@@@ -187,6 -190,10 +192,10 @@@ case "$1" i
                docscope
                ;;
  
+       "gtags")
+               dogtags
+               ;;
        "tags")
                rm -f tags
                xtags ctags