Comments (5)
Good idea 🙂 We are developing so closely against LLVM that we don't really use releases, but I can understand why some people might. Your analysis of why we don't have a tag for this is correct.
That said, as I commented on that other issue, we're planning to move the contents of this repository upstream to the LLVM monorepo (https://github.com/llvm/llvm-www/blob/main/proposals/LP0002-BazelBuildConfiguration.md) in a side directory, so the precise mechanism for getting build files for the release would change (the current automation with the tags is pretty hacky and I haven't tried to productionize it because of the upstreaming hopes). There was some discussion of what this would mean for releases, but since no one had a use case we didn't go into too much detail. Whatever it was, it couldn't add to the burden of the release manager, since this is not going to be a supported part of the LLVM project, but I bet we could work something out if you've got a use case.
You can read some of the discussions linked from that proposal (personally I find it much easier to read them on https://groups.google.com/g/llvm-dev rather than pipermail) as well as the review for the patch: https://reviews.llvm.org/D94451
I really need to add that to the README...
from llvm-bazel.
I bet we could work something out if you've got a use case
I guess I assumed releases are more stable/robust than random commits on main
? Isn't that what people usually use releases for?
Anyway, yes, not really worth fixing this since the end goal is in-tree build files.
I'm assuming if I want to do this I could try building the LLVM release tag against a nearby commit in llvm-bazel
and hope for the best? Or do they need to match exactly?
from llvm-bazel.
Yeah I can certainly imagine the reasonable use cases 🙂 I just don't have a ton of interest in doing the work unless there's someone who does use releases who wants this functionality (it's unclear to me if you're saying that you use releases). We update the version of LLVM we're using ~daily because we're actively developing against it (and contributing patches upstream), so we don't have a use for release-specific build files.
I'm assuming if I want to do this I could try building the LLVM release tag against a nearby commit in
llvm-bazel
and hope for the best? Or do they need to match exactly?
The tags are really just a convenience to allow getting the "best known" build files for a given llvm commit without having to do a bunch of work. Assuming you're getting your copy of LLVM from somewhere other than the submodule within llvm-bazel (e.g. your own submodule or fetching an http_archive with Bazel) then there's nothing tying a given llvm-bazel commit to an llvm-project commit. And if you're only updating once per release or so, then it's not a big deal to manually find the right set of build files (including potentially forking to add some updates or using the http_archive
patch mechanism). All this automation is really to support the use case of someone updating all the time. If I were to add build files for the release to this repository, I would probably just create a branch for it and call it good. In fact, if this ends up blocking you before we get these upstream and you figure out what the build files need to look like for the llvm 11 release, I'd be happy to make that a branch on this repo. As a starting point, I'd choose the commit that was the base for the release before any cherry picks and see if the corresponding llvm-bazel commit works for that.
from llvm-bazel.
As for our use case, we're not actively developing against LLVM. We use it for eBPF, and some custom LibTooling based tools. I think for us a release version makes sense. And we're using llvm-bazel
rather than a release tarball because we have a policy to build all third-party dependencies from source where possible.
Yes I'm perfectly happy to figure this out for one release. I just thought I'd raise an issue because I assumed others might have the same use case.
Thanks!
from llvm-bazel.
With the move of the build files upstream, this is obsolete. Having build files in a release meet some quality standard is something that could be brought up with the community overall, if desired.
from llvm-bazel.
Related Issues (12)
- Bazel doesn't check for supported features like mallinfo while upstream LLVM does HOT 2
- Providing configuration for gollvm HOT 9
- Are lit tests handled? HOT 2
- undefined reference to 'log10' HOT 18
- http-archive-demo broken HOT 2
- ability to statically link clang? HOT 3
- hermiticity issue? HOT 2
- Add an LLD cc_binary target to OSS llvm-bazel HOT 1
- Clang ast unit tests are really slow HOT 4
- Convert `gentbl` from a macro to a rule HOT 2
- Linking llvm-mca took 8 minutes HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from llvm-bazel.