<div dir="ltr">I solved the problem of which libraries by not solving it; on Windows, my compile command looks like<div><br></div><div>cl /I\llvm\build\include /I\llvm\build\tools\clang\include /I\llvm\include /I\llvm\tools\clang\include /MTd /Zi compile.cpp \llvm\build\Debug\lib\*.lib setargv.obj<br></div><div><br></div><div>I.e. just link all the libraries. Is there an equivalent of that on Unix?</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Apr 22, 2016 at 5:15 AM, barbara via cfe-dev <span dir="ltr"><<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Manuel,<br>
<br>
Yes, we have looked at this page and it does talk about building
clang which we have done successfully. We have figured out the
required headers by simply compiling. Our issue is linking.<br>
<br>
Submitting a documentation patch would be a great idea and we are
happy to do this, once we know how it works. <br>
<br>
Just to be clear, we are not putting our code in the clang source
tree. We are integrating clang parsing as part of another open
source project. We need to modify our build files to link with
libTooling.<br>
<br>
We have not been able to decipher which libraries are required.
The following is part of a makefile we randomly found on GitHub.
Is it really this hard? Sadly this Makefile did not work for us,
we still have link issues.<br>
<br>
<br>
LIB = -lclangFrontend -lclangDriver -lclangTooling \
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangDriver -lclangTooling
-lclangFrontendTool \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangFrontend -lclangDriver
-lclangSerialization \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangCodeGen -lclangParse -lclangSema \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangStaticAnalyzerFrontend
-lclangStaticAnalyzerCheckers \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangStaticAnalyzerCore -lclangAnalysis \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangARCMigrate -lclangRewriteFrontend \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangRewriteCore -lclangEdit -lclangAST \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangLex -lclangBasic -lclangCodeGen
-lclangSema \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangAnalysis -lclangAST -lclangParse
-lclangLex \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangASTMatchers \</p>
<p style="margin-top:0px;margin-bottom:0px;margin-left:0px;margin-right:0px;text-indent:0px"> -lclangBasic -lLLVMSupport</p>
<br>
<br>
<br>
Barbara<br>
<br>
<br>
<br>
<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div class="gmail_quote"><span class="">
<div dir="ltr">On Thu, Apr 21, 2016 at 9:31 AM barbara <<a href="mailto:barbara@copperspice.com" target="_blank"></a><a href="mailto:barbara@copperspice.com" target="_blank">barbara@copperspice.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div>Manuel,<br>
<br>
Yes, we have read all of the links on clang.llvm for
LibTooling. Most simply mention how to use the existing
tools. There is simply nothing we can find which shows
which clang libraries are required for libTooling.<br>
<br>
The page you listed shows how to run ClangCheck, not how
to link an third party application with libTooling. We
are developing a new tool and libTooling seems to be our
best shot. <br>
</div>
</div>
</blockquote>
<div><br>
</div>
<div>The page I linked shows how to write the code. The
libraries you need follow from the headers / classes you
use.</div>
<div><br>
</div>
<div>This:</div>
<div><a href="http://clang.llvm.org/docs/LibASTMatchersTutorial.html" target="_blank">http://clang.llvm.org/docs/LibASTMatchersTutorial.html</a><br>
</div>
<div>should also be still mostly up to date - if it isn't,
patches are welcome :D</div>
<div><br>
</div>
<div>Cheers,</div>
<div>/Manuel</div>
<div> </div>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<div> <br>
<br>
Barbara<br>
<br>
<br>
<br>
</div>
</div>
<div bgcolor="#FFFFFF" text="#000000">
<blockquote type="cite"><span class="">
<div dir="ltr">I assume you have found:
<div><a href="http://clang.llvm.org/docs/LibTooling.html" target="_blank">http://clang.llvm.org/docs/LibTooling.html</a><br>
</div>
<div>(which is the first hit for me when searching for
"libtooling clang")</div>
</div>
<br>
</span><div class="gmail_quote"><span class="">
<div dir="ltr">On Wed, Apr 20, 2016 at 9:56 PM barbara
via cfe-dev <<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a>>
wrote:<br>
</div>
</span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">
<div bgcolor="#FFFFFF" text="#000000"> <font face="Helvetica, Arial, sans-serif">We have
found AST limitations with libClang and
understand few developers are using this
approach for parsing C++. We have been advised
to switch to using libTooling, which now makes
sense. <br>
<br>
We have found limited documentation and are
working our why though what it take to set up a
project which uses libTooling. The only
tutorials we have found are from several years
ago. If newer ones exist it would be great to
know about them. Searching for "libTooling"
yields too many hits on "libtool", which is
obviously not what we are looking for. <br>
<br>
I believe we have figured out the appropriate
include files. Our current obstacle is figuring
out what clang libraries we need. This seems to
be order dependent, but I could be incorrect. We
have link errors and trying to look up undefined
symbols in nearly impossible.<br>
<br>
We look forward to someone who can point us in
the right direction as it seems we are missing a
few basics. <br>
<br>
Thanks, <br>
<br>
Barbara<br>
Co-Founder of DoxyPress<br>
</font><br>
</div></span><span class="">
_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org" target="_blank">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
</span></blockquote>
</div>
</blockquote>
</div>
<div bgcolor="#FFFFFF" text="#000000"><br>
</div>
</blockquote>
</div>
</div>
</blockquote>
<br>
<br>
<table style="border-top:1px solid #aaabb6">
<tbody><tr>
<td style="width:55px;padding-top:13px"><a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=icon" target="_blank"><img src="https://ipmcdn.avast.com/images/2016/icons/icon-envelope-tick-round-orange-v1.png"></a></td>
<td style="width:470px;padding-top:15px;color:#41424e;font-size:13px;font-family:Arial,Helvetica,sans-serif;line-height:18px">Virus-free. <a href="https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient&utm_term=link" style="color:#4453ea" target="_blank">www.avast.com</a>
</td>
</tr>
</tbody></table></div>
<br>_______________________________________________<br>
cfe-dev mailing list<br>
<a href="mailto:cfe-dev@lists.llvm.org">cfe-dev@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev</a><br>
<br></blockquote></div><br></div>