<div class="gmail_quote">On Mon, May 28, 2012 at 12:25 PM, Arnaud ALLARD DE GRANDMAISON <span dir="ltr"><<a href="mailto:arnaud.allarddegrandmaison@parrot.com" target="_blank">arnaud.allarddegrandmaison@parrot.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Manuel,<br>
<br>
For your information, I started the work on point #2 : integrating compilation database in libclang + the corresponding python binding.<br></blockquote><div><br></div><div>Awesome - feel free to cc me directly to any patches you send out for review regarding this.</div>
<div><br></div><div>Cheers,</div><div>/Manuel</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br>
Arnaude de Grandmaison<br>
________________________________________<br>
From: Manuel Klimek [<a href="mailto:klimek@google.com">klimek@google.com</a>]<br>
Sent: Thursday, May 24, 2012 5:33 PM<br>
To: Arnaud ALLARD DE GRANDMAISON<br>
Cc: David Röthlisberger; <a href="mailto:cfe-dev@cs.uiuc.edu">cfe-dev@cs.uiuc.edu</a> Developers<br>
Subject: Re: [cfe-dev] Getting involved with Clang refactoring<br>
<div class="HOEnZb"><div class="h5"><br>
On Thu, May 24, 2012 at 4:11 PM, Arnaud de Grandmaison <<a href="mailto:arnaud.allarddegrandmaison@parrot.com">arnaud.allarddegrandmaison@parrot.com</a><mailto:<a href="mailto:arnaud.allarddegrandmaison@parrot.com">arnaud.allarddegrandmaison@parrot.com</a>>> wrote:<br>

On 05/24/2012 02:28 PM, Manuel Klimek wrote:<br>
> In the end it depends on who's willing to write which solution and<br>
> propose a patch to clang ;)<br>
Do not tempt me ;)<br>
<br>
The use case I have here is that several people are using clang_complete<br>
+ vim, but have to use gcc because their target requires it. We have<br>
added a cmake target to generate the ".clang_complete" configuration<br>
file, which provides the options necessary for compiling the source<br>
files :  in essence, that's a compilation-db. On its side,<br>
clang_complete also provides a script to extract the compilation options<br>
from the build system.<br>
<br>
I am interested in working on this compilationdb, as this will clearly<br>
be a benefit for clang and all derivative projects.<br>
<br>
So, there are multiple things to the CompilationDatabase where work is needed:<br>
<br>
1. Add ways to create the JSON compilation-db. We already have a way to create it from CMake, there were discussions on getting it out of ninja, and even creating one yourself with a python script is not too hard.<br>
<br>
2. Integrating the compilation database into libclang, as tools like clang-complete are libclang based, which currently doesn't expose the CompilationDatabase interfaces; adding a C interface around CompilationDatabase would help there.<br>

<br>
3. Making CompilationDatabase work in more use cases:<br>
- add code to deal with gcc specific flags, where people have gcc as their main tool; don't know whether it makes sense to add code to deal with other compilers<br>
- add other formats for the CompilationDatabase, for example for Ninja it might be viable to basically link in a Ninja runtime (if available at clang compile time) to directly read the compile commands from the ninja files<br>

<br>
Cheers,<br>
/Manuel<br>
<br>
</div></div></blockquote></div><br>