diff options
author | cpeyser <cpeyser@google.com> | 2017-09-13 21:24:40 +0200 |
---|---|---|
committer | Philipp Wollermann <philwo@google.com> | 2017-09-14 18:46:43 +0200 |
commit | ca216f5eb4b1f1892219db0f578495bbbdbaa875 (patch) | |
tree | 2cd1853f5424c44dc57e986ee0bd5e3f4ad3bc50 /src/test/java/com | |
parent | d1bd9d6637a7201e31e94683a9bc12cc59ac3651 (diff) |
Introduce empty "toolchain_category" rule for labels that will be used as
categories of toolchains for the purpose of toolchain selection.
Up to now, we've used the native toolchain_type rule for this purpose. That rule depends on a number of configuration fragments that supply build variables - we don't want toolchains to need to depend on those fragments as well. E.g. toolchain_type depends on JvmConfiguration, but we would like toolchains to work with --experimental_disable_jvm.
PiperOrigin-RevId: 168577759
Diffstat (limited to 'src/test/java/com')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java index b938e5fe93..2cf84b62d6 100644 --- a/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java +++ b/src/test/java/com/google/devtools/build/lib/packages/util/BazelMockCcSupport.java @@ -78,6 +78,7 @@ public final class BazelMockCcSupport extends MockCcSupport { "/bazel_tools_workspace/tools/cpp/BUILD", "package(default_visibility=['//visibility:public'])", "cc_library(name = 'stl')", + "toolchain_type(name = 'toolchain_type')", "cc_library(name = 'malloc')", "cc_toolchain_suite(", " name = 'toolchain',", @@ -145,16 +146,17 @@ public final class BazelMockCcSupport extends MockCcSupport { " name = 'link_dynamic_library',", " srcs = ['link_dynamic_library.sh'],", ")", - "toolchain_type(name = 'toolchain_type')", + "load('//tools/build_defs/toolchains:toolchain_category.bzl', 'toolchain_category')", + "toolchain_category(name = 'toolchain_category')", "toolchain(", " name = 'toolchain_cc-compiler-piii',", - " toolchain_type = ':toolchain_type',", + " toolchain_type = ':toolchain_category',", " toolchain = '//third_party/crosstool/mock:cc-compiler-piii',", " target_compatible_with = [':mock_value'],", ")", "toolchain(", " name = 'dummy_cc_toolchain',", - " toolchain_type = ':toolchain_type',", + " toolchain_type = ':toolchain_category',", " toolchain = ':dummy_cc_toolchain_impl',", ")", "load(':dummy_toolchain.bzl', 'dummy_toolchain')", @@ -165,6 +167,12 @@ public final class BazelMockCcSupport extends MockCcSupport { " toolchain = platform_common.ToolchainInfo()", " return [toolchain]", "dummy_toolchain = rule(_dummy_toolchain_impl, attrs = {})"); + config.create("/bazel_tools_workspace/tools/build_defs/toolchains/BUILD"); + config.create( + "/bazel_tools_workspace/tools/build_defs/toolchains/toolchain_category.bzl", + "def _toolchain_category_impl(ctx):", + " ctx = ctx", + "toolchain_category = rule(_toolchain_category_impl, attrs = {})"); config.create( "/bazel_tools_workspace/tools/cpp/CROSSTOOL", readCrosstoolFile()); |