> I know there's a supposedly officially supported multistage build in LLVM
> (see https://llvm.org/docs/AdvancedBuilds.html 
> <https://llvm.org/docs/AdvancedBuilds.html>). 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).


There are two issues at present (that I know of..) with moving to this method 
of building the llvm tree.
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).

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.

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.


2. We cannot do the llvm Advanced Build in MacPorts until this ticket is 
resolved:

https://trac.macports.org/ticket/59992

and there seems to be no resolution available to that ticket that is 
acceptable. SO we are stuck there.

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.


Best,


Ken

Reply via email to