<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class=""><div class=""><blockquote type="cite" class=""><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">I know there's a supposedly officially supported multistage build in LLVM
(see <a href="https://llvm.org/docs/AdvancedBuilds.html" class="">https://llvm.org/docs/AdvancedBuilds.html</a>). I've never used it (mainly
because LLVM is usually a bit lagging in terms of documentation: before the
monorepo you even had to guess where each subproject was supposed to be
downloaded in the tree).

Anyway, despite not using this official multistaging, I've always built
LLVM in manual stages (at least two: first stage with my current compiler,
second stage with the first stage compiler). At the end I issued a "make
check-all" for checking how the result looks in terms of tests
passes/failures.

Now, looking at the portfile, it seems like LLVM/clang is built with one
stage only in MacPorts and no checks are performed (unless I'm missing some
bits, because I'm still no expert at portfile syntax).
</pre></blockquote></div><div class=""><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class=""><br class=""></pre><pre style="white-space: pre-wrap; background-color: rgb(255, 255, 255);" class="">There are two issues at present (that I know of..) with moving to this method of building the llvm tree.</pre></div><div class="">The biggest one is that we have separated llvm from clang, as we use llvm standalong with other tools like cctools and ld64 (they use it to support link-time optimization etc).</div><div class=""><br class=""></div><div class="">1. building the monorepo and then only installing llvm, or everything except llvm, which we’d have to do to keep our current style, is a rather big PITA.</div><div class=""><br class=""></div><div class="">I was considering just installing the entire llvm/clang monorepo when we install “llvm” and leaving clang/lldb etc for now at least as empty ports that depend on llvm, but that is unlikely to fly very well in an environment where specifying a python27 for llvm-3.3 on Tiger generates tremendous discussion. SO — I have not bothered to do to that, and left it the way Jeremy had it.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">2. We cannot do the llvm Advanced Build in MacPorts until this ticket is resolved:</div><div class=""><br class=""></div><a href="https://trac.macports.org/ticket/59992" class="">https://trac.macports.org/ticket/59992</a><div class=""><br class=""></div><div class="">and there seems to be no resolution available to that ticket that is acceptable. SO we are stuck there.</div><div class=""><br class=""></div><div class="">I have a Portfile that does the MultiStage Advanced build for llvm/clang/lldb/flang etc that I use myself, pending some resolution of the above two issues.</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Best,</div><div class=""><br class=""></div><div class=""><br class=""></div><div class="">Ken</div></body></html>