| # 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"], | |
| ) |