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

[Xen-devel] Re: [RFC] build: use xargs in conjunction with etags



On Sat, Jun 24, 2006 at 03:22:36PM +0900, Horms wrote:
> On Fri, Jun 23, 2006 at 04:56:41PM +0200, Markus Armbruster wrote:
> > Horms <horms@xxxxxxxxxxxx> writes:
> > 
> > > The existing etags invocation does not seem to work for me,
> > > but using xargs in the same way that it is used for crats does.
> > > I'm pretty sure that is because on Debian etags == ctags,
> > > does anyone have etags lying around to test if this works?
> > >
> > > Also, I'm pretty sure this xargs approach will break for both ctags
> > > and etags if there are too many files to for one command line,
> > > as ctags/etags will be invoked multiple times, and the resulting
> > > tags file will only contain the tags for the last invocation.
> > >
> > > Signed-Off-By: Horms <horms@xxxxxxxxxxxx>
> > > --- x/xen/Makefile
> > > +++ x/xen/Makefile
> > > @@ -132,7 +136,7 @@ endef
> > >  
> > >  .PHONY: _TAGS
> > >  _TAGS: 
> > > - $(all_sources) | etags -
> > > + $(all_sources) | xargs etags
> > 
> > When xargs invokes etags more than once (i.e. it's actually needed),
> > each invocation will clobber the output of the previous one.
> 
> Indeed, I was concerned about that.
> 
> > To run
> > etags on an arbitrarily long file list, try something like
> > 
> >     rm -f TAGS && $(all_sources) | xargs etags -a
> 
> Is the rm -f TAGS neccessary?

On further investigation I see that the answer is yes as -a is append.

> I believe that for ctags the following will work. At least it seems
> to work just fine here with exuberant-ctags 5.5.4
> 
>       $(all_sources) | xargs ctags -L -

The above line should not include xargs

        $(all_sources) | ctags -L -

But it turns out that ctags can use the same syntax as ctags

        rm -f tags && $(all_sources) | xargs ctags -a

I will send a patch that has ctags and etags use -a, I believe
this will also work on Debian where ctags is the etags binary
(I tested it and it seems fine, as when invoked as etags the 
code produces a TAGS file, and when invoked as ctags it produces
a tags file).

-- 
Horms                                           
H: http://www.vergenet.net/~horms/          W: http://www.valinux.co.jp/en/


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.