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>
This commit is contained in:
Yang Bai 2012-03-12 16:20:51 +08:00 committed by Michal Marek
parent 98bd462233
commit 66979224c0

View File

@ -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