Attached is a patch to do most of this restructuring, kindly asking for review.<div><br></div><div>In particular, it does:</div><div>- Restructure the compilation database architecture to using LLVM's registry concept. It should now be possible to link in additional compilation databases.</div>

<div>- Separate the JSONCompilationDatabase from CompilationDatabase to show the loose coupling and serve as an example.</div><div><br></div><div><br></div>
<div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jul 19, 2012 at 3:17 PM, Stephen Kelly <span dir="ltr"><<a href="mailto:steveire@gmail.com" target="_blank">steveire@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 07/19/2012 01:32 PM, Manuel Klimek wrote:<br>
> On Thu, Jul 19, 2012 at 1:10 PM, Stephen Kelly <<a href="mailto:steveire@gmail.com">steveire@gmail.com</a>> wrote:<br>
>> Chandler Carruth wrote:<br>
>><br>
>>> That said, the latest version of CMake already has support for JSON +<br>
>>> Ninja -- we didn't contribute it, so I don't know what strategy they<br>
>>> followed, but you should look at that and talk to the ninja and CMake<br>
>>> developers before going too far here.<br>
>>><br>
>> I wrote it and pretty much followed the same thing Manuel did in the<br>
>> Makefile generator.<br>
>><br>
>> The commit which actually adds the feature is trivial:<br>
>><br>
>> <a href="http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=db839bec7d076b54c5e9ad0d19386a26557a509e" target="_blank">http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=db839bec7d076b54c5e9ad0d19386a26557a509e</a><br>

>><br>
>> Manuel mentioned before that he'd like to see ninja being able to generate a<br>
>> database without cmake too though:<br>
>><br>
>> <a href="http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/3678/focus=3697" target="_blank">http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/3678/focus=3697</a><br>
>><br>
>> As Chandler said, it's not in a release yet, but will be in the next release<br>
>> in a few weeks. Feel free to test the release candidate (I would appreciate<br>
>> if you did)<br>
> I know multiple people who are refusing to work without this any more,<br>
> I've been using it since it landed in "next". So consider this part<br>
> pretty well tested (at least on the llvm codebase).<br>
><br>
<br>
</div>Good to hear :)<br>
<br>
Thanks,<br>
<div class="HOEnZb"><div class="h5"><br>
Steve.<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@cs.uiuc.edu">cfe-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits</a><br>
</div></div></blockquote></div><br></div>