<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>