github.com/prysmaticlabs/prysm@v1.4.4/tools/cross-toolchain/configs/gcc/bazel_3.2.0/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 package(default_visibility = ["//visibility:public"]) 18 19 load(":cc_toolchain_config.bzl", "cc_toolchain_config") 20 load(":armeabi_cc_toolchain_config.bzl", "armeabi_cc_toolchain_config") 21 load("@rules_cc//cc:defs.bzl", "cc_toolchain", "cc_toolchain_suite") 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( 42 ["extra_tools/**"], 43 allow_empty = True, 44 ) + [":builtin_include_directory_paths"], 45 ) 46 47 # This is the entry point for --crosstool_top. Toolchains are found 48 # by lopping off the name of --crosstool_top and searching for 49 # the "${CPU}" entry in the toolchains attribute. 50 cc_toolchain_suite( 51 name = "toolchain", 52 toolchains = { 53 "k8|gcc": ":cc-compiler-k8", 54 "k8": ":cc-compiler-k8", 55 "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a", 56 "armeabi-v7a": ":cc-compiler-armeabi-v7a", 57 }, 58 ) 59 60 cc_toolchain( 61 name = "cc-compiler-k8", 62 all_files = ":compiler_deps", 63 ar_files = ":compiler_deps", 64 as_files = ":compiler_deps", 65 compiler_files = ":compiler_deps", 66 dwp_files = ":empty", 67 linker_files = ":compiler_deps", 68 objcopy_files = ":empty", 69 strip_files = ":empty", 70 supports_param_files = 1, 71 toolchain_config = ":local", 72 toolchain_identifier = "local", 73 ) 74 75 cc_toolchain_config( 76 name = "local", 77 abi_libc_version = "local", 78 abi_version = "local", 79 compile_flags = [ 80 "-U_FORTIFY_SOURCE", 81 "-fstack-protector", 82 "-Wall", 83 "-Wunused-but-set-parameter", 84 "-Wno-free-nonheap-object", 85 "-fno-omit-frame-pointer", 86 ], 87 compiler = "gcc", 88 coverage_compile_flags = ["--coverage"], 89 coverage_link_flags = ["--coverage"], 90 cpu = "k8", 91 cxx_builtin_include_directories = [ 92 "/usr/lib/gcc/x86_64-linux-gnu/8/include", 93 "/usr/local/include", 94 "/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed", 95 "/usr/include/x86_64-linux-gnu", 96 "/usr/include", 97 "/usr/include/c++/8", 98 "/usr/include/x86_64-linux-gnu/c++/8", 99 "/usr/include/c++/8/backward", 100 ], 101 cxx_flags = ["-std=c++0x"], 102 dbg_compile_flags = ["-g"], 103 host_system_name = "local", 104 link_flags = [ 105 "-fuse-ld=gold", 106 "-Wl,-no-as-needed", 107 "-Wl,-z,relro,-z,now", 108 "-B/usr/bin", 109 "-pass-exit-codes", 110 "-lm", 111 "-static-libgcc", 112 ], 113 link_libs = ["-l:libstdc++.a"], 114 opt_compile_flags = [ 115 "-g0", 116 "-O2", 117 "-D_FORTIFY_SOURCE=1", 118 "-DNDEBUG", 119 "-ffunction-sections", 120 "-fdata-sections", 121 ], 122 opt_link_flags = ["-Wl,--gc-sections"], 123 supports_start_end_lib = True, 124 target_libc = "local", 125 target_system_name = "local", 126 tool_paths = { 127 "ar": "/usr/bin/ar", 128 "ld": "/usr/bin/ld", 129 "cpp": "/usr/bin/cpp", 130 "gcc": "/usr/bin/gcc", 131 "dwp": "/usr/bin/dwp", 132 "gcov": "/usr/bin/gcov", 133 "nm": "/usr/bin/nm", 134 "objcopy": "/usr/bin/objcopy", 135 "objdump": "/usr/bin/objdump", 136 "strip": "/usr/bin/strip", 137 }, 138 toolchain_identifier = "local", 139 unfiltered_compile_flags = [ 140 "-fno-canonical-system-headers", 141 "-Wno-builtin-macro-redefined", 142 "-D__DATE__=\"redacted\"", 143 "-D__TIMESTAMP__=\"redacted\"", 144 "-D__TIME__=\"redacted\"", 145 ], 146 ) 147 148 # Android tooling requires a default toolchain for the armeabi-v7a cpu. 149 cc_toolchain( 150 name = "cc-compiler-armeabi-v7a", 151 all_files = ":empty", 152 ar_files = ":empty", 153 as_files = ":empty", 154 compiler_files = ":empty", 155 dwp_files = ":empty", 156 linker_files = ":empty", 157 objcopy_files = ":empty", 158 strip_files = ":empty", 159 supports_param_files = 1, 160 toolchain_config = ":stub_armeabi-v7a", 161 toolchain_identifier = "stub_armeabi-v7a", 162 ) 163 164 armeabi_cc_toolchain_config(name = "stub_armeabi-v7a")