* [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