<div style="font-family: Helvetica; font-size: 13px; ">Daniel,<div>Thanks for fast reply!</div><div>As far as I understand the tricky part here is that if I want to build a plugin I need a set of static libraries (clangFrontend, clangDriver, clangAST, etc.), but Apple's Clang version does not include them.</div></div>
                <div><div><br></div><div>I have already managed to build a pair of plugins with my own build of Clang, but don't understand how to achieve the same with Apple's Clang version.</div><div><br></div><div>-- </div><div>Alexander Smirnov</div><div><br></div></div>
                 
                <p style="color: #A0A0A8;">On Tuesday, May 22, 2012 at 12:22 AM, Daniel Powell wrote:</p>
                <blockquote type="cite" style="border-left-style:solid;border-width:1px;margin-left:0px;padding-left:10px;">
                    <span><div><div><div>Hey<br><br><blockquote type="cite"><div>
                <div>Does anyone have experience building clang plugins for Apple's version of Clang ? Is it possible ?</div></div></blockquote><div><br>Yep, two ways of doing things: Writing a plugin, or using libclang.<br>
<br>For creating plugins check out: <br>
<a href="http://code.google.com/p/chromium/wiki/WritingClangPlugins">http://code.google.com/p/chromium/wiki/WritingClangPlugins</a><br>
and<br>
<a href="http://getoffmylawnentertainment.com/blog/2011/10/01/clang-plugin-development-tutorial/">http://getoffmylawnentertainment.com/blog/2011/10/01/clang-plugin-development-tutorial/</a><br><br>Or for linking in with libclang check out:<br>
<a href="https://github.com/loarabia/Clang-tutorial">https://github.com/loarabia/Clang-tutorial</a><br><br>Also there's the Clang Doxygen documentation which, along with the source code, is incredibly useful:<br><a href="http://clang.llvm.org/doxygen/">http://clang.llvm.org/doxygen/</a><br>
 </div><blockquote type="cite"><div><div>What I'm trying to do is to create simple Obj-C code style guidelines checker.</div>
</div></blockquote><div><br>If you're wanting to traverse the AST I recommend you look into creating a plugin with a custom ASTConsumer and RecursiveASTVisitor.<br><br>Cheers,<br><br>Dan<br></div></div><br clear="all"><br>-- <br>
--------<br>Daniel Powell<br><a href="mailto:d.c.powell@sms.ed.ac.uk" target="_blank">d.c.powell@sms.ed.ac.uk</a><br><a href="http://tinyurl.com/powelld" target="_blank">http://tinyurl.com/powelld</a><br><br>The University of Edinburgh<br>
Institute for Computer Systems Architecture<br><br><br>
</div><div><div>The University of Edinburgh is a charitable body, registered in</div><div>Scotland, with registration number SC005336.</div></div></div></span>
                 
                 
                 
                 
                </blockquote>
                 
                <div>
                    <br>
                </div>