[llvm-dev] Building the CRT

Jonathan Roelofs via llvm-dev llvm-dev at lists.llvm.org
Mon Mar 20 14:33:59 PDT 2017



On 3/20/17 3:21 PM, Evandro Menezes via llvm-dev wrote:
> On 03/20/2017 03:33 PM, Jonathan Roelofs wrote:
>> On 3/20/17 1:47 PM, Evandro Menezes via llvm-dev wrote:
>>> Folks,
>>>
>>> I'm at a loss trying to add Compiler-RT to an LLVM build, even after
>>> checking out the instructions at http://compiler-rt.llvm.org, so I'd
>>> appreciate your help.
>>>
>>> I've tried adding the CMake options LLVM_ENABLE_PROJECTS,
>>> LLVM_BUILD_EXTERNAL_COMPILER_RT, LLVM_EXTERNAL_COMPILER_RT_SOURCE_DIR,
>>> CLANG_DEFAULT_RTLIB.  All to no avail.
>>
>> You'll need to give a lot more details on what you tried, and how it
>> failed. Without that information, nobody can really help you.
>
> OK, what else can I say?
>
> I checked out the projects side by side, as I usually do:
>
>    ~/src/llvm.tip $ ls
>    clang              compiler-rt  klee    libcxx     lld   llvm
>    clang-tools-extra  dragonegg    libclc  libcxxabi  lldb  polly

The instructions on http://compiler-rt.llvm.org are for building 
compiler-rt separately from llvm, which is not how most people build it. 
If you're just getting started with it, I'd recommend doing it the other 
way, and that is to do a combined-tree build. For that you'll want:

     *  symlinks in llvm/runtimes to each of libcxx, libcxxabi, 
compiler-rt respectively
     *  symlinks in llvm/tools to clang, lld, and lldb respectively
     *  symlink from llvm/tools/clang/tools/extra to clang-tools-extra

Dragonegg is dead, and you probably don't want klee / polly unless you 
know what you're doing.

>
> So I expected that setting LLVM_ENABLE_PROJECTS="clang;compiler-rt"
> would be enough to get Compiler-RT added to a functional build tree,
> since setting it to just "clang" does result in Clang being built.

Interesting. Didn't know the build would do that (assuming you didn't 
already have the symlink in place for clang).


Jon

> I tired the other variables above for good measure, alas unsuccessfully.
>
> In the end, everything gets built as before, except for Compiler-RT,
> which I expect to be any built-in and sanitizer libraries.
>
> Thank you,
>

-- 
Jon Roelofs
jonathan at codesourcery.com
CodeSourcery / Mentor Embedded


More information about the llvm-dev mailing list