Enable C++ symbols using compatiblity proxy

PiperOrigin-RevId: 823465606
Change-Id: I4f9654e6081d01a7a8c3bb4f2357de49d20a0ede
diff --git a/cc/private/BUILD b/cc/private/BUILD
index 406210f..1373130 100644
--- a/cc/private/BUILD
+++ b/cc/private/BUILD
@@ -15,6 +15,20 @@
 load("@bazel_skylib//:bzl_library.bzl", "bzl_library")
 
 filegroup(
+    name = "bzl_srcs",
+    srcs = glob([
+        "**/*.bzl",
+    ]) + [
+        "//cc/private/compile:bzl_srcs",
+        "//cc/private/link:bzl_srcs",
+        "//cc/private/rules_impl:bzl_srcs",
+        "//cc/private/toolchain:bzl_srcs",
+        "//cc/private/toolchain_config:bzl_srcs",
+    ],
+    visibility = ["//visibility:public"],
+)
+
+filegroup(
     name = "srcs",
     srcs = glob([
         "**/BUILD",
@@ -36,6 +50,32 @@
 )
 
 bzl_library(
+    name = "cc_common",
+    srcs = ["cc_common.bzl"],
+    visibility = [
+        "//cc:__subpackages__",
+        "@cc_compatibility_proxy//:__pkg__",
+    ],
+    deps = [
+        ":cc_info_bzl",
+        ":cc_internal_bzl",
+        ":cc_launcher_info_bzl",
+        ":cc_shared_library_hint_info_bzl",
+        ":debug_package_info_bzl",
+        "//cc/private/compile:compile_bzl",
+        "//cc/private/link:link_bzl",
+        "//cc/private/rules_impl:native_bzl",
+        "//cc/private/toolchain_config:toolchain_config_bzl",
+    ],
+)
+
+bzl_library(
+    name = "cc_info_bzl",
+    srcs = ["cc_info.bzl"],
+    visibility = ["//cc:__subpackages__"],
+)
+
+bzl_library(
     name = "debug_package_info_bzl",
     srcs = ["debug_package_info.bzl"],
     visibility = ["//cc:__subpackages__"],
diff --git a/cc/private/compile/BUILD b/cc/private/compile/BUILD
index 541c8b0..d9dbaab 100644
--- a/cc/private/compile/BUILD
+++ b/cc/private/compile/BUILD
@@ -28,6 +28,14 @@
 )
 
 filegroup(
+    name = "bzl_srcs",
+    srcs = glob([
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
+
+filegroup(
     name = "srcs",
     srcs = glob([
         "**/*.bzl",
diff --git a/cc/private/link/BUILD b/cc/private/link/BUILD
index f3c56e1..1ad72b4 100644
--- a/cc/private/link/BUILD
+++ b/cc/private/link/BUILD
@@ -29,6 +29,14 @@
 )
 
 filegroup(
+    name = "bzl_srcs",
+    srcs = glob([
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
+
+filegroup(
     name = "srcs",
     srcs = glob([
         "**/*.bzl",
diff --git a/cc/private/rules_impl/cc_toolchain_info.bzl b/cc/private/rules_impl/cc_toolchain_info.bzl
index d2a0e21..639d296 100644
--- a/cc/private/rules_impl/cc_toolchain_info.bzl
+++ b/cc/private/rules_impl/cc_toolchain_info.bzl
@@ -15,7 +15,7 @@
 Definition of CcToolchainInfo provider.
 """
 
-visibility(["//third_party/bazel_rules/rules_cc/..."])
+visibility(["//cc/..."])
 
 def _needs_pic_for_dynamic_libraries(*, feature_configuration):
     return feature_configuration.is_enabled("supports_pic")
diff --git a/cc/private/toolchain/armeabi_cc_toolchain_config.bzl b/cc/private/toolchain/armeabi_cc_toolchain_config.bzl
index 7e8c9e1..b35e43f 100644
--- a/cc/private/toolchain/armeabi_cc_toolchain_config.bzl
+++ b/cc/private/toolchain/armeabi_cc_toolchain_config.bzl
@@ -19,6 +19,7 @@
     "tool_path",
 )
 load("@rules_cc//cc/common:cc_common.bzl", "cc_common")
+load("@rules_cc//cc/toolchains:cc_toolchain_config_info.bzl", "CcToolchainConfigInfo")
 
 def _impl(ctx):
     toolchain_identifier = "stub_armeabi-v7a"
diff --git a/cc/private/toolchain/bsd_cc_toolchain_config.bzl b/cc/private/toolchain/bsd_cc_toolchain_config.bzl
index 6817f6e..83b9313 100644
--- a/cc/private/toolchain/bsd_cc_toolchain_config.bzl
+++ b/cc/private/toolchain/bsd_cc_toolchain_config.bzl
@@ -25,6 +25,7 @@
     "with_feature_set",
 )  # buildifier: disable=deprecated-function
 load("@rules_cc//cc/common:cc_common.bzl", "cc_common")
+load("@rules_cc//cc/toolchains:cc_toolchain_config_info.bzl", "CcToolchainConfigInfo")
 
 all_compile_actions = [
     ACTION_NAMES.c_compile,
diff --git a/cc/private/toolchain/empty_cc_toolchain_config.bzl b/cc/private/toolchain/empty_cc_toolchain_config.bzl
index b7ea81f..5b2e49c 100644
--- a/cc/private/toolchain/empty_cc_toolchain_config.bzl
+++ b/cc/private/toolchain/empty_cc_toolchain_config.bzl
@@ -14,6 +14,7 @@
 """A fake C++ toolchain configuration rule"""
 
 load("@rules_cc//cc/common:cc_common.bzl", "cc_common")
+load("@rules_cc//cc/toolchains:cc_toolchain_config_info.bzl", "CcToolchainConfigInfo")
 
 def _impl(ctx):
     out = ctx.actions.declare_file(ctx.label.name)
diff --git a/cc/private/toolchain/unix_cc_toolchain_config.bzl b/cc/private/toolchain/unix_cc_toolchain_config.bzl
index 65b2a9e..5fa927d 100644
--- a/cc/private/toolchain/unix_cc_toolchain_config.bzl
+++ b/cc/private/toolchain/unix_cc_toolchain_config.bzl
@@ -30,6 +30,7 @@
     "with_feature_set",
 )
 load("@rules_cc//cc/common:cc_common.bzl", "cc_common")
+load("@rules_cc//cc/toolchains:cc_toolchain_config_info.bzl", "CcToolchainConfigInfo")
 
 def _target_os_version(ctx):
     platform_type = ctx.fragments.apple.single_arch_platform.platform_type
diff --git a/cc/private/toolchain/windows_cc_toolchain_config.bzl b/cc/private/toolchain/windows_cc_toolchain_config.bzl
index 5d0d40f..b9306bf 100644
--- a/cc/private/toolchain/windows_cc_toolchain_config.bzl
+++ b/cc/private/toolchain/windows_cc_toolchain_config.bzl
@@ -30,6 +30,7 @@
     "with_feature_set",
 )
 load("@rules_cc//cc/common:cc_common.bzl", "cc_common")
+load("@rules_cc//cc/toolchains:cc_toolchain_config_info.bzl", "CcToolchainConfigInfo")
 
 all_compile_actions = [
     ACTION_NAMES.c_compile,
diff --git a/cc/private/toolchain_config/BUILD b/cc/private/toolchain_config/BUILD
index 54eb0e3..e50e400 100644
--- a/cc/private/toolchain_config/BUILD
+++ b/cc/private/toolchain_config/BUILD
@@ -28,6 +28,14 @@
 )
 
 filegroup(
+    name = "bzl_srcs",
+    srcs = glob([
+        "**/*.bzl",
+    ]),
+    visibility = ["//visibility:public"],
+)
+
+filegroup(
     name = "srcs",
     srcs = glob([
         "**/*.bzl",