# Copyright 2016 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. # This becomes the BUILD file for @local_config_cc// under non-BSD unixes. package(default_visibility = ["//visibility:public"]) load(":cc_toolchain_config.bzl", "cc_toolchain_config") load(":armeabi_cc_toolchain_config.bzl", "armeabi_cc_toolchain_config") load("@rules_cc//cc:defs.bzl", "cc_toolchain", "cc_toolchain_suite") licenses(["notice"]) # Apache 2.0 cc_library( name = "malloc", ) filegroup( name = "empty", srcs = [], ) filegroup( name = "cc_wrapper", srcs = ["cc_wrapper.sh"], ) filegroup( name = "compiler_deps", srcs = glob( ["extra_tools/**"], allow_empty = True, ) + [":builtin_include_directory_paths"], ) # This is the entry point for --crosstool_top. Toolchains are found # by lopping off the name of --crosstool_top and searching for # the "${CPU}" entry in the toolchains attribute. cc_toolchain_suite( name = "toolchain", toolchains = { "k8|gcc": ":cc-compiler-k8", "k8": ":cc-compiler-k8", "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a", "armeabi-v7a": ":cc-compiler-armeabi-v7a", }, ) cc_toolchain( name = "cc-compiler-k8", all_files = ":compiler_deps", ar_files = ":compiler_deps", as_files = ":compiler_deps", compiler_files = ":compiler_deps", dwp_files = ":empty", linker_files = ":compiler_deps", objcopy_files = ":empty", strip_files = ":empty", supports_param_files = 1, toolchain_config = ":local", toolchain_identifier = "local", ) cc_toolchain_config( name = "local", abi_libc_version = "local", abi_version = "local", compile_flags = [ "-U_FORTIFY_SOURCE", "-fstack-protector", "-Wall", "-Wunused-but-set-parameter", "-Wno-free-nonheap-object", "-fno-omit-frame-pointer", ], compiler = "gcc", coverage_compile_flags = ["--coverage"], coverage_link_flags = ["--coverage"], cpu = "k8", cxx_builtin_include_directories = [ "/usr/lib/gcc/x86_64-linux-gnu/8/include", "/usr/local/include", "/usr/lib/gcc/x86_64-linux-gnu/8/include-fixed", "/usr/include/x86_64-linux-gnu", "/usr/include", "/usr/include/c++/8", "/usr/include/x86_64-linux-gnu/c++/8", "/usr/include/c++/8/backward", ], cxx_flags = ["-std=c++0x"], dbg_compile_flags = ["-g"], host_system_name = "local", link_flags = [ "-fuse-ld=gold", "-Wl,-no-as-needed", "-Wl,-z,relro,-z,now", "-B/usr/bin", "-pass-exit-codes", "-lm", "-static-libgcc", ], link_libs = ["-l:libstdc++.a"], opt_compile_flags = [ "-g0", "-O2", "-D_FORTIFY_SOURCE=1", "-DNDEBUG", "-ffunction-sections", "-fdata-sections", ], opt_link_flags = ["-Wl,--gc-sections"], supports_start_end_lib = True, target_libc = "local", target_system_name = "local", tool_paths = { "ar": "/usr/bin/ar", "ld": "/usr/bin/ld", "cpp": "/usr/bin/cpp", "gcc": "/usr/bin/gcc", "dwp": "/usr/bin/dwp", "gcov": "/usr/bin/gcov", "nm": "/usr/bin/nm", "objcopy": "/usr/bin/objcopy", "objdump": "/usr/bin/objdump", "strip": "/usr/bin/strip", }, toolchain_identifier = "local", unfiltered_compile_flags = [ "-fno-canonical-system-headers", "-Wno-builtin-macro-redefined", "-D__DATE__=\"redacted\"", "-D__TIMESTAMP__=\"redacted\"", "-D__TIME__=\"redacted\"", ], ) # Android tooling requires a default toolchain for the armeabi-v7a cpu. 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 = ":stub_armeabi-v7a", toolchain_identifier = "stub_armeabi-v7a", ) armeabi_cc_toolchain_config(name = "stub_armeabi-v7a")