[llvm-dev] [PROPOSAL] Add Bazel Build Configuration to the LLVM Monorepo

Chris Bieneman via llvm-dev
Mon, 15 Mar 2021 18:00:05 -0000

Hi David,

This is the first time we've really gone through the full proposal process,
so this is a bit new for everyone. The decision making process was documented in
the first proposal here
<https://github.com/llvm/llvm-www/blob/main/proposals/LP0001-LLVMDecisionMaking.md>,
and the relevant bits are steps 8 & 9:

8. When the discussion concludes, Chris and the review managers have a video
chat to review the outcome of the discussion. The goal of this private
discussion is to achieve consensus on an outcome between the review managers and
Chris, but if that isn't possible, then Chris will tie break. The outcome
may be Approve, Deny, Approve with Changes, or to kick it back to the pitch
phase for more discussion.

9. A review manager writes up a summary of the outcome and shares that with the
community on the llvm-dev. The outcome is added to the proposal in github to
build a history of proposals and their outcomes.

With that completed, the intent is that the decision of the review managers is
the final decision.

I was probably overly brief in my on-list summary of the review managers
decision. It is all captured now in the proposal
<https://github.com/llvm/llvm-www/blob/main/proposals/LP0002-BazelBuildConfiguration.md#review-meeting-notes>,
but the summary
<https://github.com/llvm/llvm-www/blob/main/proposals/LP0002-BazelBuildConfiguration.md#decision-summary>
is:

The review managers met to discuss the technical and community aspects of the
proposal. It was the consensus of the review managers in attendance that the
proposal, if approved, would impose little to no burden on the community, and
provided material benefit to contributors and downstream users.

The committee also agreed that the Bazel build files should be included under
the top-level github.com/llvm/llvm-project/utils directory as they relate to
multiple subprojects in LLVM.

In the discussion notes
<https://github.com/llvm/llvm-www/blob/main/proposals/LP0002-BazelBuildConfiguration.md#discussion-notes>
we did discuss source location as it relates to gn as well:

In the interest of this proposal resulting in the correct decision, we agreed
the Bazel files should live under the utils directory at the root of the
llvm-project repository, and we think GN should move there as well.

Hope this answers all your questions.

-Chris

> On Mar 15, 2021, at 12:29 PM, David Blaikie <dblaikie at gmail.com>
wrote:
>
> Thanks for the update Chris - could you summarize what this means for the
proposal/what stage in the proposal process this is? Does this represent
approval, and the patch should now be submitted without further high level
design review (that is covered by the proposal review)? Or are there further
steps?
>
> (does the approval indicate where these files should live? Next to the gn
files? A new top level location? or is that still up to further community
review)
>
> On Mon, Mar 15, 2021 at 9:22 AM Chris Bieneman via llvm-dev <llvm-dev at
lists.llvm.org <mailto:llvm-dev at lists.llvm.org>> wrote:
> Hello LLVM-Dev,
>
> Last week the review managers met to discuss this proposal. I've
updated the proposal document with a summary of the meeting. You can find the
proposal online here
<https://github.com/llvm/llvm-www/blob/main/proposals/LP0002-BazelBuildConfiguration.md>.
>
> The TL;DR is that the review managers agreed the proposal should be
approved.
>
> Thank you everyone who participated in the conversations around this
proposal, and especially Geoffrey for putting the proposal together and
shepherding it along.
>
> -Chris
>
>> On Feb 19, 2021, at 1:46 PM, Geoffrey Martin-Noble <gcmn at
google.com <mailto:gcmn at google.com>> wrote:
>>
>> A reminder that the review period for this ends 2021-02-23, this coming
Tuesday. Rest assured that if you expressed opinions in the previous RFC threads
then review managers will also consider those points when discussing. We're
not going to skip some point just because it wasn't posted in the correct
thread :-D
>>
>> Best,
>> Geoffrey
>>
>> On Wed, Feb 10, 2021 at 3:44 AM Renato Golin <rengolin at gmail.com
<mailto:rengolin at gmail.com>> wrote:
>> On Tue, 9 Feb 2021 at 21:00, Geoffrey Martin-Noble <gcmn at
google.com <mailto:gcmn at google.com>> wrote:
>> To expand a bit on Eric's response, the intent here is *not* to
make Bazel a supported build system for LLVM or to replace CMake (which I
believe the proposal makes clear), but rather to enable Bazel usage and shared
configuration for people and projects that already use it. I do not expect that
Bazel will cover all the use cases currently supported by LLVM CMake any time
soon (ever?).I don't work on Bazel itself, so have no insight on the support
plan for those architectures. Only developers interested in working with Bazel
would be expected to use or update the configuration, so lack of support for
specific architectures should not affect things, I think.
>>
>> My views exactly. Bazel will not be a "supported" build
system and doesn't need to build on all platforms and environments LLVM
builds. It should only concern people that actually use Bazel and be completely
transparent to the rest who don't.
>
> _______________________________________________
> LLVM Developers mailing list
> llvm-dev at lists.llvm.org <mailto:llvm-dev at lists.llvm.org>
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev
<https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev>

-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.llvm.org/pipermail/llvm-dev/attachments/20210315/e1e5de86/attachment.html>