[PATCH] D112748: [release] Use the Bootstrapping build for building LLVM releases

Louis Dionne via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Dec 7 14:46:59 PST 2021


ldionne added inline comments.


================
Comment at: llvm/utils/release/test-release.sh:241
 if [ $do_rt = "yes" ]; then
   projects="$projects compiler-rt"
 fi
----------------
amyk wrote:
> I was initially thinking that perhaps maybe we can opt for a hybrid of this idea and my idea in https://reviews.llvm.org/D115105 because I can see adding a new option for users to specifically control which projects people want to build as a part of runtimes, but then I realize, we're doing it this way where we just add to `runtimes` because the plan going forward is to only support building  `libcxx`/`libcxxabi`/`libunwind` as a part of runtimes, right? 
> 
> Since `compiler-rt` can also be built a part of runtimes, would it still make sense to also add this a part of `runtimes`? 
> Unless if we introduce a new option to add the ability to build `compiler-rt` as apart of runtimes?
> we're doing it this way where we just add to runtimes because the plan going forward is to only support building  libcxx/libcxxabi/libunwind as a part of runtimes, right?

Not exactly, but almost. The plan going forward is to 
1. support building `libcxx/libcxxabi/libunwind` as part of the Bootstrapping build (i.e. using `LLVM_ENABLE_RUNTIMES` and using `<monorepo>/llvm` as the CMake root). This is what's used by `test-release.sh` in my patch and your patch.
2. support building `libcxx/libcxxabi/libunwind` using `LLVM_ENABLE_RUNTIMES` but with `<monorepo>/runtimes` as the CMake root. This isn't used by `test-release.sh` and I don't think we want to do this.

The way I understand it, people use `test-release.sh` basically to build and release a toolchain, and the bootstrapping build is the most suited for that job. So I don't think it makes sense for `test-release.sh` to support using build (2) for libcxx/libcxxabi/libunwind. For the same reason, it made sense to me to automatically route projects to `LLVM_ENABLE_RUNTIMES` instead of `LLVM_ENABLE_PROJECTS` so as to avoid breaking anything that uses the script.

But as I said, I don't really mind whatever we do. If @tstellar  and others are happy to update their scripts that call `test-release.sh` to pass `-runtimes` instead of everything inside `-projects`, I'm happy.

> Since compiler-rt can also be built a part of runtimes, would it still make sense to also add this a part of runtimes?

Hmm, that definitely seems like an oversight in my patch. I'll update it in case we end up going with that.



Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D112748/new/

https://reviews.llvm.org/D112748



More information about the llvm-commits mailing list