| # Copyright 2018 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 Windows. |
| |
| package(default_visibility = ["//visibility:public"]) |
| |
| load("@rules_cc//cc:defs.bzl", "cc_toolchain", "cc_toolchain_suite", "cc_library") |
| load(":windows_cc_toolchain_config.bzl", "cc_toolchain_config") |
| load(":armeabi_cc_toolchain_config.bzl", "armeabi_cc_toolchain_config") |
| cc_library( |
| name = "malloc", |
| ) |
| |
| filegroup( |
| name = "empty", |
| srcs = [], |
| ) |
| |
| filegroup( |
| name = "mingw_compiler_files", |
| srcs = [":builtin_include_directory_paths_mingw"] |
| ) |
| |
| filegroup( |
| name = "clangcl_compiler_files", |
| srcs = [":builtin_include_directory_paths_clangcl"] |
| ) |
| |
| filegroup( |
| name = "msvc_compiler_files", |
| srcs = [":builtin_include_directory_paths_msvc"] |
| ) |
| |
| # Hardcoded toolchain, legacy behaviour. |
| cc_toolchain_suite( |
| name = "toolchain", |
| toolchains = { |
| "armeabi-v7a|compiler": ":cc-compiler-armeabi-v7a", |
| "x64_windows|msvc-cl": ":cc-compiler-x64_windows", |
| "x64_windows|msys-gcc": ":cc-compiler-x64_windows_msys", |
| "x64_windows|mingw-gcc": ":cc-compiler-x64_windows_mingw", |
| "x64_windows|clang-cl": ":cc-compiler-x64_windows-clang-cl", |
| "x64_windows_msys": ":cc-compiler-x64_windows_msys", |
| "x64_windows": ":cc-compiler-x64_windows", |
| "armeabi-v7a": ":cc-compiler-armeabi-v7a", |
| }, |
| ) |
| |
| cc_toolchain( |
| name = "cc-compiler-x64_windows_msys", |
| toolchain_identifier = "msys_x64", |
| toolchain_config = ":msys_x64", |
| all_files = ":empty", |
| ar_files = ":empty", |
| as_files = ":mingw_compiler_files", |
| compiler_files = ":mingw_compiler_files", |
| dwp_files = ":empty", |
| linker_files = ":empty", |
| objcopy_files = ":empty", |
| strip_files = ":empty", |
| supports_param_files = 1, |
| ) |
| |
| cc_toolchain_config( |
| name = "msys_x64", |
| cpu = "x64_windows", |
| compiler = "msys-gcc", |
| host_system_name = "local", |
| target_system_name = "local", |
| target_libc = "msys", |
| abi_version = "local", |
| abi_libc_version = "local", |
| cxx_builtin_include_directories = [%{cxx_builtin_include_directories}], |
| tool_paths = {%{tool_paths}}, |
| tool_bin_path = "%{tool_bin_path}", |
| dbg_mode_debug_flag = "%{dbg_mode_debug_flag}", |
| fastbuild_mode_debug_flag = "%{fastbuild_mode_debug_flag}", |
| ) |
| |
| toolchain( |
| name = "cc-toolchain-x64_windows_msys", |
| exec_compatible_with = [ |
| "@platforms//cpu:x86_64", |
| "@platforms//os:windows", |
| "@bazel_tools//tools/cpp:msys", |
| ], |
| target_compatible_with = [ |
| "@platforms//cpu:x86_64", |
| "@platforms//os:windows", |
| ], |
| toolchain = ":cc-compiler-x64_windows_msys", |
| toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", |
| ) |
| |
| cc_toolchain( |
| name = "cc-compiler-x64_windows_mingw", |
| toolchain_identifier = "msys_x64_mingw", |
| toolchain_config = ":msys_x64_mingw", |
| all_files = ":empty", |
| ar_files = ":empty", |
| as_files = ":mingw_compiler_files", |
| compiler_files = ":mingw_compiler_files", |
| dwp_files = ":empty", |
| linker_files = ":empty", |
| objcopy_files = ":empty", |
| strip_files = ":empty", |
| supports_param_files = 0, |
| ) |
| |
| cc_toolchain_config( |
| name = "msys_x64_mingw", |
| cpu = "x64_windows", |
| compiler = "mingw-gcc", |
| host_system_name = "local", |
| target_system_name = "local", |
| target_libc = "mingw", |
| abi_version = "local", |
| abi_libc_version = "local", |
| tool_bin_path = "%{mingw_tool_bin_path}", |
| cxx_builtin_include_directories = [%{mingw_cxx_builtin_include_directories}], |
| tool_paths = {%{mingw_tool_paths}}, |
| dbg_mode_debug_flag = "%{dbg_mode_debug_flag}", |
| fastbuild_mode_debug_flag = "%{fastbuild_mode_debug_flag}", |
| ) |
| |
| toolchain( |
| name = "cc-toolchain-x64_windows_mingw", |
| exec_compatible_with = [ |
| "@platforms//cpu:x86_64", |
| "@platforms//os:windows", |
| "@bazel_tools//tools/cpp:mingw", |
| ], |
| target_compatible_with = [ |
| "@platforms//cpu:x86_64", |
| "@platforms//os:windows", |
| ], |
| toolchain = ":cc-compiler-x64_windows_mingw", |
| toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", |
| ) |
| |
| cc_toolchain( |
| name = "cc-compiler-x64_windows", |
| toolchain_identifier = "msvc_x64", |
| toolchain_config = ":msvc_x64", |
| all_files = ":empty", |
| ar_files = ":empty", |
| as_files = ":msvc_compiler_files", |
| compiler_files = ":msvc_compiler_files", |
| dwp_files = ":empty", |
| linker_files = ":empty", |
| objcopy_files = ":empty", |
| strip_files = ":empty", |
| supports_param_files = 1, |
| ) |
| |
| cc_toolchain_config( |
| name = "msvc_x64", |
| cpu = "x64_windows", |
| compiler = "msvc-cl", |
| host_system_name = "local", |
| target_system_name = "local", |
| target_libc = "msvcrt", |
| abi_version = "local", |
| abi_libc_version = "local", |
| toolchain_identifier = "msvc_x64", |
| msvc_env_tmp = "%{msvc_env_tmp}", |
| msvc_env_path = "%{msvc_env_path}", |
| msvc_env_include = "%{msvc_env_include}", |
| msvc_env_lib = "%{msvc_env_lib}", |
| msvc_cl_path = "%{msvc_cl_path}", |
| msvc_ml_path = "%{msvc_ml_path}", |
| msvc_link_path = "%{msvc_link_path}", |
| msvc_lib_path = "%{msvc_lib_path}", |
| cxx_builtin_include_directories = [%{msvc_cxx_builtin_include_directories}], |
| tool_paths = { |
| "ar": "%{msvc_lib_path}", |
| "ml": "%{msvc_ml_path}", |
| "cpp": "%{msvc_cl_path}", |
| "gcc": "%{msvc_cl_path}", |
| "gcov": "wrapper/bin/msvc_nop.bat", |
| "ld": "%{msvc_link_path}", |
| "nm": "wrapper/bin/msvc_nop.bat", |
| "objcopy": "wrapper/bin/msvc_nop.bat", |
| "objdump": "wrapper/bin/msvc_nop.bat", |
| "strip": "wrapper/bin/msvc_nop.bat", |
| }, |
| default_link_flags = ["/MACHINE:X64"], |
| dbg_mode_debug_flag = "%{dbg_mode_debug_flag}", |
| fastbuild_mode_debug_flag = "%{fastbuild_mode_debug_flag}", |
| ) |
| |
| toolchain( |
| name = "cc-toolchain-x64_windows", |
| exec_compatible_with = [ |
| "@platforms//cpu:x86_64", |
| "@platforms//os:windows", |
| ], |
| target_compatible_with = [ |
| "@platforms//cpu:x86_64", |
| "@platforms//os:windows", |
| ], |
| toolchain = ":cc-compiler-x64_windows", |
| toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", |
| ) |
| |
| cc_toolchain( |
| name = "cc-compiler-x64_windows-clang-cl", |
| toolchain_identifier = "clang_cl_x64", |
| toolchain_config = ":clang_cl_x64", |
| all_files = ":empty", |
| ar_files = ":empty", |
| as_files = ":clangcl_compiler_files", |
| compiler_files = ":clangcl_compiler_files", |
| dwp_files = ":empty", |
| linker_files = ":empty", |
| objcopy_files = ":empty", |
| strip_files = ":empty", |
| supports_param_files = 1, |
| ) |
| |
| cc_toolchain_config( |
| name = "clang_cl_x64", |
| cpu = "x64_windows", |
| compiler = "clang-cl", |
| host_system_name = "local", |
| target_system_name = "local", |
| target_libc = "msvcrt", |
| abi_version = "local", |
| abi_libc_version = "local", |
| toolchain_identifier = "clang_cl_x64", |
| msvc_env_tmp = "%{clang_cl_env_tmp}", |
| msvc_env_path = "%{clang_cl_env_path}", |
| msvc_env_include = "%{clang_cl_env_include}", |
| msvc_env_lib = "%{clang_cl_env_lib}", |
| msvc_cl_path = "%{clang_cl_cl_path}", |
| msvc_ml_path = "%{clang_cl_ml_path}", |
| msvc_link_path = "%{clang_cl_link_path}", |
| msvc_lib_path = "%{clang_cl_lib_path}", |
| cxx_builtin_include_directories = [%{clang_cl_cxx_builtin_include_directories}], |
| tool_paths = { |
| "ar": "%{clang_cl_lib_path}", |
| "ml": "%{clang_cl_ml_path}", |
| "cpp": "%{clang_cl_cl_path}", |
| "gcc": "%{clang_cl_cl_path}", |
| "gcov": "wrapper/bin/msvc_nop.bat", |
| "ld": "%{clang_cl_link_path}", |
| "nm": "wrapper/bin/msvc_nop.bat", |
| "objcopy": "wrapper/bin/msvc_nop.bat", |
| "objdump": "wrapper/bin/msvc_nop.bat", |
| "strip": "wrapper/bin/msvc_nop.bat", |
| }, |
| default_link_flags = ["/MACHINE:X64", "/DEFAULTLIB:clang_rt.builtins-x86_64.lib"], |
| dbg_mode_debug_flag = "%{clang_cl_dbg_mode_debug_flag}", |
| fastbuild_mode_debug_flag = "%{clang_cl_fastbuild_mode_debug_flag}", |
| ) |
| |
| toolchain( |
| name = "cc-toolchain-x64_windows-clang-cl", |
| exec_compatible_with = [ |
| "@platforms//cpu:x86_64", |
| "@platforms//os:windows", |
| "@bazel_tools//tools/cpp:clang-cl", |
| ], |
| target_compatible_with = [ |
| "@platforms//cpu:x86_64", |
| "@platforms//os:windows", |
| ], |
| toolchain = ":cc-compiler-x64_windows-clang-cl", |
| toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", |
| ) |
| |
| cc_toolchain( |
| name = "cc-compiler-armeabi-v7a", |
| toolchain_identifier = "stub_armeabi-v7a", |
| toolchain_config = ":stub_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, |
| ) |
| |
| armeabi_cc_toolchain_config(name = "stub_armeabi-v7a") |
| |
| toolchain( |
| name = "cc-toolchain-armeabi-v7a", |
| exec_compatible_with = [ |
| ], |
| target_compatible_with = [ |
| "@platforms//cpu:arm", |
| "@platforms//os:android", |
| ], |
| toolchain = ":cc-compiler-armeabi-v7a", |
| toolchain_type = "@bazel_tools//tools/cpp:toolchain_type", |
| ) |
| |
| filegroup( |
| name = "link_dynamic_library", |
| srcs = ["link_dynamic_library.sh"], |
| ) |