Move the `cc_std` target to `crubit/support/cc_std` directory.
PiperOrigin-RevId: 511338669
diff --git a/support/cc_std/BUILD b/support/cc_std/BUILD
new file mode 100644
index 0000000..05611b3
--- /dev/null
+++ b/support/cc_std/BUILD
@@ -0,0 +1,110 @@
+# Part of the Crubit project, under the Apache License v2.0 with LLVM
+# Exceptions. See /LICENSE for license information.
+# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+
+load(
+ "//rs_bindings_from_cc/bazel_support:toolchain_headers.bzl",
+ "bindings_for_toolchain_headers",
+)
+
+package(default_applicable_licenses = ["//third_party/crubit:license"])
+
+filegroup(
+ name = "extra_rs_srcs_for_cc_std",
+ srcs = glob([
+ "*.rs",
+ ]),
+)
+
+LIBCXX_HEADERS = [
+ "algorithm",
+ "any",
+ "array",
+ "atomic",
+ "bitset",
+ "cassert",
+ "cctype",
+ "cerrno",
+ "cfenv",
+ "cfloat",
+ "charconv",
+ "chrono",
+ "cinttypes",
+ "climits",
+ "cmath",
+ "condition_variable",
+ "csetjmp",
+ "csignal",
+ "cstdarg",
+ "cstddef",
+ "cstdint",
+ "cstdio",
+ "cstdlib",
+ "cstring",
+ "ctime",
+ "cuchar",
+ "cwchar",
+ "cwctype",
+ "deque",
+ "exception",
+ "forward_list",
+ "functional",
+ "initializer_list",
+ "ios",
+ "limits",
+ "list",
+ "map",
+ "memory",
+ "mutex",
+ "new",
+ "numeric",
+ "optional",
+ "queue",
+ "ratio",
+ "set",
+ "scoped_allocator",
+ "stack",
+ "stdexcept",
+ "streambuf",
+ "string",
+ "string_view",
+ "system_error",
+ "tuple",
+ "type_traits",
+ "typeindex",
+ "typeinfo",
+ "unordered_map",
+ "unordered_set",
+ "utility",
+ "variant",
+ # "vector", # TODO(b/248542210): include vector when we can conditionally import methods.
+]
+
+LIBC_HEADERS = []
+
+config_setting(
+ name = "llvm_unstable",
+ values = {
+ "crosstool_top": "//nowhere/llvm:everything",
+ },
+)
+
+filegroup(
+ name = "toolchain_headers",
+ srcs = select({
+ ":llvm_unstable": ["//nowhere/llvm:cc-std-headers"],
+ "//conditions:default": ["//nowhere/llvm:cc-std-headers"],
+ }) + [
+ "//third_party/grte/v5_x86/release/usr/grte/v5:compile",
+ ],
+ visibility = ["//visibility:private"],
+)
+
+bindings_for_toolchain_headers(
+ name = "cc_std",
+ hdrs = ":toolchain_headers",
+ extra_rs_srcs = [":extra_rs_srcs_for_cc_std"],
+ public_libc_hdrs = LIBC_HEADERS,
+ public_libcxx_hdrs = LIBCXX_HEADERS,
+ visibility = ["//visibility:public"],
+)