[PATCH] D41957: Utility for checking out llvm, clang, and associated tools and configuring a build folder

Chandler Carruth via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 12 10:01:17 PST 2018


chandlerc added a comment.

In https://reviews.llvm.org/D41957#973990, @MatzeB wrote:

> This whole script is pretty opinionated:
>
> - Use of svn vs. the git mirrors
> - picking a specific set of llvm projects
> - picking a specific set of cmake options (BUILD_TYPE=Release, ENABLE_ASSERTIONS=OFF, ninja...)
>
>   How can we avoid giving the impression that these are somehow recommended? (Because really I could start 3 longish bikeshed-like discussions now about what choices would be better here...)


I think this is an important question.

Fundamentally, I *like* this script precisely because it is a bit opinionated. For some users, the fact that there are options doesn't matter and they'd just like a "reasonable" checkout (for some highly subjective definition). But I totally see your point and am not sure how to avoid this becoming some tacit endorsement -- which it should not be!

Maybe we could give it a name and prefix the script with that name so that it was very clear that this is just *one* way to check out LLVM. My suggestion for this would be something along the lines of `toolchain-svn` and the script could be `toolchain_svn_checkout.sh` or some such. The idea being, that this includes all the LLVM subprojects that are needed to build a complete LLVM toolchain. Maybe there are better names for this slice of opinionated options though. The goal (I think) should be to capture the motivation that leads to the opinionated parts of the script, or if it is arbitrary, the choice. So the subproject set is probably based on a particular motivation / use case, but it's an arbitrary choice to use `svn` vs. `git`.



================
Comment at: utils/checkout_llvm.sh:25-35
+pushd llvm/projects
+svn co http://llvm.org/svn/llvm-project/compiler-rt/$1 compiler-rt
+popd
+
+pushd llvm/projects
+svn co http://llvm.org/svn/llvm-project/libcxx/$1 libcxx
+popd
----------------
If you want these three, you probably also want `openmp`.


Repository:
  rL LLVM

https://reviews.llvm.org/D41957





More information about the llvm-commits mailing list