<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=""><br class=""><div><blockquote type="cite" class=""><div class="">On Nov 29, 2015, at 10:58 AM, Jeremy Sequoia <<a href="mailto:jeremyhu@apple.com" class="">jeremyhu@apple.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><meta http-equiv="content-type" content="text/html; charset=utf-8" class=""><div dir="auto" class=""><div class="">Thanks, Chris.</div><div class=""><br class=""></div><div class="">No, it is certainly not a surprise.  I've known about it for a while but haven't had time to attempt the transition until Thanksgiving Holiday.  The last time I attempted the transition was with llvm-3.4; at that time, I was told that the cmake build system was not supported for darwin.</div><div class=""><br class=""></div><div class="">Thanks for the pointer on <span style="background-color: rgba(255, 255, 255, 0);" class="">LLVM_BUILD_LLVM_DYLIB.  I did notice that LLVM_ENABLE_SHARED was doing something different, but I think this approach might be better for clients than what we were doing before, so I kept it.</span></div></div></div></blockquote><div><br class=""></div><div>On Darwin LLVM_ENABLE_SHARED is very much not advisable. Having clang link against LLVM via dynamic libraries exponentially increases dyld symbol resolution and results in a 10-20% increase in process launch time. For a basic clang with arm, aarch64 and x86 support it is an additional 2-3ms. That kind of performance regression is generally undesirable.</div><div><br class=""></div><div>-Chris</div><br class=""><blockquote type="cite" class=""><div class=""><div dir="auto" class=""><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">  I imagine LLVM_BUILD_LLVM_DYLIB will additionally build the umbrella dylib for compatability.</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">I agree that the two issues I mentioned earlier are not blockers; there are simple workarounds for them.</span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class=""><br class=""></span></div><div class=""><span style="background-color: rgba(255, 255, 255, 0);" class="">The new port is mostly working on Mavericks and El Capitan (and I assume Yosemite but have not checked yet).  However, it is still not building on Leopard, Snow Leopard, Lion, and Mountain Lion due to two different issues (one which I haven't reported yet).  On Leopard and SL, -std=c++11 isn't being passed to the compiler (presumibly I can fix that with some manual setting), and on Lion and Mountain Lion, linking libc++.dylib fails.  I haven't yet figured out a workaround for the link issue (#25666) but suspect I just need to hack up the exports file since we end up not installing the built libc++ anyways.</span></div><div class=""><br class="">Sent from my iPhone...</div><div class=""><br class="">On Nov 29, 2015, at 12:11, Chris Bieneman <<a href="mailto:beanz@apple.com" class="">beanz@apple.com</a>> wrote:<br class=""><br class=""></div><blockquote type="cite" class=""><div class=""><meta http-equiv="Content-Type" content="text/html charset=utf-8" class="">Jeremy,<div class=""><br class=""></div><div class="">At this point the belief is that there are no issues left blocking removing autoconf. The plan is to remove it after the 3.8 branch. In case you missed the thread where that was decided it is here (<a href="http://lists.llvm.org/pipermail/llvm-dev/2015-November/092150.html" class="">http://lists.llvm.org/pipermail/llvm-dev/2015-November/092150.html</a>). This discussion has been going on for over a year, so it shouldn’t be a surprise.</div><div class=""><br class=""></div><div class="">I see the issues you reported, I don’t consider any of them to be blocking because they can all be worked around. That doesn’t mean I don’t think we should fix them (because we should), it just means I don’t think they warrant any changes in our plans to remove autoconf support.</div><div class=""><br class=""></div><div class="">The two main issues you’re being impacted by are 25664 and 25665.</div><div class=""><br class=""></div><div class="">I suspect that you are hitting 25664 because you’re setting LLVM_ENABLE_SHARED=On, which probably doesn’t do what you think it does. There was no equivalent of that flag in autoconf. The autoconf —enable-shared option maps to LLVM_BUILD_LLVM_DYLIB=On in CMake.</div><div class=""><br class=""></div><div class="">For 25665, we will need to add an option to skip generating targets for libcxx’s library. I can work that up today or tomorrow.</div><div class=""><br class=""></div><div class="">Also, make sure you are setting LLVM_BUILD_EXTERNAL_COMPILER_RT=On. If you don’t set that you’re not building libclang_rt with the just-built compiler.</div><div class=""><br class=""></div><div class="">If you have other questions please let me know. I can also share our internal packaging scripts with you off-list if you'd like. I don’t think there is anything really secret in them, they’re just not useful to the wider LLVM community so they aren’t in-tree.</div><div class=""><br class=""></div><div class="">-Chris</div><div class=""><br class=""><div class=""><blockquote type="cite" class=""><div class="">On Nov 29, 2015, at 12:56 AM, Anton Korobeynikov via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div class=""><blockquote type="cite" class="">I don't think this information has all been entered in to bugzilla,<br class="">but a tracking bug could make sense if it doesn't already exist.<br class=""></blockquote>See PR15732<br class=""><br class="">-- <br class="">With best regards, Anton Korobeynikov<br class="">Faculty of Mathematics and Mechanics, Saint Petersburg State University<br class="">_______________________________________________<br class="">LLVM Developers mailing list<br class=""><a href="mailto:llvm-dev@lists.llvm.org" class="">llvm-dev@lists.llvm.org</a><br class=""><a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" class="">http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br class=""></div></div></blockquote></div><br class=""></div></div></blockquote></div></div></blockquote></div><br class=""></body></html>