<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Feb 13, 2015 at 5:35 PM, Jonathan Roelofs <span dir="ltr"><<a href="mailto:jonathan@codesourcery.com" target="_blank">jonathan@codesourcery.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">+alexey<span class=""><br>
<br>
On 2/5/15 12:47 PM, Jonathan Roelofs wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
<br>
On 2/3/15 12:08 PM, Chris Bieneman wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
Here's the outstanding work and my (not necissarily correct) view of<br>
the status and importance of each one:<br>
<br>
* Bug 14109 - CMake build for compiler-rt should use just-built clang<br>
   - Still waiting for patches, I don't think this is a blocker<br>
</blockquote></blockquote>
<br></span>
I Just discovered LLVM_BUILD_EXTERNAL_COMPILER_<u></u>RT implemented by Alexey in <a href="https://www.mail-archive.com/cfe-commits@cs.uiuc.edu/msg91501.html" target="_blank">https://www.mail-archive.com/<u></u>cfe-commits@cs.uiuc.edu/<u></u>msg91501.html</a><br>
This causes compiler-rt to be built with the just-built clang. For my purposes, this unblocks dropping autoconf (aside from some internal hassles with getting cmake built, but that's on me to deal with).<br></blockquote><div><br></div><div>Right, I believe we should revisit this mode and eventually make LLVM_BUILD_EXTERNAL_COMPILER_<u></u>RT the only available option (for now it's not the default and only runs on our buildbot). I'll see if we can workaround the Ninja problem somehow. I also believe we should do a major rewrite of the way this mode (and CMake build for compiler-rt) is implemented. Instead of having a single compiler-rt build tree that would guess which architectures the host compiler can target, and build runtimes for all of them (which leads to "foreach(arch ${SANITIZER_COMMON_SUPPORTED_ARCH})" all around), we might instead create one build tree for each target we support, and pass host compiler (just-built Clang) and flags to target that architecture (we may cross-compile) down to that  build tree. That would drastically simplify CMake build rules. I hope I will be able to experiment with that soon.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
I think it would be better if we built that way by default. What blocks flipping the switch so that the "build with the host compiler" behavior becomes opt-in? I see a note that this flag blocks using the Ninja generator: <a href="http://www.cmake.org/Bug/view.php?id=14771" target="_blank">http://www.cmake.org/Bug/view.<u></u>php?id=14771</a> Can that be worked around? Is there anything else?<br>
<br>
<br>
Cheers,<br>
<br>
Jon<div class=""><div class="h5"><br>
<br>
-- <br>
Jon Roelofs<br>
<a href="mailto:jonathan@codesourcery.com" target="_blank">jonathan@codesourcery.com</a><br>
CodeSourcery / Mentor Embedded<br>
______________________________<u></u>_________________<br>
LLVM Developers mailing list<br>
<a href="mailto:LLVMdev@cs.uiuc.edu" target="_blank">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" target="_blank">http://lists.cs.uiuc.edu/<u></u>mailman/listinfo/llvmdev</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr">Alexey Samsonov<br><a href="mailto:vonosmas@gmail.com" target="_blank">vonosmas@gmail.com</a></div></div>
</div></div>