<div dir="ltr"><div class="im" style="font-family:arial,sans-serif;font-size:13px">> I think you mean "build" not "host" here.</div><div class="im" style="font-family:arial,sans-serif;font-size:13px">

> I think you mean "host" not "target" here.</div><div style="font-family:arial,sans-serif;font-size:13px"><div class="im">> I think you mean "build" not "host" here.<font face="arial, sans-serif"><br>

</font><div><br></div></div><div>Hmm, my aim was to use LLVM terminology, not build system terminology, and there's a whole lot of overlap.  I think it would have been easier to understand if I use the term "native" in place of "host" and "cross-compiled" in place of "target".  As for using the term 'build' for the noun "a build, what a build tool invokes", another noun "a build variant" and a verb "to build something", I could at least use the term 'variant'. Here's the same email again!</div>

</div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px"><br></div><div style="font-family:arial,sans-serif;font-size:13px">Just for the case of building the runtime libraries for a cross-compiled variant of clang.<br>

</div><div style="font-family:arial,sans-serif;font-size:13px"><div><br></div><div>Another option is to have the compiler-rt build depend on a native variant of clang.  So when cross-compiling clang, we'd generate two clang variants: a cross-compiled variant to ship, and a throwaway native variant that only exists to cross-compile compiler-rt.<br>

</div><div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">I think this second option is the more elegant one (less source dependencies), but is it possible in a single CMake build?  The QEMU solution entertains the idea of pushing forward with just one cross-compiler and putting all projects in one big [parallel] build.  But if the QEMU dependency is too impractical, then compiler-rt requires a pre-built native cross-compiler.  If no one takes issue with that, is it safe to just ignore the compiler-rt build in "autotools vs CMake" debate?  It means we'll need a build to invoke the two builds.  Should we write that in Make or CMake? :)</font></div>

<div class="" style="margin:2px 0px 0px"><div id=":62e" class="" tabindex="0"><img class="" src="https://mail.google.com/mail/u/0/images/cleardot.gif" style=""></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">

On Thu, May 23, 2013 at 3:48 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Thu, May 23, 2013 at 3:28 PM, Greg Fitzgerald <span dir="ltr"><<a href="mailto:garious@gmail.com" target="_blank">garious@gmail.com</a>></span> wrote:<br></div><div class="gmail_quote"><div class="im">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div dir="ltr"><div><font face="arial, sans-serif">Hi Jim,</font></div><div><span style="font-family:arial,sans-serif;font-size:13px"><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div>
> Perhaps I’m misunderstanding you. Are you suggesting </span><div>

<span style="font-family:arial,sans-serif;font-size:13px">> using QEMU as part of the LLVM build process?</span><br></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div></div><div><div>


<font face="arial, sans-serif">Just for the case of building the runtime libraries for a cross-compiled version of clang.</font></div>

</div><div><br></div><div><span style="font-family:arial,sans-serif">Another option is to have the compiler-rt build depend on a host build of clang.</span></div></div></blockquote><div><br></div></div><div>I think you mean "build" not "host" here.<br>


</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><span style="font-family:arial,sans-serif"> So when cross-compiling clang, we'd generate two clang builds: a target version to ship,</span></div>


</div></blockquote><div><br></div></div><div>I think you mean "host" not "target" here.</div><div class="im"><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr"><div><span style="font-family:arial,sans-serif">and a throwaway host version that only exists to cross-compile compiler-rt.</span></div></div></blockquote><div><br></div></div><div>I think you mean "build" not "host" here.</div>

<div class="im">
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><font face="arial, sans-serif">I think this second option is the more elegant one (less source dependencies), but is it possible in a single CMake build?</font></div>


</div></blockquote><div><br></div></div><div>Right now, no, but I don't see why that's a problem. Running cmake multiple times is not difficult. Also, there's no reason to think that we need to use a just-built clang to build compiler-rt. *Any* compiler which can build compiler-rt and can target whatever platform we want runtimes for is fine, and by running cmake manually, we get to pick whichever compiler makes sense for that.</div>


<div><br></div><div>Is this really a problem for which we need some kind of automation in the build system?</div></div>
</blockquote></div><br></div>