| 
					
				 | 
			
			
				@@ -0,0 +1,1728 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+# Copyright 2019 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. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+"""A Starlark cc_toolchain configuration rule""" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+load("@bazel_tools//tools/cpp:cc_toolchain_config_lib.bzl", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "action_config", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "artifact_name_pattern", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "env_entry", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "env_set", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "feature", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "feature_set", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "flag_group", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "flag_set", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "make_variable", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "tool", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "tool_path", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "variable_with_value", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     "with_feature_set", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+load("@bazel_tools//tools/build_defs/cc:action_names.bzl", "ACTION_NAMES") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+all_compile_actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+all_cpp_compile_actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+preprocessor_compile_actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+codegen_compile_actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+all_link_actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_link_executable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def _windows_msvc_impl(ctx): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    toolchain_identifier = "msvc_x64" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    host_system_name = "local" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_system_name = "local" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_cpu = "x64_windows" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_libc = "msvcrt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compiler = "msvc-cl" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    abi_version = "local" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    abi_libc_version = "local" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cc_target_os = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    builtin_sysroot = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cxx_builtin_include_directories = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # This is a workaround for https://github.com/bazelbuild/bazel/issues/5087. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\botcode\\w", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cpp_link_nodeps_dynamic_library_action = action_config( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_name = ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "shared_flag", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linkstamps", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "output_execpath_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "input_param_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "user_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "default_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linker_subsystem_flag", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linker_param_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "no_stripping", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "has_configured_linker_path", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "def_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tools = [tool(path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/link.exe")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cpp_link_static_library_action = action_config( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_name = ACTION_NAMES.cpp_link_static_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "archiver_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "input_param_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linker_param_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tools = [tool(path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/lib.exe")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    assemble_action = action_config( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_name = ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "compiler_input_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "compiler_output_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tools = [tool(path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/ml64.exe")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    preprocess_assemble_action = action_config( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_name = ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "compiler_input_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "compiler_output_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tools = [tool(path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/ml64.exe")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    c_compile_action = action_config( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_name = ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "compiler_input_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "compiler_output_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "default_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "parse_showincludes", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "user_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "unfiltered_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tools = [tool(path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cpp_compile_action = action_config( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_name = ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "compiler_input_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "compiler_output_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "default_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "parse_showincludes", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "user_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "unfiltered_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tools = [tool(path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cpp_link_executable_action = action_config( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_name = ACTION_NAMES.cpp_link_executable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linkstamps", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "output_execpath_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "input_param_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "user_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "default_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linker_subsystem_flag", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linker_param_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "no_stripping", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tools = [tool(path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/link.exe")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cpp_link_dynamic_library_action = action_config( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_name = ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "shared_flag", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linkstamps", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "output_execpath_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "input_param_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "user_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "default_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linker_subsystem_flag", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "linker_param_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "no_stripping", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "has_configured_linker_path", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            "def_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tools = [tool(path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/link.exe")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    action_configs = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        assemble_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        preprocess_assemble_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        c_compile_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cpp_compile_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cpp_link_executable_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cpp_link_dynamic_library_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cpp_link_nodeps_dynamic_library_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cpp_link_static_library_action, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    msvc_link_env_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "msvc_link_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        env_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            env_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          [ACTION_NAMES.cpp_link_static_library], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                env_entries = [env_entry(key = "LIB", value = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\LIB\\amd64;C:\\Program Files (x86)\\Windows Kits\\10\\lib\\10.0.10240.0\\ucrt\\x64;C:\\Program Files (x86)\\Windows Kits\\8.1\\lib\\winv6.3\\um\\x64;")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    shared_flag_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "shared_flag", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/DLL"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    determinism_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "determinism", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/wd4117", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "-D__DATE__=\"redacted\"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "-D__TIMESTAMP__=\"redacted\"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "-D__TIME__=\"redacted\"", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sysroot_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_executable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["--sysroot=%{sysroot}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    unfiltered_compile_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "unfiltered_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["%{unfiltered_compile_flags}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "unfiltered_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "unfiltered_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compiler_param_file_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "compiler_param_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    copy_dynamic_libraries_to_binary_feature = feature(name = "copy_dynamic_libraries_to_binary") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    input_param_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "input_param_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/IMPLIB:%{interface_library_output_path}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "interface_library_output_path", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["%{libopts}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "libopts", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "libopts", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          [ACTION_NAMES.cpp_link_static_library], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "libraries_to_link", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                iterate_over = "libraries_to_link.object_files", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                flag_groups = [flag_group(flags = ["%{libraries_to_link.object_files}"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                expand_if_equal = variable_with_value( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    name = "libraries_to_link.type", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    value = "object_file_group", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                flag_groups = [flag_group(flags = ["%{libraries_to_link.name}"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                expand_if_equal = variable_with_value( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    name = "libraries_to_link.type", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    value = "object_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                flag_groups = [flag_group(flags = ["%{libraries_to_link.name}"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                expand_if_equal = variable_with_value( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    name = "libraries_to_link.type", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    value = "interface_library", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                      flags = ["%{libraries_to_link.name}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                      expand_if_false = "libraries_to_link.is_whole_archive", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                      flags = ["/WHOLEARCHIVE:%{libraries_to_link.name}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                      expand_if_true = "libraries_to_link.is_whole_archive", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                  ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                expand_if_equal = variable_with_value( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    name = "libraries_to_link.type", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    value = "static_library", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "libraries_to_link", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fastbuild_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "fastbuild", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/Od", "/Z7"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/DEBUG:FASTLINK", "/INCREMENTAL:NO"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = ["generate_pdb_file"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    user_compile_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "user_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["%{user_compile_flags}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "user_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "user_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    archiver_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "archiver_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.cpp_link_static_library], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/OUT:%{output_execpath}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "output_execpath", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/MACHINE:X64"] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default_link_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "default_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/MACHINE:X64"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static_link_msvcrt_feature = feature(name = "static_link_msvcrt") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dynamic_link_msvcrt_debug_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "dynamic_link_msvcrt_debug", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/MDd"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/DEFAULTLIB:msvcrtd.lib"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        requires = [feature_set(features = ["dbg"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dbg_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "dbg", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/Od", "/Z7"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      flags = ["/DEBUG:FULL", "/INCREMENTAL:NO"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = ["generate_pdb_file"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    opt_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "opt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/O2"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = ["frame_pointer"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports_interface_shared_libraries_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "supports_interface_shared_libraries", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    user_link_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "user_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["%{user_link_flags}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "user_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "user_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default_compile_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "default_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/DCOMPILER_MSVC", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/DNOMINMAX", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/D_WIN32_WINNT=0x0601", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/D_CRT_SECURE_NO_DEPRECATE", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/D_CRT_SECURE_NO_WARNINGS", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/bigobj", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/Zm500", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/EHsc", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/wd4351", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/wd4291", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/wd4250", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            "/wd4996", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    msvc_compile_env_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "msvc_compile_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        env_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            env_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                env_entries = [env_entry(key = "INCLUDE", value = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE;C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um;C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt;")], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    preprocessor_defines_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "preprocessor_defines", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/D%{preprocessor_defines}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "preprocessor_defines", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    generate_pdb_file_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "generate_pdb_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        requires = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            feature_set(features = ["dbg"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            feature_set(features = ["fastbuild"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    output_execpath_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "output_execpath_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/OUT:%{output_execpath}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "output_execpath", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dynamic_link_msvcrt_no_debug_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "dynamic_link_msvcrt_no_debug", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/MD"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/DEFAULTLIB:msvcrt.lib"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          requires = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              feature_set(features = ["fastbuild"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+              feature_set(features = ["opt"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    disable_assertions_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "disable_assertions", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/DNDEBUG"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                with_features = [with_feature_set(features = ["opt"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    has_configured_linker_path_feature = feature(name = "has_configured_linker_path") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    no_stripping_feature = feature(name = "no_stripping") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    linker_param_file_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "linker_param_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          [ACTION_NAMES.cpp_link_static_library], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["@%{linker_param_file}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "linker_param_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ignore_noisy_warnings_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "ignore_noisy_warnings", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.cpp_link_static_library], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/ignore:4221"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    no_legacy_features_feature = feature(name = "no_legacy_features") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    parse_showincludes_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "parse_showincludes", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/showIncludes"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static_link_msvcrt_no_debug_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "static_link_msvcrt_no_debug", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/MT"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/DEFAULTLIB:libcmt.lib"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        requires = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            feature_set(features = ["fastbuild"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            feature_set(features = ["opt"]), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    treat_warnings_as_errors_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "treat_warnings_as_errors", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/WX"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    windows_export_all_symbols_feature = feature(name = "windows_export_all_symbols") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    no_windows_export_all_symbols_feature = feature(name = "no_windows_export_all_symbols") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    include_paths_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "include_paths", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/I%{quote_include_paths}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "quote_include_paths", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/I%{include_paths}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "include_paths", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/I%{system_include_paths}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "system_include_paths", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    linkstamps_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "linkstamps", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["%{linkstamp_paths}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        iterate_over = "linkstamp_paths", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "linkstamp_paths", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    targets_windows_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "targets_windows", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = ["copy_dynamic_libraries_to_binary"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    linker_subsystem_flag_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "linker_subsystem_flag", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/SUBSYSTEM:CONSOLE"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    static_link_msvcrt_debug_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "static_link_msvcrt_debug", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/MTd"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/DEFAULTLIB:libcmtd.lib"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        requires = [feature_set(features = ["dbg"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    frame_pointer_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "frame_pointer", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/Oy-"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compiler_output_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "compiler_output_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.assemble], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              flags = ["/Fo%{output_file}", "/Zi"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              expand_if_available = "output_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                              expand_if_not_available = "output_assembly_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                          ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      expand_if_not_available = "output_preprocess_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                flags = ["/Fo%{output_file}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                expand_if_not_available = "output_preprocess_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "output_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_not_available = "output_assembly_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                flags = ["/Fa%{output_file}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                expand_if_available = "output_assembly_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "output_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                flags = ["/P", "/Fi%{output_file}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                expand_if_available = "output_preprocess_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "output_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    nologo_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "nologo", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_executable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_static_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/nologo"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    smaller_binary_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "smaller_binary", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/Gy", "/Gw"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                with_features = [with_feature_set(features = ["opt"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [flag_group(flags = ["/OPT:ICF", "/OPT:REF"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                with_features = [with_feature_set(features = ["opt"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compiler_input_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "compiler_input_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/c", "%{source_file}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "source_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    def_file_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "def_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        flags = ["/DEF:%{def_file_path}", "/ignore:4070"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        expand_if_available = "def_file_path", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    msvc_env_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "msvc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        env_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            env_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_executable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_static_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                env_entries = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    env_entry(key = "PATH", value = "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\BIN\\amd64;C:\\Windows\\Microsoft.NET\\Framework64\\v4.0.30319;C:\\Windows\\Microsoft.NET\\Framework64\\;C:\\Program Files (x86)\\Windows Kits\\8.1\\bin\\x64;C:\\Program Files (x86)\\Windows Kits\\8.1\\bin\\x86;;C:\\Windows\\system32"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    env_entry(key = "TMP", value = "C:\\Users\\ContainerAdministrator\\AppData\\Local\\Temp"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    env_entry(key = "TEMP", value = "C:\\Users\\ContainerAdministrator\\AppData\\Local\\Temp"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = ["msvc_compile_env", "msvc_link_env"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    features = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        no_legacy_features_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        nologo_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        has_configured_linker_path_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        no_stripping_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        targets_windows_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        copy_dynamic_libraries_to_binary_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default_compile_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msvc_env_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msvc_compile_env_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        msvc_link_env_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        include_paths_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        preprocessor_defines_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        parse_showincludes_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        generate_pdb_file_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        shared_flag_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        linkstamps_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        output_execpath_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        archiver_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        input_param_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        linker_subsystem_flag_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        user_link_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default_link_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        linker_param_file_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        static_link_msvcrt_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        static_link_msvcrt_no_debug_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dynamic_link_msvcrt_no_debug_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        static_link_msvcrt_debug_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dynamic_link_msvcrt_debug_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dbg_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fastbuild_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        opt_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        frame_pointer_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        disable_assertions_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        determinism_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        treat_warnings_as_errors_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        smaller_binary_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ignore_noisy_warnings_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        user_compile_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sysroot_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        unfiltered_compile_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        compiler_param_file_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        compiler_output_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        compiler_input_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        def_file_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        windows_export_all_symbols_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        no_windows_export_all_symbols_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        supports_dynamic_linker_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        supports_interface_shared_libraries_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    artifact_name_patterns = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            category_name = "object_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prefix = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extension = ".obj", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            category_name = "static_library", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prefix = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extension = ".lib", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            category_name = "alwayslink_static_library", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prefix = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extension = ".lo.lib", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            category_name = "executable", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prefix = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extension = ".exe", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            category_name = "dynamic_library", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prefix = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extension = ".dll", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            category_name = "interface_library", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prefix = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extension = ".if.lib", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    make_variables = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tool_paths = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "ar", path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/lib.exe"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "ml", path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/ml64.exe"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "cpp", path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "gcc", path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/cl.exe"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "gcov", path = "wrapper/bin/msvc_nop.bat"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "ld", path = "C:/Program Files (x86)/Microsoft Visual Studio 14.0/VC/bin/amd64/link.exe"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "nm", path = "wrapper/bin/msvc_nop.bat"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name = "objcopy", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            path = "wrapper/bin/msvc_nop.bat", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name = "objdump", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            path = "wrapper/bin/msvc_nop.bat", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            name = "strip", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            path = "wrapper/bin/msvc_nop.bat", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return cc_common.create_cc_toolchain_config_info( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ctx = ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        features = features, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_configs = action_configs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_patterns = artifact_name_patterns, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cxx_builtin_include_directories = cxx_builtin_include_directories, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toolchain_identifier = toolchain_identifier, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        host_system_name = host_system_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_system_name = target_system_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_cpu = target_cpu, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_libc = target_libc, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        compiler = compiler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        abi_version = abi_version, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        abi_libc_version = abi_libc_version, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_paths = tool_paths, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        make_variables = make_variables, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        builtin_sysroot = builtin_sysroot, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cc_target_os = None, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def _windows_msys_mingw_impl(ctx): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    toolchain_identifier = "msys_x64_mingw" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    host_system_name = "local" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_system_name = "local" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_cpu = "x64_windows" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_libc = "mingw" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compiler = "mingw-gcc" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    abi_version = "local" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    abi_libc_version = "local" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cc_target_os = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    builtin_sysroot = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    action_configs = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    targets_windows_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "targets_windows", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = ["copy_dynamic_libraries_to_binary"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    copy_dynamic_libraries_to_binary_feature = feature(name= "copy_dynamic_libraries_to_binary") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gcc_env_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "gcc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        env_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            env_set ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_executable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_static_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                env_entries = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    env_entry(key = "PATH", value = "c:/tools/msys64/mingw64/bin") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    msys_mingw_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ "-std=gnu++0x" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    msys_mingw_link_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ "-lstdc++" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default_compile_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "default_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = msys_mingw_flags)] if msys_mingw_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compiler_param_file_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "compiler_param_file", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default_link_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "default_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = msys_mingw_link_flags)] if msys_mingw_link_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    features = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        targets_windows_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        copy_dynamic_libraries_to_binary_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gcc_env_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default_compile_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        compiler_param_file_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default_link_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        supports_dynamic_linker_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cxx_builtin_include_directories = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # This is a workaround for https://github.com/bazelbuild/bazel/issues/5087. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\botcode\\w", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "c:/tools/msys64/mingw64/", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    artifact_name_patterns = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_pattern( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            category_name = "executable", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            prefix = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            extension = ".exe", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    make_variables = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tool_paths = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "ar", path= "c:/tools/msys64/mingw64/bin/ar"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "compat-ld", path= "c:/tools/msys64/mingw64/bin/ld"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "cpp", path= "c:/tools/msys64/mingw64/bin/cpp"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "dwp", path= "c:/tools/msys64/mingw64/bin/dwp"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "gcc", path= "c:/tools/msys64/mingw64/bin/gcc"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "gcov", path= "c:/tools/msys64/mingw64/bin/gcov"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "ld", path= "c:/tools/msys64/mingw64/bin/ld"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "nm", path= "c:/tools/msys64/mingw64/bin/nm"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "objcopy", path= "c:/tools/msys64/mingw64/bin/objcopy"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "objdump", path= "c:/tools/msys64/mingw64/bin/objdump"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "strip", path= "c:/tools/msys64/mingw64/bin/strip"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return cc_common.create_cc_toolchain_config_info( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ctx = ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        features = features, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_configs = action_configs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_patterns = artifact_name_patterns, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cxx_builtin_include_directories = cxx_builtin_include_directories, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toolchain_identifier = toolchain_identifier, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        host_system_name = host_system_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_system_name = target_system_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_cpu = target_cpu, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_libc = target_libc, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        compiler = compiler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        abi_version = abi_version, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        abi_libc_version = abi_libc_version, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_paths = tool_paths, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        make_variables = make_variables, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        builtin_sysroot = builtin_sysroot, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cc_target_os = cc_target_os) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def _armeabi_impl(ctx): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    toolchain_identifier = "stub_armeabi-v7a" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    host_system_name = "armeabi-v7a" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_system_name = "armeabi-v7a" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_cpu = "armeabi-v7a" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    target_libc = "armeabi-v7a" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compiler = "compiler" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    abi_version = "armeabi-v7a" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    abi_libc_version = "armeabi-v7a" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cc_target_os = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    builtin_sysroot = None 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    action_configs = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports_pic_feature = feature(name = "supports_pic", enabled = True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    features = [supports_dynamic_linker_feature, supports_pic_feature] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cxx_builtin_include_directories = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # This is a workaround for https://github.com/bazelbuild/bazel/issues/5087. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\botcode\\w",] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    artifact_name_patterns = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    make_variables = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tool_paths = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "ar", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "compat-ld", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "cpp", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "dwp", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "gcc", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "gcov", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "ld", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "nm", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "objcopy", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "objdump", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path(name = "strip", path = "/bin/false"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return cc_common.create_cc_toolchain_config_info( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ctx = ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        features = features, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_configs = action_configs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_patterns = artifact_name_patterns, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cxx_builtin_include_directories = cxx_builtin_include_directories, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toolchain_identifier = toolchain_identifier, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        host_system_name = host_system_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_system_name = target_system_name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_cpu = target_cpu, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_libc = target_libc, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        compiler = compiler, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        abi_version = abi_version, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        abi_libc_version = abi_libc_version, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_paths = tool_paths, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        make_variables = make_variables, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        builtin_sysroot = builtin_sysroot, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cc_target_os = cc_target_os 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+def _impl(ctx): 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if ctx.attr.cpu == "armeabi-v7a": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _armeabi_impl(ctx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    elif ctx.attr.cpu == "x64_windows" and ctx.attr.compiler == "msvc-cl": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _windows_msvc_impl(ctx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    elif ctx.attr.cpu == "x64_windows" and ctx.attr.compiler == "mingw-gcc": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return _windows_msys_mingw_impl(ctx) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    tool_paths = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "ar", path= "c:/tools/msys64/usr/bin/ar"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "compat-ld", path= "c:/tools/msys64/usr/bin/ld"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "cpp", path= "c:/tools/msys64/usr/bin/cpp"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "dwp", path= "c:/tools/msys64/usr/bin/dwp"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "gcc", path= "c:/tools/msys64/usr/bin/gcc"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "gcov", path= "c:/tools/msys64/usr/bin/gcov"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "ld", path= "c:/tools/msys64/usr/bin/ld"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "nm", path= "c:/tools/msys64/usr/bin/nm"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "objcopy", path= "c:/tools/msys64/usr/bin/objcopy"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "objdump", path= "c:/tools/msys64/usr/bin/objdump"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_path (name= "strip", path= "c:/tools/msys64/usr/bin/strip"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cxx_builtin_include_directories = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        # This is a workaround for https://github.com/bazelbuild/bazel/issues/5087. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\botcode\\w", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "c:/tools/msys64/usr/", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\VC\\INCLUDE", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\10\\include\\10.0.10240.0\\ucrt", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\shared", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\um", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "C:\\Program Files (x86)\\Windows Kits\\8.1\\include\\winrt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    action_configs = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    compile_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dbg_compile_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    opt_compile_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    cxx_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "-std=gnu++0x" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    link_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "-lstdc++" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    opt_link_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    unfiltered_compile_flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    targets_windows_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "targets_windows", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        implies = ["copy_dynamic_libraries_to_binary"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    copy_dynamic_libraries_to_binary_feature = feature(name= "copy_dynamic_libraries_to_binary") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    gcc_env_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "gcc_env", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        env_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            env_set ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_executable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_link_static_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                env_entries = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    env_entry(key = "PATH", value = "c:/tools/msys64/usr/bin") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    windows_features = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        targets_windows_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        copy_dynamic_libraries_to_binary_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        gcc_env_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports_pic_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "supports_pic", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports_start_end_lib_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "supports_start_end_lib", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default_compile_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "default_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = compile_flags)] if compile_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = dbg_compile_flags)] if dbg_compile_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                with_features = [with_feature_set(features = ["dbg"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = opt_compile_flags)] if opt_compile_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                with_features = [with_feature_set(features = ["opt"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = cxx_flags)] if cxx_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    default_link_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "default_link_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = link_flags)] if link_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = all_link_actions, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = opt_link_flags)] if opt_link_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                with_features = [with_feature_set(features = ["opt"])], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    dbg_feature = feature(name = "dbg") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    opt_feature = feature(name = "opt") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    sysroot_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_link_executable, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_link_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_link_nodeps_dynamic_library, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      flags = ["--sysroot=%{sysroot}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      expand_if_available = "sysroot", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    fdo_optimize_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "fdo_optimize", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ACTION_NAMES.c_compile, ACTION_NAMES.cpp_compile], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      flags = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "-fprofile-use=%{fdo_profile_path}", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        "-fprofile-correction", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      expand_if_available = "fdo_profile_path", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        provides = ["profile"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    supports_dynamic_linker_feature = feature(name = "supports_dynamic_linker", enabled = True) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    user_compile_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "user_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  flag_group( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      flags = ["%{user_compile_flags}"], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      iterate_over = "user_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                      expand_if_available = "user_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    unfiltered_compile_flags_feature = feature( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        name = "unfiltered_compile_flags", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        enabled = True, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        flag_sets = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            flag_set( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                actions = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.preprocess_assemble, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.linkstamp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.c_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_header_parsing, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_module_compile, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.cpp_module_codegen, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.lto_backend, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                  ACTION_NAMES.clif_match, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                flag_groups = ([flag_group(flags = unfiltered_compile_flags)] if unfiltered_compile_flags else []), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            ), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    features = windows_features + [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        supports_pic_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default_compile_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        default_link_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        fdo_optimize_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        supports_dynamic_linker_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        dbg_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        opt_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        user_compile_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        sysroot_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        unfiltered_compile_flags_feature, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    artifact_name_patterns = [ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_pattern(category_name="executable", prefix="", extension=".exe"), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    make_variables = [] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    return cc_common.create_cc_toolchain_config_info( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        ctx = ctx, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        features = features, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        action_configs = action_configs, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        artifact_name_patterns = artifact_name_patterns, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cxx_builtin_include_directories = cxx_builtin_include_directories, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        toolchain_identifier = "msys_x64", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        host_system_name = "local", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_system_name = "local", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_cpu = "x64_windows", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        target_libc = "msys", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        compiler = "msys-gcc", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        abi_version = "local", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        abi_libc_version = "local", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        tool_paths = tool_paths, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        make_variables = make_variables, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        builtin_sysroot = "", 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        cc_target_os = None, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+cc_toolchain_config = rule( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    implementation = _impl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    attrs = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "cpu" : attr.string(mandatory = True), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        "compiler": attr.string(), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    provides = [CcToolchainConfigInfo], 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+
 
			 |