<div dir="ltr">On Tue, Dec 12, 2017 at 4:47 PM, Wallacy <span dir="ltr">&lt;<a href="mailto:wallacyf@gmail.com" target="_blank">wallacyf@gmail.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Has anyone considered the Bezel Build for swift?<br><br><a href="https://bazel.build/" target="_blank">https://bazel.build/</a><br><br>Seems to address these problems.</blockquote><div><br></div><div>I&#39;m sorry, but I fail to see how bazel would address any of these issues.  The flags are exported from LLVM&#39;s CMake infrastructure.  First of all, we would have to recreate all the dependency information from LLVM to import that into this new build system.  Next, we need to reconstruct parts of clang to re-embed into the swift compiler.  We also now have the additional cognitive overhead of switching build systems going between clang/LLVM and swift.  We would lose the dependency tracking or need to reconstruct all of that and maintain it.</div><div><br></div><div>The problems with the cross-compiling that Im referring to are not inherent to CMake (although, I am slightly partial to the autotools approach to cross-compilation), but rather the way that the tool is being used within the context of swift.  As an example, libdispatch is extremely easy to cross-compile thanks to its use of CMake.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5"><br><div class="gmail_quote"><div dir="ltr">Em ter, 12 de dez de 2017 às 19:39, Saleem Abdulrasool via swift-dev &lt;<a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a>&gt; escreveu:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">On Sat, Dec 9, 2017 at 9:21 AM, David Zarzycki via swift-dev <span dir="ltr">&lt;<a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a>&gt;</span> wrote:<br></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space">Can somebody please also speak up to why Windows needs to remove the &quot;-Wl,-z,defs” from CXX_FLAGS? At the very least, I’d like to see the project-wide removal of this useful flag limited to just the Windows builds.<br></div></blockquote><div><br></div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>Currently, the way that swift approaches building goes against the way that CMake intended cross-compilation to work.  The result is that we end up having to do a number of fairly nasty things to get things to work.  Options are not spelt the same way nor do all options make sense on all targets.  `-z defs` is an ELF specific option.  However, because we use the same rules for all targets using the build as the host, we cannot simply filter based on the target.  Instead, this needs to be done at the lowest possible layer when we know if the build is ELF or COFF or MachO.  That said, I think that exporting this flag from LLVM is not the right thing and that swift should be re-adding that flag if it so decides to use (which for ELF targets, it really is a good idea).</div><div><br></div><div>I think that if we start splitting things up and using ExternalProject to joining the various pieces we should be able to accommodate that and re-use the cross-compilation support in CMake.  I think that there is some work that has been done there for the SDK overlay and libdispatch.</div></div></div></div><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word;line-break:after-white-space"><div><br><blockquote type="cite"><div><div class="m_-6887420351849464247m_4846488639138599656h5"><div>On Dec 8, 2017, at 20:36, Thomas Roughton via swift-dev &lt;<a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a>&gt; wrote:</div><br class="m_-6887420351849464247m_4846488639138599656m_-7177237948252450778Apple-interchange-newline"></div></div><div><div><div class="m_-6887420351849464247m_4846488639138599656h5"><div><div>Hi all,</div><div><br></div><div>I&#39;ve had a PR (<a href="https://github.com/apple/swift/pull/13140" target="_blank">https://github.com/apple/<wbr>swift/pull/13140</a>) that&#39;s been open for about 10 days with a few CMake changes to fix the Windows cross-compile build. I wasn&#39;t sure who best to ask to review it, but was suggested to post here with it.</div><div><br></div><div>Could someone familiar with that area maybe add themselves as a reviewer and then later take a look when they get a chance (even if that&#39;s not for a few weeks)? There&#39;s no particular urgency, but it&#39;d be ideal if possible to have the changes in before it needs to be rebased too many times.</div><div><br></div><div>Thanks,</div><div>Thomas</div></div></div></div>______________________________<wbr>_________________<br>swift-dev mailing list<br><a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a><br><a href="https://lists.swift.org/mailman/listinfo/swift-dev" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-dev</a><br></div></blockquote></div><br></div><br>______________________________<wbr>_________________<br>
swift-dev mailing list<br>
<a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-dev" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-dev</a><br>
<br></blockquote></div></div></div><div dir="ltr"><div class="gmail_extra"><br><br clear="all"><div><br></div>-- <br><div class="m_-6887420351849464247m_4846488639138599656gmail_signature" data-smartmail="gmail_signature">Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org</div>
</div></div>
______________________________<wbr>_________________<br>
swift-dev mailing list<br>
<a href="mailto:swift-dev@swift.org" target="_blank">swift-dev@swift.org</a><br>
<a href="https://lists.swift.org/mailman/listinfo/swift-dev" rel="noreferrer" target="_blank">https://lists.swift.org/<wbr>mailman/listinfo/swift-dev</a><br>
</blockquote></div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">Saleem Abdulrasool<br>compnerd (at) compnerd (dot) org</div>
</div></div>