* [PATCH] Makefile: fix error when gen TAGS @ 2012-03-12 3:53 Yang Bai 2012-03-12 6:46 ` Stephen Boyd 0 siblings, 1 reply; 6+ messages in thread From: Yang Bai @ 2012-03-12 3:53 UTC (permalink / raw) To: mmarek, rostedt, sboyd, hamo.by, adobriyan; +Cc: linux-kernel scripts/tags.sh has a problem that it does not test which kind of tags we are generating and assumes tags. So when gen TAGS it shows: GEN TAGS sed: can't read tags: No such file or directory make: *** [TAGS] Error 2 Signed-off-by: Yang Bai <hamo.by@gmail.com> --- scripts/tags.sh | 6 +++++- 1 files changed, 5 insertions(+), 1 deletions(-) diff --git a/scripts/tags.sh b/scripts/tags.sh index 833813a..ce94e34 100755 --- a/scripts/tags.sh +++ b/scripts/tags.sh @@ -168,7 +168,11 @@ exuberant() --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 + if [[ -e tags ]]; then + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' tags + else + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' TAGS + fi } emacs() -- 1.7.9.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] Makefile: fix error when gen TAGS 2012-03-12 3:53 [PATCH] Makefile: fix error when gen TAGS Yang Bai @ 2012-03-12 6:46 ` Stephen Boyd 2012-03-12 7:06 ` Yang Bai 0 siblings, 1 reply; 6+ messages in thread From: Stephen Boyd @ 2012-03-12 6:46 UTC (permalink / raw) To: Yang Bai; +Cc: mmarek, rostedt, adobriyan, linux-kernel On 3/11/2012 8:53 PM, Yang Bai wrote: > scripts/tags.sh has a problem that it does not > test which kind of tags we are generating and > assumes tags. So when gen TAGS it shows: > GEN TAGS > sed: can't read tags: No such file or directory > make: *** [TAGS] Error 2 > > Signed-off-by: Yang Bai<hamo.by@gmail.com> > --- > scripts/tags.sh | 6 +++++- > 1 files changed, 5 insertions(+), 1 deletions(-) > > diff --git a/scripts/tags.sh b/scripts/tags.sh > index 833813a..ce94e34 100755 > --- a/scripts/tags.sh > +++ b/scripts/tags.sh > @@ -168,7 +168,11 @@ exuberant() > --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 > + if [[ -e tags ]]; then > + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' tags > + else > + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' TAGS > + fi > } > What does ctags --version print out for you? I'm not aware of exuberant tags outputting files called TAGS (although etags would do that and then this patch wouldn't make sense). It would be nice if etags was updated to take care of this forward declaration removal. Care to send that patch? -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Makefile: fix error when gen TAGS 2012-03-12 6:46 ` Stephen Boyd @ 2012-03-12 7:06 ` Yang Bai 2012-03-12 7:34 ` Stephen Boyd 0 siblings, 1 reply; 6+ messages in thread From: Yang Bai @ 2012-03-12 7:06 UTC (permalink / raw) To: Stephen Boyd; +Cc: mmarek, rostedt, adobriyan, linux-kernel On Mon, Mar 12, 2012 at 2:46 PM, Stephen Boyd <sboyd@codeaurora.org> wrote: > > > What does ctags --version print out for you? I'm not aware of exuberant tags > outputting files called TAGS (although etags would do that and then this > patch wouldn't make sense). hamo@trinity ~ $ ctags --version Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert Compiled: Nov 9 2011, 03:17:31 Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net Optional compiled features: +wildcards, +regex hamo@trinity ~ $ etags --version Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert Compiled: Nov 9 2011, 03:17:31 Addresses: <dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net Optional compiled features: +wildcards, +regex hamo@trinity ~ $ ls -l /usr/bin/etags lrwxrwxrwx 1 root root 23 Feb 8 17:48 /usr/bin/etags -> /etc/alternatives/etags hamo@trinity ~ $ ls -l /etc/alternatives/etags lrwxrwxrwx 1 root root 24 Feb 15 10:06 /etc/alternatives/etags -> /usr/bin/ctags-exuberant So I think which kind of name Exuberant Ctags generates depends on argv[0]. > > It would be nice if etags was updated to take care of this forward > declaration removal. Care to send that patch? > Yes. I will send this patch soon. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Makefile: fix error when gen TAGS 2012-03-12 7:06 ` Yang Bai @ 2012-03-12 7:34 ` Stephen Boyd 2012-03-12 7:50 ` Yang Bai 0 siblings, 1 reply; 6+ messages in thread From: Stephen Boyd @ 2012-03-12 7:34 UTC (permalink / raw) To: Yang Bai; +Cc: mmarek, rostedt, adobriyan, linux-kernel On 3/12/2012 12:06 AM, Yang Bai wrote: > On Mon, Mar 12, 2012 at 2:46 PM, Stephen Boyd<sboyd@codeaurora.org> wrote: >> >> What does ctags --version print out for you? I'm not aware of exuberant tags >> outputting files called TAGS (although etags would do that and then this >> patch wouldn't make sense). > hamo@trinity ~ $ ctags --version > Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert > Compiled: Nov 9 2011, 03:17:31 > Addresses:<dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net > Optional compiled features: +wildcards, +regex > > hamo@trinity ~ $ etags --version > Exuberant Ctags 5.9~svn20110310, Copyright (C) 1996-2009 Darren Hiebert > Compiled: Nov 9 2011, 03:17:31 > Addresses:<dhiebert@users.sourceforge.net>, http://ctags.sourceforge.net > Optional compiled features: +wildcards, +regex > > hamo@trinity ~ $ ls -l /usr/bin/etags > lrwxrwxrwx 1 root root 23 Feb 8 17:48 /usr/bin/etags -> /etc/alternatives/etags > hamo@trinity ~ $ ls -l /etc/alternatives/etags > lrwxrwxrwx 1 root root 24 Feb 15 10:06 /etc/alternatives/etags -> > /usr/bin/ctags-exuberant > > So I think which kind of name Exuberant Ctags generates depends on argv[0]. > Ah ok. How about this patch instead? Then we don't duplicate the sed statement. ---->8------- diff --git a/scripts/tags.sh b/scripts/tags.sh index 833813a..b390096 100755 --- a/scripts/tags.sh +++ b/scripts/tags.sh @@ -168,7 +168,7 @@ exuberant() --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 + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct \1;.*\$\/;"\tx$/d' $2 } emacs() @@ -213,9 +213,9 @@ emacs() xtags() { if $1 --version 2>&1 | grep -iq exuberant; then - exuberant $1 + exuberant $1 $2 elif $1 --version 2>&1 | grep -iq emacs; then - emacs $1 + emacs $1 $2 else all_sources | xargs $1 -a fi @@ -244,11 +244,11 @@ case "$1" in "tags") rm -f tags - xtags ctags + xtags ctags $1 ;; "TAGS") rm -f TAGS - xtags etags + xtags etags $1 ;; esac But then with your next patch maybe it would be better to just have a flag? ----8<----- diff --git a/scripts/tags.sh b/scripts/tags.sh index 833813a..4b1755d 100755 --- a/scripts/tags.sh +++ b/scripts/tags.sh @@ -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 @@ -244,11 +242,18 @@ case "$1" in "tags") rm -f tags - xtags ctags + xtags ctags $1 + remove_structs=y ;; "TAGS") rm -f TAGS - xtags etags + xtags etags $1 + 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 -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] Makefile: fix error when gen TAGS 2012-03-12 7:34 ` Stephen Boyd @ 2012-03-12 7:50 ` Yang Bai 2012-03-12 7:52 ` Stephen Boyd 0 siblings, 1 reply; 6+ messages in thread From: Yang Bai @ 2012-03-12 7:50 UTC (permalink / raw) To: Stephen Boyd; +Cc: mmarek, rostedt, adobriyan, linux-kernel On Mon, Mar 12, 2012 at 3:34 PM, Stephen Boyd <sboyd@codeaurora.org> wrote: > > Ah ok. How about this patch instead? Then we don't duplicate the sed > statement. > > ---->8------- > > diff --git a/scripts/tags.sh b/scripts/tags.sh > index 833813a..b390096 100755 > --- a/scripts/tags.sh > +++ b/scripts/tags.sh > @@ -168,7 +168,7 @@ exuberant() > > --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 > + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct > \1;.*\$\/;"\tx$/d' $2 > } > > emacs() > @@ -213,9 +213,9 @@ emacs() > xtags() > { > if $1 --version 2>&1 | grep -iq exuberant; then > - exuberant $1 > + exuberant $1 $2 > elif $1 --version 2>&1 | grep -iq emacs; then > - emacs $1 > + emacs $1 $2 > else > all_sources | xargs $1 -a > fi > @@ -244,11 +244,11 @@ case "$1" in > > "tags") > rm -f tags > - xtags ctags > + xtags ctags $1 > ;; > > "TAGS") > rm -f TAGS > - xtags etags > + xtags etags $1 > ;; > esac > > > But then with your next patch maybe it would be better to just have a flag? > > ----8<----- > > diff --git a/scripts/tags.sh b/scripts/tags.sh > index 833813a..4b1755d 100755 > --- a/scripts/tags.sh > +++ b/scripts/tags.sh > @@ -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 > @@ -244,11 +242,18 @@ case "$1" in > > "tags") > rm -f tags > - xtags ctags > + xtags ctags $1 Why we need a $1 here?? > + remove_structs=y > ;; > > "TAGS") > rm -f TAGS > - xtags etags > + xtags etags $1 The same. > + 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 > This way is better but I don't understand why a $1 is there. I think it is useless and if you agree with me, i will send a fine patch to you. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] Makefile: fix error when gen TAGS 2012-03-12 7:50 ` Yang Bai @ 2012-03-12 7:52 ` Stephen Boyd 0 siblings, 0 replies; 6+ messages in thread From: Stephen Boyd @ 2012-03-12 7:52 UTC (permalink / raw) To: Yang Bai; +Cc: mmarek, rostedt, adobriyan, linux-kernel On 3/12/2012 12:50 AM, Yang Bai wrote: > On Mon, Mar 12, 2012 at 3:34 PM, Stephen Boyd<sboyd@codeaurora.org> wrote: >> Ah ok. How about this patch instead? Then we don't duplicate the sed >> statement. >> >> ---->8------- >> >> diff --git a/scripts/tags.sh b/scripts/tags.sh >> index 833813a..b390096 100755 >> --- a/scripts/tags.sh >> +++ b/scripts/tags.sh >> @@ -168,7 +168,7 @@ exuberant() >> >> --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 >> + LANG=C sed -i -e '/^\([a-zA-Z_][a-zA-Z0-9_]*\)\t.*\t\/\^struct >> \1;.*\$\/;"\tx$/d' $2 >> } >> >> emacs() >> @@ -213,9 +213,9 @@ emacs() >> xtags() >> { >> if $1 --version 2>&1 | grep -iq exuberant; then >> - exuberant $1 >> + exuberant $1 $2 >> elif $1 --version 2>&1 | grep -iq emacs; then >> - emacs $1 >> + emacs $1 $2 >> else >> all_sources | xargs $1 -a >> fi >> @@ -244,11 +244,11 @@ case "$1" in >> >> "tags") >> rm -f tags >> - xtags ctags >> + xtags ctags $1 >> ;; >> >> "TAGS") >> rm -f TAGS >> - xtags etags >> + xtags etags $1 >> ;; >> esac >> >> >> But then with your next patch maybe it would be better to just have a flag? >> >> ----8<----- >> >> diff --git a/scripts/tags.sh b/scripts/tags.sh >> index 833813a..4b1755d 100755 >> --- a/scripts/tags.sh >> +++ b/scripts/tags.sh >> @@ -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 >> @@ -244,11 +242,18 @@ case "$1" in >> >> "tags") >> rm -f tags >> - xtags ctags >> + xtags ctags $1 > Why we need a $1 here?? >> + remove_structs=y >> ;; >> >> "TAGS") >> rm -f TAGS >> - xtags etags >> + xtags etags $1 > The same. >> + 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 >> > This way is better but I don't understand why a $1 is there. > I think it is useless and if you agree with me, i will send a fine patch to you. It's a holdover from the previous patch. Thanks for spotting/removing it. -- Sent by an employee of the Qualcomm Innovation Center, Inc. The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum. ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2012-03-12 7:52 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2012-03-12 3:53 [PATCH] Makefile: fix error when gen TAGS Yang Bai 2012-03-12 6:46 ` Stephen Boyd 2012-03-12 7:06 ` Yang Bai 2012-03-12 7:34 ` Stephen Boyd 2012-03-12 7:50 ` Yang Bai 2012-03-12 7:52 ` Stephen Boyd
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox