github.com/johnnyeven/libtools@v0.0.0-20191126065708-61829c1adf46/third_party/toolchains/preconfig/ubuntu16.04/clang/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-FreeBSD unixes. 16 17 package(default_visibility = ["//visibility:public"]) 18 19 load(":cc_toolchain_config.bzl", "cc_toolchain_config") 20 21 licenses(["notice"]) # Apache 2.0 22 23 cc_library( 24 name = "malloc", 25 ) 26 27 filegroup( 28 name = "empty", 29 srcs = [], 30 ) 31 32 filegroup( 33 name = "cc_wrapper", 34 srcs = ["cc_wrapper.sh"], 35 ) 36 37 filegroup( 38 name = "compiler_deps", 39 srcs = glob(["extra_tools/**"]) + [":empty"], 40 ) 41 42 # This is the entry point for --crosstool_top. Toolchains are found 43 # by lopping off the name of --crosstool_top and searching for 44 # the "${CPU}" entry in the toolchains attribute. 45 cc_toolchain_suite( 46 name = "toolchain", 47 toolchains = { 48 "k8|clang": ":cc-compiler-k8", 49 "k8": ":cc-compiler-k8", 50 "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a", 51 "armeabi-v7a": ":cc-compiler-armeabi-v7a", 52 }, 53 ) 54 55 cc_toolchain( 56 name = "cc-compiler-k8", 57 all_files = ":compiler_deps", 58 ar_files = ":empty", 59 as_files = ":empty", 60 compiler_files = ":compiler_deps", 61 dwp_files = ":empty", 62 linker_files = ":compiler_deps", 63 objcopy_files = ":empty", 64 strip_files = ":empty", 65 supports_param_files = 1, 66 toolchain_config = ":linux_gnu_x86", 67 toolchain_identifier = "linux_gnu_x86", 68 ) 69 70 cc_toolchain_config( 71 name = "linux_gnu_x86", 72 compiler = "clang", 73 cpu = "k8", 74 ) 75 76 toolchain( 77 name = "cc-toolchain-k8", 78 exec_compatible_with = [ 79 # TODO(katre): add autodiscovered constraints for host CPU and OS. 80 ], 81 target_compatible_with = [ 82 # TODO(katre): add autodiscovered constraints for host CPU and OS. 83 ], 84 toolchain = ":cc-compiler-k8", 85 toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", 86 ) 87 88 # Android tooling requires a default toolchain for the armeabi-v7a cpu. 89 cc_toolchain( 90 name = "cc-compiler-armeabi-v7a", 91 all_files = ":empty", 92 ar_files = ":empty", 93 as_files = ":empty", 94 compiler_files = ":empty", 95 dwp_files = ":empty", 96 linker_files = ":empty", 97 objcopy_files = ":empty", 98 strip_files = ":empty", 99 supports_param_files = 1, 100 toolchain_config = ":stub_armeabi-v7a", 101 toolchain_identifier = "stub_armeabi-v7a", 102 ) 103 104 cc_toolchain_config( 105 name = "stub_armeabi-v7a", 106 compiler = "compiler", 107 cpu = "armeabi-v7a", 108 ) 109 110 toolchain( 111 name = "cc-toolchain-armeabi-v7a", 112 exec_compatible_with = [ 113 # TODO(katre): add autodiscovered constraints for host CPU and OS. 114 ], 115 target_compatible_with = [ 116 "@bazel_tools//platforms:arm", 117 "@bazel_tools//platforms:android", 118 ], 119 toolchain = ":cc-compiler-armabi-v7a", 120 toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", 121 )