commit | ffdd1e03be812c5bc4b7be373e9a807e73b5430e | [log] [tgz] |
---|---|---|
author | armandomontanez <montanez.armando.l@gmail.com> | Wed Jan 22 04:06:59 2025 -0800 |
committer | Copybara-Service <copybara-worker@google.com> | Wed Jan 22 04:07:34 2025 -0800 |
tree | f5af82a96870e0e7af10f015a1ed4accac1b864f | |
parent | 6be85c266b1df3a5bd38290c814d83ee643185dd [diff] |
Apply -no-canonical-prefixes to all compile actions Copybara Import from https://github.com/bazelbuild/rules_cc/pull/309 BEGIN_PUBLIC Apply -no-canonical-prefixes to all compile actions (#309) In the rule_based_toolchain example, updates the no_canonical_prefixes arguments to apply to all compile actions. Previously, assembly actions were not properly included. Closes #309 END_PUBLIC COPYBARA_INTEGRATE_REVIEW=https://github.com/bazelbuild/rules_cc/pull/309 from armandomontanez:origin/fix_no_canonical_prefixes_action a46b4872a81550c93163c693a616e1cd504f59f2 PiperOrigin-RevId: 718320559 Change-Id: Ibfe078b4f1e2ded541b4ca0186f829acb9e0beab
This repository contains a Starlark implementation of C++ rules in Bazel.
The rules are being incrementally converted from their native implementations in the Bazel source tree.
For the list of C++ rules, see the Bazel documentation.
There is no need to use rules from this repository just yet. If you want to use rules_cc
anyway, add the following to your WORKSPACE
file:
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive") http_archive( name = "rules_cc", urls = ["https://github.com/bazelbuild/rules_cc/archive/refs/tags/<VERSION>.tar.gz"], sha256 = "...", )
Then, in your BUILD
files, import and use the rules:
load("@rules_cc//cc:defs.bzl", "cc_library") cc_library( ... )
This repo contains an auto-detecting toolchain that expects to find tools installed on your host machine. This is non-hermetic, and may have varying behaviors depending on the versions of tools found.
There are third-party contributed hermetic toolchains you may want to investigate:
If you'd like to use the cc toolchain defined in this repo, add this to your WORKSPACE after you include rules_cc:
load("@rules_cc//cc:repositories.bzl", "rules_cc_dependencies", "rules_cc_toolchains") rules_cc_dependencies() rules_cc_toolchains()
This repository also contains migration tools that can be used to migrate your project for Bazel incompatible changes.
Script that migrates legacy crosstool fields into features (incompatible flag, tracking issue).
TLDR:
bazel run @rules_cc//tools/migration:legacy_fields_migrator -- \ --input=my_toolchain/CROSSTOOL \ --inline
Bazel and rules_cc
are the work of many contributors. We appreciate your help!
To contribute, please read the contribution guidelines: CONTRIBUTING.md.
Note that the rules_cc
use the GitHub issue tracker for bug reports and feature requests only. For asking questions see:
rules_cc
mailing list#cc
on slack.bazel.build