|author||rosica <email@example.com>||Wed Feb 06 08:55:55 2019 -0800|
|committer||Copybara-Service <firstname.lastname@example.org>||Wed Feb 06 08:56:10 2019 -0800|
Remove fail("Unreachable") from features' and action_configs' declaration statements If toolchain A and B need feature f, but toolchain C doesn't, the generated declaration statement for feature f would be: if ctx.attr.cpu == 'A.cpu': f = feature(...) elif ctx.attr.cpu == "B.cpu" and ctx.attr.compiler == "B.compiler": f = feature(...) else: fail("Unreachable") This will break the rule implementation in the case of toolchain C because it will reach the fail("Unreachable") although it doesn't need to declare feature f This cl fixes that Issue #5380 PiperOrigin-RevId: 232683639
This repository contains 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/TODO"], sha256 = "TODO", )
Then, in your BUILD files, import and use the rules:
load("@rules_cc//cc:rules.bzl", "cc_library") cc_library( ... )
This repository also contains migration tools that can be used to migrate your project for Bazel incompatible changes.
bazel run @rules_cc//tools/migration:legacy_fields_migrator -- \ --input=my_toolchain/CROSSTOOL \ --inline