[PATCH] D34440: [Clang] Expand response files before loading compilation database

Joerg Sonnenberger via cfe-commits cfe-commits at lists.llvm.org
Fri Jul 14 12:37:17 PDT 2017


On Fri, Jul 14, 2017 at 02:40:25PM +0000, Manuel Klimek via Phabricator via cfe-commits wrote:
> klimek added a comment.
> 
> In https://reviews.llvm.org/D34440#809581, @vladimir.plyashkun wrote:
> 
> > > Are there any concerns using the alternative?
> >
> > I can't say that it's a big problems, but i think that:
> >  //CompilationDatabase.json// is more //CMake //specific format. 
> >  It can be generated automatically by //CMake//, while other build systems may not do it.
> >  So we need to generate it on the fly (by tool or by hand), which also can lead to hidden problems due to different formats, different escaping rules, etc.
> >  I think it's always good to have one unified format.
> 
> 
> The compilation database is most certainly not cmake specific. We
> designed it in clang, and then implemented it in cmake as an example,
> because that's the most widely used C++ build system we were aware of
> (aside from autotools, which we didn't want to touch :).  There are
> ways to create it from other build systems (ninja has support, and
> there are tools that provide generic support to intercept compiles).

Don't use interceptors, just use -MJ. It should be very easy to hook up
into any build system that can also use -MM etc.

Joerg


More information about the cfe-commits mailing list