[cfe-commits] r157396 - /cfe/trunk/docs/ClangPlugins.html
klimek at google.com
Wed Jun 6 10:53:30 PDT 2012
On Wed, Jun 6, 2012 at 6:25 PM, Jordan Rose <jordan_rose at apple.com> wrote:
> On Jun 5, 2012, at 23:24 , Manuel Klimek <klimek at google.com> wrote:
> On Tue, Jun 5, 2012 at 4:56 PM, Erik Verbruggen <erikjv at me.com> wrote:
>> On Jun 4, 2012, at 15:32, Manuel Klimek wrote:
>> On Fri, Jun 1, 2012 at 1:10 PM, Erik Verbruggen <erikjv at me.com> wrote:
>>> On May 24, 2012, at 19:07, Manuel Klimek wrote:
>>> > Author: klimek
>>> > Date: Thu May 24 12:07:18 2012
>>> > New Revision: 157396
>>> > URL: http://llvm.org/viewvc/llvm-project?rev=157396&view=rev
>>> > Log:
>>> > Adds a tutorial for how to write clang plugins.
>>> Sorry for the late reply, but it would be really nice if you could add a
>>> paragraph which mentions the libraries used for linking (for all those
>>> people who want (have?) to use esoteric build systems)...
>> Hm, since this is a dynamic library, doesn't it basically not require
>> linking anything in at compile time, but the right symbols to be available
>> in the clang executable at runtime? Or did you have something else in mind?
>> I link with:
>> clang++ -headerpad_max_install_names -arch x86_64 -o qt-checker main.o
>> -L/data/clang-llvm/llvm-3.1-install/lib -lpthread -lm -lLLVMCore
>> -lLLVMSupport -lclangTooling -lclangAST -lclangFrontend
>> -lclangSerialization -lclangSema -lclangAnalysis -lclangBasic -lclangEdit
>> -lclangLex -lclangParse -Wl,-undefined,dynamic_lookup -L../checkers
>> I get:
>> dyld: lazy symbol binding failed: Symbol not found:
>> Referenced from: /data/git/qtcheckers/app/qt-checker
>> Expected in: dynamic lookup
>> Etc. For clang plug-ins it works, but apparently not for tooling
> Ah, but then ClangPlugins.html seems the wrong place. Also, since clang is
> pretty nicely modularized here, the process seems to be: look into the
> Makefiles or CMakeLists.txt for the libraries you use, build the transitive
> closure, and link that in? Not sure there's a better way to document this,
> as those dependencies change...
> FWIW CMake seems to do the transitive closure part for you, but gmake
> won't. And I'd also be in favor of adding the current requirements for
> linking against Tooling, at least, to LibTooling.html, with a caveat saying
> that it might not be up-to-date. This would also be useful for people who
> want to build clang-based tools outside of the clang source tree.
All right: r158088.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-commits