scripts: refactor remove structure forward declarations
authorYang Bai <hamo.by@gmail.com>
Mon, 12 Mar 2012 08:20:51 +0000 (16:20 +0800)
committerMichal Marek <mmarek@suse.cz>
Mon, 26 Mar 2012 20:22:15 +0000 (22:22 +0200)
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>
scripts/tags.sh

index 0bc8588b630ff2750e48d322e0fccc3bf9d63143..0d6004e20658e27b519874ac01c2499572906175 100755 (executable)
@@ -166,9 +166,6 @@ exuberant()
        all_defconfigs | xargs -r $1 -a                         \
        --langdef=dotconfig --language-force=dotconfig          \
        --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()
@@ -233,6 +230,7 @@ if [ "${ARCH}" = "um" ]; then
        fi
 fi
 
+remove_structs=
 case "$1" in
        "cscope")
                docscope
@@ -245,10 +243,17 @@ case "$1" in
        "tags")
                rm -f tags
                xtags ctags
+               remove_structs=y
                ;;
 
        "TAGS")
                rm -f TAGS
                xtags etags
+               remove_structs=y
                ;;
 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