Browse Source

scripts: refactor remove structure forward declarations

Since now it has some problems when generate TAGS,
refactor this code. Now it will not show the error
message and will remove declarations using emacs etags.

Signed-off-by: Yang Bai <hamo.by@gmail.com>
Reviewed-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Michal Marek <mmarek@suse.cz>
Yang Bai 13 years ago
parent
commit
66979224c0
1 changed files with 8 additions and 3 deletions
  1. 8 3
      scripts/tags.sh

+ 8 - 3
scripts/tags.sh

@@ -166,9 +166,6 @@ exuberant()
 	all_defconfigs | xargs -r $1 -a                         \
 	all_defconfigs | xargs -r $1 -a                         \
 	--langdef=dotconfig --language-force=dotconfig          \
 	--langdef=dotconfig --language-force=dotconfig          \
 	--regex-dotconfig='/^#?[[:blank:]]*(CONFIG_[[:alnum:]_]+)/\1/'
 	--regex-dotconfig='/^#?[[:blank:]]*(CONFIG_[[:alnum:]_]+)/\1/'
-
-	# Remove structure forward declarations.
-	LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' tags
 }
 }
 
 
 emacs()
 emacs()
@@ -233,6 +230,7 @@ if [ "${ARCH}" = "um" ]; then
 	fi
 	fi
 fi
 fi
 
 
+remove_structs=
 case "$1" in
 case "$1" in
 	"cscope")
 	"cscope")
 		docscope
 		docscope
@@ -245,10 +243,17 @@ case "$1" in
 	"tags")
 	"tags")
 		rm -f tags
 		rm -f tags
 		xtags ctags
 		xtags ctags
+		remove_structs=y
 		;;
 		;;
 
 
 	"TAGS")
 	"TAGS")
 		rm -f TAGS
 		rm -f TAGS
 		xtags etags
 		xtags etags
+		remove_structs=y
 		;;
 		;;
 esac
 esac
+
+# Remove structure forward declarations.
+if [ -n $remove_structs ]; then
+    LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' $1
+fi