Prepare to move CcModule to builtins.

PiperOrigin-RevId: 513236171
Change-Id: I9fca806aef9c88ab1dbb874c1b1c88f0e661a382
diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_binary.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_binary.bzl
index fa7f317..adc20e0 100644
--- a/src/main/starlark/builtins_bzl/common/cc/cc_binary.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/cc_binary.bzl
@@ -18,9 +18,9 @@
 load(":common/cc/experimental_cc_shared_library.bzl", "GraphNodeInfo", "build_exports_map_from_only_dynamic_deps", "build_link_once_static_libs_map", "merge_cc_shared_library_infos", "throw_linked_but_not_exported_errors")
 load(":common/cc/cc_helper.bzl", "cc_helper", "linker_mode")
 load(":common/cc/cc_info.bzl", "CcInfo")
+load(":common/cc/cc_common.bzl", "cc_common")
 
 DebugPackageInfo = _builtins.toplevel.DebugPackageInfo
-cc_common = _builtins.toplevel.cc_common
 cc_internal = _builtins.internal.cc_internal
 StaticallyLinkedMarkerInfo = _builtins.internal.StaticallyLinkedMarkerProvider
 
diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_common.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_common.bzl
new file mode 100644
index 0000000..f5ca15e
--- /dev/null
+++ b/src/main/starlark/builtins_bzl/common/cc/cc_common.bzl
@@ -0,0 +1,17 @@
+# Copyright 2023 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.
+
+"""Utilites related to C++ support."""
+
+cc_common = _builtins.toplevel.cc_common
diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl
index b3e017f..fd56982 100644
--- a/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/cc_helper.bzl
@@ -17,8 +17,8 @@
 load(":common/objc/semantics.bzl", objc_semantics = "semantics")
 load(":common/paths.bzl", "paths")
 load(":common/cc/cc_info.bzl", "CcInfo")
+load(":common/cc/cc_common.bzl", "cc_common")
 
-cc_common = _builtins.toplevel.cc_common
 cc_internal = _builtins.internal.cc_internal
 CcNativeLibraryInfo = _builtins.internal.CcNativeLibraryInfo
 config_common = _builtins.toplevel.config_common
diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_import.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_import.bzl
index fe08367..b4f488f 100644
--- a/src/main/starlark/builtins_bzl/common/cc/cc_import.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/cc_import.bzl
@@ -21,8 +21,7 @@
 load(":common/cc/cc_helper.bzl", "cc_helper")
 load(":common/objc/semantics.bzl", "semantics")
 load(":common/cc/cc_info.bzl", "CcInfo")
-
-cc_common = _builtins.toplevel.cc_common
+load(":common/cc/cc_common.bzl", "cc_common")
 
 CPP_LINK_STATIC_LIBRARY_ACTION_NAME = "c++-link-static-library"
 
diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl
index 3be9b1f..92706aa 100755
--- a/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/cc_library.bzl
@@ -17,8 +17,8 @@
 load(":common/cc/cc_helper.bzl", "cc_helper")
 load(":common/cc/semantics.bzl", "semantics")
 load(":common/cc/cc_info.bzl", "CcInfo")
+load(":common/cc/cc_common.bzl", "cc_common")
 
-cc_common = _builtins.toplevel.cc_common
 cc_internal = _builtins.internal.cc_internal
 
 def _cc_library_impl(ctx):
diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_proto_library.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_proto_library.bzl
index c9f0d24..eb4dc6b 100644
--- a/src/main/starlark/builtins_bzl/common/cc/cc_proto_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/cc_proto_library.bzl
@@ -18,8 +18,7 @@
 load(":common/cc/cc_helper.bzl", "cc_helper")
 load(":common/proto/proto_common.bzl", "ProtoLangToolchainInfo", proto_common = "proto_common_do_not_use")
 load(":common/cc/cc_info.bzl", "CcInfo")
-
-cc_common = _builtins.toplevel.cc_common
+load(":common/cc/cc_common.bzl", "cc_common")
 
 ProtoCcFilesInfo = provider(fields = ["files"], doc = "Provide cc proto files.")
 ProtoCcHeaderInfo = provider(fields = ["headers"], doc = "Provide cc proto headers.")
