qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH] Makefile: add GNU global tags support


From: Alex Bennée
Subject: Re: [RFC PATCH] Makefile: add GNU global tags support
Date: Tue, 12 Jan 2021 09:27:39 +0000
User-agent: mu4e 1.5.7; emacs 28.0.50

Ben Widawsky <ben@bwidawsk.net> writes:

> On 21-01-08 22:30:59, Alex Bennée wrote:
>> 
>> Ben Widawsky <ben@bwidawsk.net> writes:
>> 
>> > On 21-01-08 12:19:35, Alex Bennée wrote:
>> >> GNU Global is another tags engine which is more like cscope in being
>> >> able to support finding both references and definitions. You will be
>> >> un-surprised to know it also integrates well with Emacs.
>> >> 
>> >> The main benefit of integrating it into find-src-path is it takes less
>> >> time to rebuild the database from scratch when you have a lot of build
>> >> directories under your source tree.
>> >> 
>> >> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>> >
>> > It might be worth mentioning that the Linux kernel has supported this for 
>> > a long
>> > time now (10+ years).
>> >
>> > Having switched to gtags about 3 years ago, I think it's summarily better 
>> > and
>> > would really like this to get merged.
>> 
>> So I take it that's a reviewed-by and a tested-by tag from you?
>> 
>
> It doesn't actually work correctly for me, I just like the idea :-)
>
> make gtags 2>&1  | grep ignored | wc -l
> 6266
>
> Warning: '/home/bwidawsk/work/clk/qemu/accel/qtest/qtest.c' is out of
> source tree. ignored.

Did you run this in the build directory by any chance? I tested in the
source directory because that's generally where you want the tags.

I wonder what the best solution is to this? Always force ourselves to be
in the source dir? Or error out when we are not in the source tree?


>
>> >
>> >> ---
>> >>  Makefile   | 9 ++++++++-
>> >>  .gitignore | 3 +++
>> >>  2 files changed, 11 insertions(+), 1 deletion(-)
>> >> 
>> >> diff --git a/Makefile b/Makefile
>> >> index fb9923ff22..66eec99685 100644
>> >> --- a/Makefile
>> >> +++ b/Makefile
>> >> @@ -253,6 +253,13 @@ ctags:
>> >>   rm -f "$(SRC_PATH)/"tags
>> >>   $(find-src-path) -exec ctags -f "$(SRC_PATH)/"tags --append {} +
>> >>  
>> >> +.PHONY: gtags
>> >> +gtags:
>> >> + rm -f "$(SRC_PATH)/"GTAGS
>> >> + rm -f "$(SRC_PATH)/"GRTAGS
>> >> + rm -f "$(SRC_PATH)/"GPATH
>> >> + $(find-src-path) | gtags -f -
>> >> +
>> >>  .PHONY: TAGS
>> >>  TAGS:
>> >>   rm -f "$(SRC_PATH)/"TAGS
>> >> @@ -279,7 +286,7 @@ help:
>> >>   $(call print-help,all,Build all)
>> >>   $(call print-help,dir/file.o,Build specified target only)
>> >>   $(call print-help,install,Install QEMU, documentation and tools)
>> >> - $(call print-help,ctags/TAGS,Generate tags file for editors)
>> >> + $(call print-help,ctags/gtags/TAGS,Generate tags file for editors)
>> >>   $(call print-help,cscope,Generate cscope index)
>> >>   $(call print-help,sparse,Run sparse on the QEMU source)
>> >>   @echo  ''
>> >> diff --git a/.gitignore b/.gitignore
>> >> index b32bca1315..75a4be0724 100644
>> >> --- a/.gitignore
>> >> +++ b/.gitignore
>> >> @@ -7,6 +7,9 @@
>> >>  cscope.*
>> >>  tags
>> >>  TAGS
>> >> +GPATH
>> >> +GRTAGS
>> >> +GTAGS
>> >>  *~
>> >>  *.ast_raw
>> >>  *.depend_raw
>> >> -- 
>> >> 2.20.1
>> >> 
>> >> 
>> 
>> 
>> -- 
>> Alex Bennée


-- 
Alex Bennée



reply via email to

[Prev in Thread] Current Thread [Next in Thread]