<div dir="ltr"><div style><font face="arial, sans-serif">Hi Jim,</font></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><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 style><span style="font-family:arial,sans-serif">Another option is to have the compiler-rt build depend on a host build of clang. So when cross-compiling clang, we'd generate two clang builds: a target version to ship, and a throwaway host version that only exists to cross-compile compiler-rt.</span><br>
</div><div style><font face="arial, sans-serif"><br></font></div><div style><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 host 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 style><font face="arial, sans-serif"><br></font></div><div style><span style="font-family:arial,sans-serif">-Greg</span><br></div><div style><font face="arial, sans-serif"><br></font></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">On Thu, May 23, 2013 at 1:51 PM, Jim Grosbach <span dir="ltr"><<a href="mailto:grosbach@apple.com" target="_blank">grosbach@apple.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><br><div><div><div class="h5"><div>On May 23, 2013, at 10:30 AM, Greg Fitzgerald <<a href="mailto:garious@gmail.com" target="_blank">garious@gmail.com</a>> wrote:</div><br><blockquote type="cite">
<div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div class="gmail_extra"><div class="gmail_quote"><br>On Thu, May 23, 2013 at 6:01 AM, Jean-Daniel Dupas<span> </span><span dir="ltr"><<a href="mailto:devlists@shadowlab.org" target="_blank">devlists@shadowlab.org</a>></span><span> </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"><div style="overflow:hidden">If you want to build a clang version that target x86 and ARM on an x86 machine and your actual compiler does not support compiling for ARM, you have to use the just built clang.<br>
</div></blockquote><div><br></div><div>Using the just-built-clang will only work if compiler-rt has access to each target's sysroot. Compiler-rt attempts to do this by stubbing out sysroots (see the SDKs directory), but I wonder how well that'll work. There's only one ARM backend, for example, but multiple ARM targets (i.e. arm-none-linux-gnueabi, arm-linux-androideabi). Does there need to be a separate compiler-rt for each target triple or can we get by with one per architecture? It feels like it has to be one per target triple, but it doesn't look to be implemented that way. I'm new to compiler-rt, but is it possible that its CMake and autotools builds are both broken for everything but the host target?</div>
<div><br></div><div><br></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"><div style="overflow:hidden">
Of course, if you are building a clang version that have to run on an other target, you should use you current compiler.</div></blockquote></div><br>We don't need a special case for this. You can run the just-built-clang on an emulator such as QEMU. </div>
</div></blockquote><div dir="auto"><br></div></div></div><div dir="auto">Perhaps I’m misunderstanding you. Are you suggesting using QEMU as part of the LLVM build process?</div><br><blockquote type="cite"><div dir="ltr" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<div class="gmail_extra"><br></div><div class="gmail_extra">-Greg</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div></div><div class="im"><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">_______________________________________________</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important">LLVM Developers mailing list</span><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<a href="mailto:LLVMdev@cs.uiuc.edu" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">LLVMdev@cs.uiuc.edu</a><span style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;float:none;display:inline!important"><span> </span> </span><a href="http://llvm.cs.uiuc.edu/" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">http://llvm.cs.uiuc.edu</a><br style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px">
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev" style="font-family:Helvetica;font-size:12px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a></div>
</blockquote></div><br></div></blockquote></div><br></div>