diff --git a/src/main/starlark/builtins_bzl/common/cc/cc_toolchain_alias.bzl b/src/main/starlark/builtins_bzl/common/cc/cc_toolchain_alias.bzl
index 34c7c94..6dff82c 100644
--- a/src/main/starlark/builtins_bzl/common/cc/cc_toolchain_alias.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/cc_toolchain_alias.bzl
@@ -16,8 +16,9 @@
 
 load(":common/cc/semantics.bzl", "semantics")
 load(":common/cc/cc_helper.bzl", "cc_helper")
+load(":common/cc/cc_common.bzl", "cc_common")
 
-CcToolchainInfo = _builtins.toplevel.cc_common.CcToolchainInfo
+CcToolchainInfo = cc_common.CcToolchainInfo
 TemplateVariableInfo = _builtins.toplevel.platform_common.TemplateVariableInfo
 ToolchainInfo = _builtins.toplevel.platform_common.ToolchainInfo
 
diff --git a/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl b/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl
index bd4b0e8..28018e5 100644
--- a/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/cc/experimental_cc_shared_library.bzl
@@ -23,8 +23,7 @@
 load(":common/cc/semantics.bzl", "semantics")
 load(":common/proto/proto_info.bzl", "ProtoInfo")
 load(":common/cc/cc_info.bzl", "CcInfo")
-
-cc_common = _builtins.toplevel.cc_common
+load(":common/cc/cc_common.bzl", "cc_common")
 
 # TODO(#5200): Add export_define to library_to_link and cc_library
 
diff --git a/src/main/starlark/builtins_bzl/common/exports.bzl b/src/main/starlark/builtins_bzl/common/exports.bzl
index 47ef005..16336d8 100755
--- a/src/main/starlark/builtins_bzl/common/exports.bzl
+++ b/src/main/starlark/builtins_bzl/common/exports.bzl
@@ -32,6 +32,7 @@
 load("@_builtins//:common/java/proto/java_lite_proto_library.bzl", "java_lite_proto_library")
 load("@_builtins//:common/cc/cc_library.bzl", "cc_library")
 load("@_builtins//:common/cc/cc_toolchain_alias.bzl", "cc_toolchain_alias")
+load("@_builtins//:common/cc/cc_common.bzl", "cc_common")
 
 exported_toplevels = {
     # This dummy symbol is not part of the public API; it is only used to test
@@ -45,6 +46,7 @@
     "PyCcLinkParamsProvider": PyCcLinkParamsProvider,
     "py_internal": py_internal,
     "ProtoInfo": ProtoInfo,
+    "cc_common": cc_common,
 }
 
 # A list of Starlarkified native rules.
diff --git a/src/main/starlark/builtins_bzl/common/java/java_helper.bzl b/src/main/starlark/builtins_bzl/common/java/java_helper.bzl
index 99f4230..102440b 100644
--- a/src/main/starlark/builtins_bzl/common/java/java_helper.bzl
+++ b/src/main/starlark/builtins_bzl/common/java/java_helper.bzl
@@ -17,8 +17,7 @@
 load(":common/java/java_semantics.bzl", "semantics")
 load(":common/cc/cc_helper.bzl", "cc_helper")
 load(":common/paths.bzl", "paths")
-
-cc_common = _builtins.toplevel.cc_common
+load(":common/cc/cc_common.bzl", "cc_common")
 
 def _collect_all_targets_as_runtime_deps(ctx):
     return _collect_all_targets_as_deps(ctx)
diff --git a/src/main/starlark/builtins_bzl/common/objc/compilation_support.bzl b/src/main/starlark/builtins_bzl/common/objc/compilation_support.bzl
index 5964627..724c300 100644
--- a/src/main/starlark/builtins_bzl/common/objc/compilation_support.bzl
+++ b/src/main/starlark/builtins_bzl/common/objc/compilation_support.bzl
@@ -16,9 +16,9 @@
 
 load("@_builtins//:common/cc/cc_helper.bzl", "cc_helper")
 load("@_builtins//:common/objc/objc_common.bzl", "objc_common")
+load(":common/cc/cc_common.bzl", "cc_common")
 
 objc_internal = _builtins.internal.objc_internal
-cc_common = _builtins.toplevel.cc_common
 
 def _build_variable_extensions(ctx, arc_enabled):
     extensions = {}
