module(
    name = "rules_cc",
    version = "0.2.19",
    compatibility_level = 1,
)

bazel_dep(name = "bazel_features", version = "1.47.0")
bazel_dep(name = "bazel_skylib", version = "1.8.0")
bazel_dep(name = "platforms", version = "0.0.10")
bazel_dep(name = "protobuf", version = "27.0", repo_name = "com_google_protobuf")

cc_configure = use_extension("//cc:extensions.bzl", "cc_configure_extension")
use_repo(cc_configure, "local_config_cc", "local_config_cc_toolchains")

register_toolchains(
    "@local_config_cc_toolchains//:all",
    "//cc/private/toolchain/test:default_test_runner_toolchain",
)

bazel_dep(name = "rules_shell", version = "0.2.0", dev_dependency = True)
bazel_dep(name = "googletest", version = "1.17.0", dev_dependency = True)
single_version_override(
    module_name = "googletest",
    patch_strip = 1,
    patches = ["//:googletest.patch"],
    version = "1.17.0",
)

# Required commit 26a0b7d "Add CollectionSubject.contains_no_duplicates"
# TODO: pzembrod - Change to a released version again when the commit is in a release.
bazel_dep(name = "rules_testing", dev_dependency = True)
archive_override(
    module_name = "rules_testing",
    integrity = "sha256-Fv1hcAnEWf4QxN9MhAcL9MBowNFqYdeFhZAApqdaY6w=",
    strip_prefix = "rules_testing-26a0b7d0b21c21338bb2f5ce693eac14aa24e323",
    urls = ["https://github.com/bazelbuild/rules_testing/archive/26a0b7d0b21c21338bb2f5ce693eac14aa24e323.tar.gz"],
)

bazel_dep(name = "stardoc", version = "0.8.0", dev_dependency = True)

# Compatibility layer
compat = use_extension("//cc:extensions.bzl", "compatibility_proxy")
use_repo(compat, "cc_compatibility_proxy")
