kythe.io@v0.0.68-0.20240422202219-7225dbc01741/tools/platforms/configs/rbe_default/cc/BUILD (about)

     1  # Copyright 2016 The Bazel Authors. All rights reserved.
     2  #
     3  # Licensed under the Apache License, Version 2.0 (the "License");
     4  # you may not use this file except in compliance with the License.
     5  # You may obtain a copy of the License at
     6  #
     7  #    http://www.apache.org/licenses/LICENSE-2.0
     8  #
     9  # Unless required by applicable law or agreed to in writing, software
    10  # distributed under the License is distributed on an "AS IS" BASIS,
    11  # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    12  # See the License for the specific language governing permissions and
    13  # limitations under the License.
    14  
    15  # This becomes the BUILD file for @local_config_cc// under non-BSD unixes.
    16  
    17  load(":cc_toolchain_config.bzl", "cc_toolchain_config")
    18  load(":armeabi_cc_toolchain_config.bzl", "armeabi_cc_toolchain_config")
    19  load("@rules_cc//cc:defs.bzl", "cc_toolchain", "cc_toolchain_suite")
    20  
    21  package(default_visibility = ["//visibility:public"])
    22  
    23  licenses(["notice"])  # Apache 2.0
    24  
    25  cc_library(
    26      name = "malloc",
    27  )
    28  
    29  filegroup(
    30      name = "empty",
    31      srcs = [],
    32  )
    33  
    34  filegroup(
    35      name = "cc_wrapper",
    36      srcs = ["cc_wrapper.sh"],
    37  )
    38  
    39  filegroup(
    40      name = "compiler_deps",
    41      srcs = glob(["extra_tools/**"], allow_empty = True) + [":builtin_include_directory_paths"],
    42  )
    43  
    44  # This is the entry point for --crosstool_top.  Toolchains are found
    45  # by lopping off the name of --crosstool_top and searching for
    46  # the "${CPU}" entry in the toolchains attribute.
    47  cc_toolchain_suite(
    48      name = "toolchain",
    49      toolchains = {
    50          "k8|clang": ":cc-compiler-k8",
    51          "k8": ":cc-compiler-k8",
    52          "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a",
    53          "armeabi-v7a": ":cc-compiler-armeabi-v7a",
    54      },
    55  )
    56  
    57  cc_toolchain(
    58      name = "cc-compiler-k8",
    59      toolchain_identifier = "linux_gnu_x86",
    60      toolchain_config = ":linux_gnu_x86",
    61      all_files = ":compiler_deps",
    62      ar_files = ":compiler_deps",
    63      as_files = ":compiler_deps",
    64      compiler_files = ":compiler_deps",
    65      dwp_files = ":empty",
    66      linker_files = ":compiler_deps",
    67      objcopy_files = ":empty",
    68      strip_files = ":empty",
    69      supports_param_files = 1,
    70      module_map = ":module.modulemap",
    71  )
    72  
    73  cc_toolchain_config(
    74      name = "linux_gnu_x86",
    75      cpu = "k8",
    76      compiler = "clang",
    77      toolchain_identifier = "linux_gnu_x86",
    78      host_system_name = "i686-unknown-linux-gnu",
    79      target_system_name = "x86_64-unknown-linux-gnu",
    80      target_libc = "glibc_2.19",
    81      abi_version = "clang",
    82      abi_libc_version = "glibc_2.19",
    83      cxx_builtin_include_directories = ["/usr/lib/llvm-15/lib/clang/15.0.7/include",
    84      "/usr/local/include",
    85      "/usr/include/x86_64-linux-gnu",
    86      "/usr/include",
    87      "/usr/lib/llvm-15/lib/clang/15.0.7/share",
    88      "/usr/include/c++/12",
    89      "/usr/include/x86_64-linux-gnu/c++/12",
    90      "/usr/include/c++/12/backward",
    91      "/usr/lib/llvm-15/include/c++/v1"],
    92      tool_paths = {"ar": "/usr/bin/ar",
    93          "ld": "/usr/bin/ld",
    94          "llvm-cov": "None",
    95          "llvm-profdata": "None",
    96          "cpp": "/usr/bin/cpp",
    97          "gcc": "/usr/lib/llvm-15/bin/clang",
    98          "dwp": "/usr/bin/dwp",
    99          "gcov": "/usr/bin/gcov",
   100          "nm": "/usr/bin/nm",
   101          "objcopy": "/usr/bin/objcopy",
   102          "objdump": "/usr/bin/objdump",
   103          "strip": "/usr/bin/strip"},
   104      compile_flags = ["-fstack-protector",
   105      "-Wall",
   106      "-Wthread-safety",
   107      "-Wself-assign",
   108      "-Wunused-but-set-parameter",
   109      "-Wno-free-nonheap-object",
   110      "-fcolor-diagnostics",
   111      "-fno-omit-frame-pointer"],
   112      opt_compile_flags = ["-g0",
   113      "-O2",
   114      "-D_FORTIFY_SOURCE=1",
   115      "-DNDEBUG",
   116      "-ffunction-sections",
   117      "-fdata-sections"],
   118      dbg_compile_flags = ["-g"],
   119      cxx_flags = ["-std=c++14"],
   120      link_flags = ["-fuse-ld=/usr/bin/ld.gold",
   121      "-Wl,-no-as-needed",
   122      "-Wl,-z,relro,-z,now",
   123      "-B/usr/lib/llvm-15/bin"],
   124      link_libs = ["-lstdc++",
   125      "-lm"],
   126      opt_link_flags = ["-Wl,--gc-sections"],
   127      unfiltered_compile_flags = ["-no-canonical-prefixes",
   128      "-Wno-builtin-macro-redefined",
   129      "-D__DATE__=\"redacted\"",
   130      "-D__TIMESTAMP__=\"redacted\"",
   131      "-D__TIME__=\"redacted\""],
   132      coverage_compile_flags = ["--coverage"],
   133      coverage_link_flags = ["--coverage"],
   134      supports_start_end_lib = True,
   135  )
   136  
   137  # Android tooling requires a default toolchain for the armeabi-v7a cpu.
   138  cc_toolchain(
   139      name = "cc-compiler-armeabi-v7a",
   140      toolchain_identifier = "stub_armeabi-v7a",
   141      toolchain_config = ":stub_armeabi-v7a",
   142      all_files = ":empty",
   143      ar_files = ":empty",
   144      as_files = ":empty",
   145      compiler_files = ":empty",
   146      dwp_files = ":empty",
   147      linker_files = ":empty",
   148      objcopy_files = ":empty",
   149      strip_files = ":empty",
   150      supports_param_files = 1,
   151  )
   152  
   153  armeabi_cc_toolchain_config(name = "stub_armeabi-v7a")