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

bazel_dep(name = "apple_support", version = "2.8.0")
bazel_dep(name = "bazel_features", version = "1.50.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 = "rules_python", version = "1.7.0")

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",
)

bazel_dep(name = "test_repo", dev_dependency = True, repo_name = "cross_repo_test")
local_path_override(
    module_name = "test_repo",
    path = "tests/builtins_bzl/cc/cc_shared_library/test2",
)

# Require added functions to assertion subjects that are not yet released."
# TODO: pzembrod - Change to a released version again when a new version has been released.
bazel_dep(name = "rules_testing", dev_dependency = True)
archive_override(
    module_name = "rules_testing",
    integrity = "sha256-rmg720edQlN+fg3IAWxQD6Ml5BrxK4C2GISJUvxEHng=",
    strip_prefix = "rules_testing-8ea02d6b890c54cbe2d5e78cefa626bc7d53571a",
    urls = ["https://github.com/bazelbuild/rules_testing/archive/8ea02d6b890c54cbe2d5e78cefa626bc7d53571a.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")

local_bazel_import = use_repo_rule("//:local_bazel.bzl", "local_bazel_import")

local_bazel_import(name = "local_bazel")