diff --git a/src/main/starlark/builtins_bzl/common/objc/linking_support.bzl b/src/main/starlark/builtins_bzl/common/objc/linking_support.bzl
index d548d37..bc6e6f6 100644
--- a/src/main/starlark/builtins_bzl/common/objc/linking_support.bzl
+++ b/src/main/starlark/builtins_bzl/common/objc/linking_support.bzl
@@ -16,8 +16,8 @@
 
 load("@_builtins//:common/objc/compilation_support.bzl", "compilation_support")
 load(":common/cc/cc_info.bzl", "CcInfo")
+load(":common/cc/cc_common.bzl", "cc_common")
 
-cc_common = _builtins.toplevel.cc_common
 apple_common = _builtins.toplevel.apple_common
 objc_internal = _builtins.internal.objc_internal
 
diff --git a/src/main/starlark/builtins_bzl/common/objc/objc_import.bzl b/src/main/starlark/builtins_bzl/common/objc/objc_import.bzl
index 1040e5d..d7b1936 100644
--- a/src/main/starlark/builtins_bzl/common/objc/objc_import.bzl
+++ b/src/main/starlark/builtins_bzl/common/objc/objc_import.bzl
@@ -18,9 +18,9 @@
 load("@_builtins//:common/objc/compilation_support.bzl", "compilation_support")
 load("@_builtins//:common/cc/cc_helper.bzl", "cc_helper")
 load(":common/cc/cc_info.bzl", "CcInfo")
+load(":common/cc/cc_common.bzl", "cc_common")
 
 objc_internal = _builtins.internal.objc_internal
-cc_common = _builtins.toplevel.cc_common
 
 def _objc_import_impl(ctx):
     cc_toolchain = cc_helper.find_cpp_toolchain(ctx)
diff --git a/src/main/starlark/builtins_bzl/common/objc/objc_library.bzl b/src/main/starlark/builtins_bzl/common/objc/objc_library.bzl
index 404b667..b976470 100644
--- a/src/main/starlark/builtins_bzl/common/objc/objc_library.bzl
+++ b/src/main/starlark/builtins_bzl/common/objc/objc_library.bzl
@@ -22,7 +22,6 @@
 load(":common/cc/cc_info.bzl", "CcInfo")
 
 objc_internal = _builtins.internal.objc_internal
-cc_common = _builtins.toplevel.cc_common
 coverage_common = _builtins.toplevel.coverage_common
 apple_common = _builtins.toplevel.apple_common
 
diff --git a/src/main/starlark/builtins_bzl/common/python/common_bazel.bzl b/src/main/starlark/builtins_bzl/common/python/common_bazel.bzl
index 1b0abf2..d9456bc 100644
--- a/src/main/starlark/builtins_bzl/common/python/common_bazel.bzl
+++ b/src/main/starlark/builtins_bzl/common/python/common_bazel.bzl
@@ -17,9 +17,9 @@
 load(":common/python/providers.bzl", "PyCcLinkParamsProvider")
 load(":common/python/common.bzl", "is_bool")
 load(":common/cc/cc_info.bzl", _CcInfo = "CcInfo")
+load(":common/cc/cc_common.bzl", _cc_common = "cc_common")
 
 _py_builtins = _builtins.internal.py_builtins
-_cc_common = _builtins.toplevel.cc_common
 
 def collect_cc_info(ctx, extra_deps = []):
     """Collect C++ information from dependencies for Bazel.
diff --git a/src/main/starlark/builtins_bzl/common/python/py_executable.bzl b/src/main/starlark/builtins_bzl/common/python/py_executable.bzl
index e3093f3..bde9d0c 100644
--- a/src/main/starlark/builtins_bzl/common/python/py_executable.bzl
+++ b/src/main/starlark/builtins_bzl/common/python/py_executable.bzl
@@ -45,8 +45,8 @@
     "IS_BAZEL",
     "PY_RUNTIME_ATTR_NAME",
 )
+load(":common/cc/cc_common.bzl", _cc_common = "cc_common")
 
-_cc_common = _builtins.toplevel.cc_common
 _py_builtins = _builtins.internal.py_builtins
 
 # Non-Google-specific attributes for executables