Modularize rules_cc

This commit is contained in:
Yun Peng 2021-10-06 18:09:19 +02:00
parent aa7ff810cf
commit 890aeb2860
3 changed files with 35 additions and 0 deletions

12
MODULE.bazel Normal file
View File

@ -0,0 +1,12 @@
module(
name = "rules_cc",
version = "0.0.1",
compatibility_level = 1,
toolchains_to_register = ["@local_config_cc_toolchains//:all"],
)
bazel_dep(name = "bazel_skylib", version = "1.0.3")
bazel_dep(name = "platforms", version = "0.0.4")
cc_configure = use_extension("@rules_cc//bzlmod:extensions.bzl", "cc_configure")
use_repo(cc_configure, "local_config_cc_toolchains")

1
bzlmod/BUILD Normal file
View File

@ -0,0 +1 @@

22
bzlmod/extensions.bzl Normal file
View File

@ -0,0 +1,22 @@
# Copyright 2018 The Bazel Authors. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Module extension for cc auto configuration."""
load("//cc/private/toolchain:cc_configure.bzl", "cc_autoconf_toolchains", "cc_autoconf")
def _cc_configure_impl(ctx):
cc_autoconf_toolchains(name = "local_config_cc_toolchains")
cc_autoconf(name = "local_config_cc")
cc_configure = module_extension(implementation = _cc_configure_impl)