-
-
Notifications
You must be signed in to change notification settings - Fork 232
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
cc_toolchain: prefix include directories with %workspace%
#438
Merged
fmeum
merged 1 commit into
bazel-contrib:master
from
ParkMyCar:cc_toolchain/prefix-include-directories
Jan 11, 2025
Merged
cc_toolchain: prefix include directories with %workspace%
#438
fmeum
merged 1 commit into
bazel-contrib:master
from
ParkMyCar:cc_toolchain/prefix-include-directories
Jan 11, 2025
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
06e281e
to
102310d
Compare
fmeum
approved these changes
Jan 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice find!
fmeum
approved these changes
Jan 10, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice find!
Woohoo! Thanks @fmeum! |
5 tasks
ParkMyCar
added a commit
to MaterializeInc/materialize
that referenced
this pull request
Jan 13, 2025
This PR makes our Bazel build fully hermetic, mainly by refactoring how we built the `librocksdb-sys` crate. Previously we had to rely on some hacks because `librocksdb-sys` uses bindgen which was tricky to get working. Specifically the changes this PR makes are: * upgrades to [`clang 18.1.8-5`](https://github.com/MaterializeInc/toolchains/releases/tag/clang-18.1.8-5) * upgrades to newer version of `toolchains_llvm` that includes an [upstream fix](bazel-contrib/toolchains_llvm#438) * adds `rust_bindgen` toolchains with new `libclang` package from our toolchains repo * refactors the rocksdb build to be hermetic ### Motivation Improves the quality of our build, allows us to move to a "minimum" CI builder image for faster build times ### Tips for reviewer <!-- Leave some tips for your reviewer, like: * The diff is much smaller if viewed with whitespace hidden. * [Some function/module/file] deserves extra attention. * [Some function/module/file] is pure code movement and only needs a skim. Delete this section if no tips. --> ### Checklist - [ ] This PR has adequate test coverage / QA involvement has been duly considered. ([trigger-ci for additional test/nightly runs](https://trigger-ci.dev.materialize.com/)) - [ ] This PR has an associated up-to-date [design doc](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/README.md), is a design doc ([template](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/design/00000000_template.md)), or is sufficiently small to not require a design. <!-- Reference the design in the description. --> - [ ] If this PR evolves [an existing `$T ⇔ Proto$T` mapping](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/command-and-response-binary-encoding.md) (possibly in a backwards-incompatible way), then it is tagged with a `T-proto` label. - [ ] If this PR will require changes to cloud orchestration or tests, there is a companion cloud PR to account for those changes that is tagged with the release-blocker label ([example](MaterializeInc/cloud#5021)). <!-- Ask in #team-cloud on Slack if you need help preparing the cloud PR. --> - [ ] If this PR includes major [user-facing behavior changes](https://github.com/MaterializeInc/materialize/blob/main/doc/developer/guide-changes.md#what-changes-require-a-release-note), I have pinged the relevant PM to schedule a changelog post.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Today the
built_in_includes_directores
that are exported by this toolchain, appear to be incorrect. For example, when usingtoolchains_llvm
locally with clang 18.1.8 one of the includes paths is:This path does not exist, it's incorrectly prefixed with
external/llvm_toolchain/
. This is because when populating the list ofbuilt_in_includes_directories
Bazel will resolve the included directory based on these rules. Specifically the rule we're hitting today, and the cause of the invalid prefixing is:This PR changes the includes paths to be prefixed with
%workspace%
so instead no prefix is added.