Unified build changes?


(David Zarzycki) #1

So it looks like the following pull request changes how unified builds work. Where was this announced? Where is the documentation for how unified builds are now supposed to work? If this was not announced, can we please revert this for a week or two to give people time to adjust their scripts to handle the new workflow?


(Saleem Abdulrasool) #2

The adjustment is pretty simple: cmark and swift just are peers like the rest of the tools (both in preparation for the monorepo layout changes as well as to reflect the rest of the projects). Just adding -DLLVM_ENABLE_PROJECTS="clang;cmark;swift" -DLLVM_EXTERNAL_PROJECTS="cmark;swift" should be sufficient for doing the unified builds.

Is there existing documentation on the unified build? I don't seem to see any in the tree.


(David Zarzycki) #3

So I have a directory with the following contents: llvm, swift, clang, lldb, and cmark. I then create a build directory and run cmake with:

-DLLVM_EXTERNAL_PROJECTS="swift;cmark" -DLLVM_ENABLE_PROJECTS="clang;cmark;swift;lldb" ../llvm

This no longer builds LLDB or the LLDB Swift REPL. This used to work with the old unified build process. What am I doing wrong? Also, what's the difference between LLVM_EXTERNAL_PROJECTS and LLVM_ENABLE_PROJECTS?


(David Zarzycki) #4

Never mind. I figured it. Thanks for helping