<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">We have a similar problem at Apple building for iOS from OS X, and we’re seeing more or less the exact same problems you were seeing back at the dev meeting. We have workarounds that aren’t really pretty, but I’ll be working toward a real solution, because we need it to.<div class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On Jan 22, 2016, at 2:06 PM, Iain Sandoe <<a href="mailto:iain@codesourcery.com" class="">iain@codesourcery.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><blockquote type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="Apple-interchange-newline">On 22 Jan 2016, at 21:40, Alexey Samsonov <<a href="mailto:vonosmas@gmail.com" class="">vonosmas@gmail.com</a>> wrote:<br class=""><br class="">samsonov added a comment.<br class=""><br class="">In <a href="http://reviews.llvm.org/D16473#333957" class="">http://reviews.llvm.org/D16473#333957</a>, @beanz wrote:<br class=""><br class=""><blockquote type="cite" class="">Alexey,<br class=""><br class="">My intention for leaving the makefiles for the builtins is mostly as a reference for people bootstrapping platforms, and the darwin implementation is one of the more complete implementations. I don't expect that the makefiles in their current state will cover any uses not covered by CMake. But I am aware of some use cases (specifically looking at @iains) where out-of-tree modified makefiles are the easiest path forward.<br class=""></blockquote><br class=""><br class="">I'm fine with leaving the Makefiles for builtins. But if you're removing makefiles for sanitizers, you can also remove stuff like<br class=""><br class="">FUNCTIONS.asan_osx_dynamic := $(AsanFunctions) $(AsanCXXFunctions) \<br class="">                              $(InterceptionFunctions) \<br class="">                              $(SanitizerCommonFunctions) \<br class="">                              $(AsanDynamicFunctions) \<br class="">                              $(UbsanFunctions) $(UbsanCXXFunctions)<br class=""><br class="">from `make/platform/clang_darwin.mk`<br class=""><br class=""><blockquote type="cite" class="">Apple's build has migrated entirely to CMake. There is one outstanding significant limitation in the CMake build system relating to bootstrapping cross-targeting builds. I'm hoping to have a solution to that in a few weeks so we can remove all the makefiles from compiler-rt.<br class=""></blockquote></blockquote><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Our concerns (codesourcery/Mentor Graphics) centre around cross-toolchains (whether in-tree or out), so a satisfactory solution to that should defuse most of those.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">For example, one should hopefully be able to build a toolchain on OS X build system, intended to run on Linux host - or a toolchain intended to run on Windows host, on a Linux build system.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">The alternative is to require an instance of every supported host to use as a build system for itself; that rapidly becomes unsupportable.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Iain</span></div></blockquote></div><br class=""></div></body></html>