Extract special BUILD file for //tools/cpp when present in the @bazel_tools
Progress towards https://github.com/bazelbuild/bazel/issues/10134.
RELNOTES: None.
PiperOrigin-RevId: 280654359
diff --git a/scripts/bootstrap/compile.sh b/scripts/bootstrap/compile.sh
index 6e6be1c..f95a6e2 100755
--- a/scripts/bootstrap/compile.sh
+++ b/scripts/bootstrap/compile.sh
@@ -289,6 +289,7 @@
# Create the rest of @bazel_tools//tools/...
link_children "${PWD}" tools/cpp "${BAZEL_TOOLS_REPO}"
+ mv -f ${BAZEL_TOOLS_REPO}/tools/cpp/BUILD.tools ${BAZEL_TOOLS_REPO}/tools/cpp/BUILD
link_children "${PWD}" tools/python "${BAZEL_TOOLS_REPO}"
link_children "${PWD}" tools "${BAZEL_TOOLS_REPO}"
diff --git a/src/create_embedded_tools.py b/src/create_embedded_tools.py
index 78e6685..ccd19db 100644
--- a/src/create_embedded_tools.py
+++ b/src/create_embedded_tools.py
@@ -33,6 +33,7 @@
lambda x: 'tools/build_defs/repo/BUILD'),
('*tools/platforms/BUILD.tools', lambda x: 'platforms/BUILD'),
('*tools/platforms/*', lambda x: 'platforms/' + os.path.basename(x)),
+ ('*tools/cpp/BUILD.tools', lambda x: 'tools/cpp/BUILD'),
('*tools/cpp/runfiles/generated_*',
lambda x: 'tools/cpp/runfiles/' + os.path.basename(x)[len('generated_'):]),
('*jarjar_command_deploy.jar',
diff --git a/tools/cpp/BUILD b/tools/cpp/BUILD
index c936d27..cfed861 100644
--- a/tools/cpp/BUILD
+++ b/tools/cpp/BUILD
@@ -16,414 +16,6 @@
licenses(["notice"]) # Apache 2.0
-load(":cc_toolchain_config.bzl", "cc_toolchain_config")
-load("@rules_cc//cc:defs.bzl", "cc_library", "cc_toolchain", "cc_toolchain_suite")
-
-# The toolchain type used to distinguish cc toolchains.
-toolchain_type(name = "toolchain_type")
-
-# It is frequently necessary to constrain platforms based on the cc compiler type.
-constraint_setting(name = "cc_compiler")
-
-constraint_value(
- name = "clang",
- constraint_setting = ":cc_compiler",
-)
-
-constraint_value(
- name = "gcc",
- constraint_setting = ":cc_compiler",
-)
-
-constraint_value(
- name = "msvc",
- constraint_setting = ":cc_compiler",
-)
-
-constraint_value(
- name = "clang-cl",
- constraint_setting = ":cc_compiler",
-)
-
-constraint_value(
- name = "mingw",
- constraint_setting = ":cc_compiler",
-)
-
-constraint_value(
- name = "msys",
- constraint_setting = ":cc_compiler",
-)
-
-cc_toolchain_alias(name = "current_cc_toolchain")
-
-cc_host_toolchain_alias(name = "current_cc_host_toolchain")
-
-cc_libc_top_alias(name = "current_libc_top")
-
-cc_library(
- name = "malloc",
-)
-
-filegroup(
- name = "grep-includes",
- srcs = ["grep-includes.sh"],
-)
-
-filegroup(
- name = "empty",
- srcs = [],
-)
-
-config_setting(
- name = "disable_static_cc_toolchains",
- values = {
- "incompatible_disable_static_cc_toolchains": "true",
- },
-)
-
-# This is the entry point for --crosstool_top. Toolchains are found
-# by lopping off the name of --crosstool_top and searching for
-# "cc-compiler-${CPU}" in this BUILD file, where CPU is the target CPU
-# specified in --cpu.
-#
-# This file group should include
-# * all cc_toolchain targets supported
-# * all file groups that said cc_toolchain might refer to
-alias(
- name = "toolchain",
- actual = "//external:cc_toolchain",
-)
-
-# Hardcoded toolchain, legacy behaviour.
-cc_toolchain_suite(
- name = "default-toolchain",
- toolchains = {
- "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a",
- "darwin|compiler": ":cc-compiler-darwin",
- "freebsd|compiler": ":cc-compiler-freebsd",
- "local|compiler": ":cc-compiler-local",
- "x64_windows|compiler": ":cc-compiler-x64_windows",
- "x64_windows_msvc|compiler": ":cc-compiler-x64_windows_msvc",
- "s390x|compiler": ":cc-compiler-s390x",
- "ppc|compiler": ":cc-compiler-ppc",
- "k8": ":cc-compiler-local",
- "piii": ":cc-compiler-local",
- "arm": ":cc-compiler-local",
- "aarch64": ":cc-compiler-local",
- "s390x": ":cc-compiler-local",
- "ppc": ":cc-compiler-local",
- "ppc64": ":cc-compiler-local",
- "darwin": ":cc-compiler-darwin",
- "freebsd": ":cc-compiler-freebsd",
- "armeabi-v7a": ":cc-compiler-armeabi-v7a",
- "x64_windows": ":cc-compiler-x64_windows",
- "x64_windows_msvc": ":cc-compiler-x64_windows_msvc",
- },
-)
-
-cc_toolchain(
- name = "cc-compiler-local",
- all_files = ":empty",
- ar_files = ":empty",
- as_files = ":empty",
- compiler_files = ":empty",
- dwp_files = ":empty",
- linker_files = ":empty",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 1,
- toolchain_config = ":local_linux",
- toolchain_identifier = "local_linux",
-)
-
-cc_toolchain_config(
- name = "local_linux",
- compiler = "compiler",
- cpu = "local",
- disable_static_cc_toolchains = select({
- ":disable_static_cc_toolchains": True,
- "//conditions:default": False,
- }),
-)
-
-toolchain(
- name = "cc-toolchain-local",
- exec_compatible_with = [
- ],
- target_compatible_with = [
- ],
- toolchain = ":cc-compiler-local",
- toolchain_type = ":toolchain_type",
-)
-
-cc_toolchain(
- name = "cc-compiler-ppc",
- all_files = ":empty",
- ar_files = ":empty",
- as_files = ":empty",
- compiler_files = ":empty",
- dwp_files = ":empty",
- linker_files = ":empty",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 1,
- toolchain_config = ":local_linux",
- toolchain_identifier = "local_linux",
-)
-
-toolchain(
- name = "cc-toolchain-ppc",
- exec_compatible_with = [
- "@platforms//cpu:ppc",
- ],
- target_compatible_with = [
- "@platforms//cpu:ppc",
- ],
- toolchain = ":cc-compiler-ppc",
- toolchain_type = ":toolchain_type",
-)
-
-cc_toolchain(
- name = "cc-compiler-s390x",
- all_files = ":empty",
- ar_files = ":empty",
- as_files = ":empty",
- compiler_files = ":empty",
- dwp_files = ":empty",
- linker_files = ":empty",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 1,
- toolchain_config = ":local_linux",
- toolchain_identifier = "local_linux",
-)
-
-toolchain(
- name = "cc-toolchain-s390x",
- exec_compatible_with = [
- "@platforms//cpu:s390x",
- ],
- target_compatible_with = [
- "@platforms//cpu:s390x",
- ],
- toolchain = ":cc-compiler-s390x",
- toolchain_type = ":toolchain_type",
-)
-
-cc_toolchain(
- name = "cc-compiler-armeabi-v7a",
- all_files = ":empty",
- ar_files = ":empty",
- as_files = ":empty",
- compiler_files = ":empty",
- dwp_files = ":empty",
- linker_files = ":empty",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 1,
- toolchain_config = ":local_linux",
- toolchain_identifier = "local_linux",
-)
-
-toolchain(
- name = "cc-toolchain-armeabi-v7a",
- exec_compatible_with = [
- ],
- target_compatible_with = [
- "@platforms//cpu:arm",
- "@platforms//os:android",
- ],
- toolchain = ":cc-compiler-armeabi-v7a",
- toolchain_type = ":toolchain_type",
-)
-
-cc_toolchain(
- name = "cc-compiler-k8",
- all_files = ":empty",
- ar_files = ":empty",
- as_files = ":empty",
- compiler_files = ":empty",
- dwp_files = ":empty",
- linker_files = ":empty",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 1,
- toolchain_config = ":local_linux",
- toolchain_identifier = "local_linux",
-)
-
-toolchain(
- name = "cc-toolchain-k8",
- exec_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:linux",
- ],
- target_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:linux",
- ],
- toolchain = ":cc-compiler-k8",
- toolchain_type = ":toolchain_type",
-)
-
-cc_toolchain(
- name = "cc-compiler-darwin",
- all_files = ":osx_wrapper",
- ar_files = ":empty",
- as_files = ":osx_wrapper",
- compiler_files = ":osx_wrapper",
- dwp_files = ":empty",
- linker_files = ":osx_wrapper",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 0,
- toolchain_config = ":local_darwin",
- toolchain_identifier = "local_darwin",
-)
-
-cc_toolchain_config(
- name = "local_darwin",
- compiler = "compiler",
- cpu = "darwin",
- disable_static_cc_toolchains = select({
- ":disable_static_cc_toolchains": True,
- "//conditions:default": False,
- }),
-)
-
-toolchain(
- name = "cc-toolchain-darwin",
- exec_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:osx",
- ],
- target_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:osx",
- ],
- toolchain = ":cc-compiler-darwin",
- toolchain_type = ":toolchain_type",
-)
-
-cc_toolchain(
- name = "cc-compiler-freebsd",
- all_files = ":empty",
- ar_files = ":empty",
- as_files = ":empty",
- compiler_files = ":empty",
- dwp_files = ":empty",
- linker_files = ":empty",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 0,
- toolchain_config = ":local_freebsd",
- toolchain_identifier = "local_freebsd",
-)
-
-cc_toolchain_config(
- name = "local_freebsd",
- compiler = "compiler",
- cpu = "freebsd",
- disable_static_cc_toolchains = select({
- ":disable_static_cc_toolchains": True,
- "//conditions:default": False,
- }),
-)
-
-toolchain(
- name = "cc-toolchain-freebsd",
- exec_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:freebsd",
- ],
- target_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:freebsd",
- ],
- toolchain = ":cc-compiler-freebsd",
- toolchain_type = ":toolchain_type",
-)
-
-cc_toolchain(
- name = "cc-compiler-x64_windows",
- all_files = ":empty",
- ar_files = ":empty",
- as_files = ":empty",
- compiler_files = ":empty",
- dwp_files = ":empty",
- linker_files = ":empty",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 0,
- toolchain_config = ":local_windows_msys64",
- toolchain_identifier = "local_windows_msys64",
-)
-
-cc_toolchain_config(
- name = "local_windows_msys64",
- compiler = "windows_msys64",
- cpu = "x64_windows",
- disable_static_cc_toolchains = select({
- ":disable_static_cc_toolchains": True,
- "//conditions:default": False,
- }),
-)
-
-toolchain(
- name = "cc-toolchain-x64_windows",
- exec_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:windows",
- ],
- target_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:windows",
- ],
- toolchain = ":cc-compiler-x64_windows",
- toolchain_type = ":toolchain_type",
-)
-
-cc_toolchain(
- name = "cc-compiler-x64_windows_msvc",
- all_files = ":empty",
- ar_files = ":empty",
- as_files = ":empty",
- compiler_files = ":empty",
- dwp_files = ":empty",
- linker_files = ":empty",
- objcopy_files = ":empty",
- strip_files = ":empty",
- supports_param_files = 1,
- toolchain_config = ":vc_14_0_x64",
- toolchain_identifier = "vc_14_0_x64",
-)
-
-cc_toolchain_config(
- name = "vc_14_0_x64",
- compiler = "cl",
- cpu = "x64_windows_msvc",
- disable_static_cc_toolchains = select({
- ":disable_static_cc_toolchains": True,
- "//conditions:default": False,
- }),
-)
-
-toolchain(
- name = "cc-toolchain-x64_windows_msvc",
- exec_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:windows",
- ":msvc",
- ],
- target_compatible_with = [
- "@platforms//cpu:x86_64",
- "@platforms//os:windows",
- ],
- toolchain = ":cc-compiler-x64_windows_msvc",
- toolchain_type = ":toolchain_type",
-)
-
filegroup(
name = "srcs",
srcs = glob(["**"]) + [
@@ -439,37 +31,7 @@
)
filegroup(
- name = "interface_library_builder",
- srcs = ["build_interface_so"],
-)
-
-filegroup(
- name = "osx_wrapper",
- srcs = ["osx_cc_wrapper.sh"],
-)
-
-filegroup(
- name = "link_dynamic_library",
- srcs = ["link_dynamic_library.sh"],
-)
-
-filegroup(
- name = "lib_cc_configure",
- srcs = ["lib_cc_configure.bzl"],
-)
-
-filegroup(
name = "bzl_srcs",
srcs = glob(["*.bzl"]),
visibility = ["//tools:__pkg__"],
)
-
-load(":compiler_flag.bzl", "compiler_flag")
-
-compiler_flag(name = "compiler")
-
-# Target that can provide the CC_FLAGS variable based on the current
-# cc_toolchain.
-load("@bazel_tools//tools/cpp:cc_flags_supplier.bzl", "cc_flags_supplier")
-
-cc_flags_supplier(name = "cc_flags")
diff --git a/tools/cpp/BUILD.tools b/tools/cpp/BUILD.tools
new file mode 100644
index 0000000..c936d27
--- /dev/null
+++ b/tools/cpp/BUILD.tools
@@ -0,0 +1,475 @@
+# 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.
+
+package(default_visibility = ["//visibility:public"])
+
+licenses(["notice"]) # Apache 2.0
+
+load(":cc_toolchain_config.bzl", "cc_toolchain_config")
+load("@rules_cc//cc:defs.bzl", "cc_library", "cc_toolchain", "cc_toolchain_suite")
+
+# The toolchain type used to distinguish cc toolchains.
+toolchain_type(name = "toolchain_type")
+
+# It is frequently necessary to constrain platforms based on the cc compiler type.
+constraint_setting(name = "cc_compiler")
+
+constraint_value(
+ name = "clang",
+ constraint_setting = ":cc_compiler",
+)
+
+constraint_value(
+ name = "gcc",
+ constraint_setting = ":cc_compiler",
+)
+
+constraint_value(
+ name = "msvc",
+ constraint_setting = ":cc_compiler",
+)
+
+constraint_value(
+ name = "clang-cl",
+ constraint_setting = ":cc_compiler",
+)
+
+constraint_value(
+ name = "mingw",
+ constraint_setting = ":cc_compiler",
+)
+
+constraint_value(
+ name = "msys",
+ constraint_setting = ":cc_compiler",
+)
+
+cc_toolchain_alias(name = "current_cc_toolchain")
+
+cc_host_toolchain_alias(name = "current_cc_host_toolchain")
+
+cc_libc_top_alias(name = "current_libc_top")
+
+cc_library(
+ name = "malloc",
+)
+
+filegroup(
+ name = "grep-includes",
+ srcs = ["grep-includes.sh"],
+)
+
+filegroup(
+ name = "empty",
+ srcs = [],
+)
+
+config_setting(
+ name = "disable_static_cc_toolchains",
+ values = {
+ "incompatible_disable_static_cc_toolchains": "true",
+ },
+)
+
+# This is the entry point for --crosstool_top. Toolchains are found
+# by lopping off the name of --crosstool_top and searching for
+# "cc-compiler-${CPU}" in this BUILD file, where CPU is the target CPU
+# specified in --cpu.
+#
+# This file group should include
+# * all cc_toolchain targets supported
+# * all file groups that said cc_toolchain might refer to
+alias(
+ name = "toolchain",
+ actual = "//external:cc_toolchain",
+)
+
+# Hardcoded toolchain, legacy behaviour.
+cc_toolchain_suite(
+ name = "default-toolchain",
+ toolchains = {
+ "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a",
+ "darwin|compiler": ":cc-compiler-darwin",
+ "freebsd|compiler": ":cc-compiler-freebsd",
+ "local|compiler": ":cc-compiler-local",
+ "x64_windows|compiler": ":cc-compiler-x64_windows",
+ "x64_windows_msvc|compiler": ":cc-compiler-x64_windows_msvc",
+ "s390x|compiler": ":cc-compiler-s390x",
+ "ppc|compiler": ":cc-compiler-ppc",
+ "k8": ":cc-compiler-local",
+ "piii": ":cc-compiler-local",
+ "arm": ":cc-compiler-local",
+ "aarch64": ":cc-compiler-local",
+ "s390x": ":cc-compiler-local",
+ "ppc": ":cc-compiler-local",
+ "ppc64": ":cc-compiler-local",
+ "darwin": ":cc-compiler-darwin",
+ "freebsd": ":cc-compiler-freebsd",
+ "armeabi-v7a": ":cc-compiler-armeabi-v7a",
+ "x64_windows": ":cc-compiler-x64_windows",
+ "x64_windows_msvc": ":cc-compiler-x64_windows_msvc",
+ },
+)
+
+cc_toolchain(
+ name = "cc-compiler-local",
+ all_files = ":empty",
+ ar_files = ":empty",
+ as_files = ":empty",
+ compiler_files = ":empty",
+ dwp_files = ":empty",
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 1,
+ toolchain_config = ":local_linux",
+ toolchain_identifier = "local_linux",
+)
+
+cc_toolchain_config(
+ name = "local_linux",
+ compiler = "compiler",
+ cpu = "local",
+ disable_static_cc_toolchains = select({
+ ":disable_static_cc_toolchains": True,
+ "//conditions:default": False,
+ }),
+)
+
+toolchain(
+ name = "cc-toolchain-local",
+ exec_compatible_with = [
+ ],
+ target_compatible_with = [
+ ],
+ toolchain = ":cc-compiler-local",
+ toolchain_type = ":toolchain_type",
+)
+
+cc_toolchain(
+ name = "cc-compiler-ppc",
+ all_files = ":empty",
+ ar_files = ":empty",
+ as_files = ":empty",
+ compiler_files = ":empty",
+ dwp_files = ":empty",
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 1,
+ toolchain_config = ":local_linux",
+ toolchain_identifier = "local_linux",
+)
+
+toolchain(
+ name = "cc-toolchain-ppc",
+ exec_compatible_with = [
+ "@platforms//cpu:ppc",
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:ppc",
+ ],
+ toolchain = ":cc-compiler-ppc",
+ toolchain_type = ":toolchain_type",
+)
+
+cc_toolchain(
+ name = "cc-compiler-s390x",
+ all_files = ":empty",
+ ar_files = ":empty",
+ as_files = ":empty",
+ compiler_files = ":empty",
+ dwp_files = ":empty",
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 1,
+ toolchain_config = ":local_linux",
+ toolchain_identifier = "local_linux",
+)
+
+toolchain(
+ name = "cc-toolchain-s390x",
+ exec_compatible_with = [
+ "@platforms//cpu:s390x",
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:s390x",
+ ],
+ toolchain = ":cc-compiler-s390x",
+ toolchain_type = ":toolchain_type",
+)
+
+cc_toolchain(
+ name = "cc-compiler-armeabi-v7a",
+ all_files = ":empty",
+ ar_files = ":empty",
+ as_files = ":empty",
+ compiler_files = ":empty",
+ dwp_files = ":empty",
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 1,
+ toolchain_config = ":local_linux",
+ toolchain_identifier = "local_linux",
+)
+
+toolchain(
+ name = "cc-toolchain-armeabi-v7a",
+ exec_compatible_with = [
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:arm",
+ "@platforms//os:android",
+ ],
+ toolchain = ":cc-compiler-armeabi-v7a",
+ toolchain_type = ":toolchain_type",
+)
+
+cc_toolchain(
+ name = "cc-compiler-k8",
+ all_files = ":empty",
+ ar_files = ":empty",
+ as_files = ":empty",
+ compiler_files = ":empty",
+ dwp_files = ":empty",
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 1,
+ toolchain_config = ":local_linux",
+ toolchain_identifier = "local_linux",
+)
+
+toolchain(
+ name = "cc-toolchain-k8",
+ exec_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:linux",
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:linux",
+ ],
+ toolchain = ":cc-compiler-k8",
+ toolchain_type = ":toolchain_type",
+)
+
+cc_toolchain(
+ name = "cc-compiler-darwin",
+ all_files = ":osx_wrapper",
+ ar_files = ":empty",
+ as_files = ":osx_wrapper",
+ compiler_files = ":osx_wrapper",
+ dwp_files = ":empty",
+ linker_files = ":osx_wrapper",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 0,
+ toolchain_config = ":local_darwin",
+ toolchain_identifier = "local_darwin",
+)
+
+cc_toolchain_config(
+ name = "local_darwin",
+ compiler = "compiler",
+ cpu = "darwin",
+ disable_static_cc_toolchains = select({
+ ":disable_static_cc_toolchains": True,
+ "//conditions:default": False,
+ }),
+)
+
+toolchain(
+ name = "cc-toolchain-darwin",
+ exec_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:osx",
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:osx",
+ ],
+ toolchain = ":cc-compiler-darwin",
+ toolchain_type = ":toolchain_type",
+)
+
+cc_toolchain(
+ name = "cc-compiler-freebsd",
+ all_files = ":empty",
+ ar_files = ":empty",
+ as_files = ":empty",
+ compiler_files = ":empty",
+ dwp_files = ":empty",
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 0,
+ toolchain_config = ":local_freebsd",
+ toolchain_identifier = "local_freebsd",
+)
+
+cc_toolchain_config(
+ name = "local_freebsd",
+ compiler = "compiler",
+ cpu = "freebsd",
+ disable_static_cc_toolchains = select({
+ ":disable_static_cc_toolchains": True,
+ "//conditions:default": False,
+ }),
+)
+
+toolchain(
+ name = "cc-toolchain-freebsd",
+ exec_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:freebsd",
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:freebsd",
+ ],
+ toolchain = ":cc-compiler-freebsd",
+ toolchain_type = ":toolchain_type",
+)
+
+cc_toolchain(
+ name = "cc-compiler-x64_windows",
+ all_files = ":empty",
+ ar_files = ":empty",
+ as_files = ":empty",
+ compiler_files = ":empty",
+ dwp_files = ":empty",
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 0,
+ toolchain_config = ":local_windows_msys64",
+ toolchain_identifier = "local_windows_msys64",
+)
+
+cc_toolchain_config(
+ name = "local_windows_msys64",
+ compiler = "windows_msys64",
+ cpu = "x64_windows",
+ disable_static_cc_toolchains = select({
+ ":disable_static_cc_toolchains": True,
+ "//conditions:default": False,
+ }),
+)
+
+toolchain(
+ name = "cc-toolchain-x64_windows",
+ exec_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:windows",
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:windows",
+ ],
+ toolchain = ":cc-compiler-x64_windows",
+ toolchain_type = ":toolchain_type",
+)
+
+cc_toolchain(
+ name = "cc-compiler-x64_windows_msvc",
+ all_files = ":empty",
+ ar_files = ":empty",
+ as_files = ":empty",
+ compiler_files = ":empty",
+ dwp_files = ":empty",
+ linker_files = ":empty",
+ objcopy_files = ":empty",
+ strip_files = ":empty",
+ supports_param_files = 1,
+ toolchain_config = ":vc_14_0_x64",
+ toolchain_identifier = "vc_14_0_x64",
+)
+
+cc_toolchain_config(
+ name = "vc_14_0_x64",
+ compiler = "cl",
+ cpu = "x64_windows_msvc",
+ disable_static_cc_toolchains = select({
+ ":disable_static_cc_toolchains": True,
+ "//conditions:default": False,
+ }),
+)
+
+toolchain(
+ name = "cc-toolchain-x64_windows_msvc",
+ exec_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:windows",
+ ":msvc",
+ ],
+ target_compatible_with = [
+ "@platforms//cpu:x86_64",
+ "@platforms//os:windows",
+ ],
+ toolchain = ":cc-compiler-x64_windows_msvc",
+ toolchain_type = ":toolchain_type",
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["**"]) + [
+ "//tools/cpp/runfiles:srcs",
+ ],
+)
+
+filegroup(
+ name = "embedded_tools",
+ srcs = glob(["**"]) + [
+ "//tools/cpp/runfiles:embedded_tools",
+ ],
+)
+
+filegroup(
+ name = "interface_library_builder",
+ srcs = ["build_interface_so"],
+)
+
+filegroup(
+ name = "osx_wrapper",
+ srcs = ["osx_cc_wrapper.sh"],
+)
+
+filegroup(
+ name = "link_dynamic_library",
+ srcs = ["link_dynamic_library.sh"],
+)
+
+filegroup(
+ name = "lib_cc_configure",
+ srcs = ["lib_cc_configure.bzl"],
+)
+
+filegroup(
+ name = "bzl_srcs",
+ srcs = glob(["*.bzl"]),
+ visibility = ["//tools:__pkg__"],
+)
+
+load(":compiler_flag.bzl", "compiler_flag")
+
+compiler_flag(name = "compiler")
+
+# Target that can provide the CC_FLAGS variable based on the current
+# cc_toolchain.
+load("@bazel_tools//tools/cpp:cc_flags_supplier.bzl", "cc_flags_supplier")
+
+cc_flags_supplier(name = "cc_flags")