diff --git a/cc/private/toolchain/BUILD.tpl b/cc/private/toolchain/BUILD.tpl
index d40f7f5..9241326 100644
--- a/cc/private/toolchain/BUILD.tpl
+++ b/cc/private/toolchain/BUILD.tpl
@@ -38,7 +38,7 @@
 
 filegroup(
     name = "compiler_deps",
-    srcs = glob(["extra_tools/**"], allow_empty = True) + ["%{cc_compiler_deps}"],
+    srcs = glob(["extra_tools/**"], allow_empty = True) + [%{cc_compiler_deps}],
 )
 
 # This is the entry point for --crosstool_top.  Toolchains are found
diff --git a/cc/private/toolchain/BUILD.windows.tpl b/cc/private/toolchain/BUILD.windows.tpl
index 7295700..66dbafd 100644
--- a/cc/private/toolchain/BUILD.windows.tpl
+++ b/cc/private/toolchain/BUILD.windows.tpl
@@ -28,6 +28,21 @@
     srcs = [],
 )
 
+filegroup(
+    name = "mingw_compiler_files",
+    srcs = [":builtin_include_directory_paths_mingw"]
+)
+
+filegroup(
+    name = "clangcl_compiler_files",
+    srcs = [":builtin_include_directory_paths_clangcl"]
+)
+
+filegroup(
+    name = "msvc_compiler_files",
+    srcs = [":builtin_include_directory_paths_msvc"]
+)
+
 # Hardcoded toolchain, legacy behaviour.
 cc_toolchain_suite(
     name = "toolchain",
@@ -49,8 +64,8 @@
     toolchain_config = ":msys_x64",
     all_files = ":empty",
     ar_files = ":empty",
-    as_files = ":empty",
-    compiler_files = ":empty",
+    as_files = ":mingw_compiler_files",
+    compiler_files = ":mingw_compiler_files",
     dwp_files = ":empty",
     linker_files = ":empty",
     objcopy_files = ":empty",
@@ -95,8 +110,8 @@
     toolchain_config = ":msys_x64_mingw",
     all_files = ":empty",
     ar_files = ":empty",
-    as_files = ":empty",
-    compiler_files = ":empty",
+    as_files = ":mingw_compiler_files",
+    compiler_files = ":mingw_compiler_files",
     dwp_files = ":empty",
     linker_files = ":empty",
     objcopy_files = ":empty",
@@ -141,8 +156,8 @@
     toolchain_config = ":msvc_x64",
     all_files = ":empty",
     ar_files = ":empty",
-    as_files = ":empty",
-    compiler_files = ":empty",
+    as_files = ":msvc_compiler_files",
+    compiler_files = ":msvc_compiler_files",
     dwp_files = ":empty",
     linker_files = ":empty",
     objcopy_files = ":empty",
@@ -206,8 +221,8 @@
     toolchain_config = ":clang_cl_x64",
     all_files = ":empty",
     ar_files = ":empty",
-    as_files = ":empty",
-    compiler_files = ":empty",
+    as_files = ":clangcl_compiler_files",
+    compiler_files = ":clangcl_compiler_files",
     dwp_files = ":empty",
     linker_files = ":empty",
     objcopy_files = ":empty",
diff --git a/cc/private/toolchain/cc_configure.bzl b/cc/private/toolchain/cc_configure.bzl
index 3ef32bf..1c25484 100644
--- a/cc/private/toolchain/cc_configure.bzl
+++ b/cc/private/toolchain/cc_configure.bzl
@@ -82,6 +82,7 @@
         "BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN",
     ],
     implementation = cc_autoconf_toolchains_impl,
+    configure = True,
 )
 
 def cc_autoconf_impl(repository_ctx, overriden_tools = dict()):
@@ -158,6 +159,7 @@
         "BAZEL_DO_NOT_DETECT_CPP_TOOLCHAIN",
         "BAZEL_USE_LLVM_NATIVE_COVERAGE",
         "BAZEL_LLVM",
+        "BAZEL_IGNORE_SYSTEM_HEADERS_VERSIONS",
         "USE_CLANG_CL",
         "CC",
         "CC_CONFIGURE_DEBUG",
@@ -168,6 +170,7 @@
         "SYSTEMROOT",
     ] + MSVC_ENVVARS,
     implementation = cc_autoconf_impl,
+    configure = True,
 )
 
 def cc_configure():
diff --git a/cc/private/toolchain/lib_cc_configure.bzl b/cc/private/toolchain/lib_cc_configure.bzl
index 789018f..fbce23b 100644
--- a/cc/private/toolchain/lib_cc_configure.bzl
+++ b/cc/private/toolchain/lib_cc_configure.bzl
@@ -209,6 +209,7 @@
     return "\n".join(["        flag: '" + flag + "'" for flag in flags])
 
 def get_starlark_list(values):
+    """Convert a list of string into a string that can be passed to a rule attribute."""
     if not values:
         return ""
     return "\"" + "\",\n    \"".join(values) + "\""
@@ -217,3 +218,26 @@
     """Output warning message when CC_CONFIGURE_DEBUG is enabled."""
     if is_cc_configure_debug(repository_ctx):
         auto_configure_warning(msg)
+
+def write_builtin_include_directory_paths(repository_ctx, cc, directories, file_suffix = ""):
+    """Generate output file named 'builtin_include_directory_paths' in the root of the repository."""
+    if get_env_var(repository_ctx, "BAZEL_IGNORE_SYSTEM_HEADERS_VERSIONS", "0", False) == "1":
+        repository_ctx.file(
+            "builtin_include_directory_paths" + file_suffix,
+            """This file is generated by cc_configure and normally contains builtin include directories
+that C++ compiler reported. But because BAZEL_IGNORE_SYSTEM_HEADERS_VERSIONS was set to 1,
+header include directory paths are intentionally not put there.
+""",
+        )
+    else:
+        repository_ctx.file(
+            "builtin_include_directory_paths" + file_suffix,
+            """This file is generated by cc_configure and contains builtin include directories
+that %s reported. This file is a dependency of every compilation action and
+changes to it will be reflected in the action cache key. When some of these
+paths change, Bazel will make sure to rerun the action, even though none of
+declared action inputs or the action commandline changes.
+
+%s
+""" % (cc, "\n".join(directories)),
+        )
diff --git a/cc/private/toolchain/osx_cc_configure.bzl b/cc/private/toolchain/osx_cc_configure.bzl
index e40b4e4..716d5b2 100644
--- a/cc/private/toolchain/osx_cc_configure.bzl
+++ b/cc/private/toolchain/osx_cc_configure.bzl
@@ -19,6 +19,7 @@
     "@rules_cc//cc/private/toolchain:lib_cc_configure.bzl",
     "escape_string",
     "resolve_labels",
+    "write_builtin_include_directory_paths",
 )
 load(
     "@rules_cc//cc/private/toolchain:unix_cc_configure.bzl",
@@ -134,6 +135,7 @@
                  error_msg)
 
         escaped_include_paths = _get_escaped_xcode_cxx_inc_directories(repository_ctx, cc, xcode_toolchains)
+        write_builtin_include_directory_paths(repository_ctx, cc, escaped_include_paths)
         escaped_cxx_include_directories = []
         for path in escaped_include_paths:
             escaped_cxx_include_directories.append(("        \"%s\"," % path))
diff --git a/cc/private/toolchain/unix_cc_configure.bzl b/cc/private/toolchain/unix_cc_configure.bzl
index 58b31bb..a62afd9 100644
--- a/cc/private/toolchain/unix_cc_configure.bzl
+++ b/cc/private/toolchain/unix_cc_configure.bzl
@@ -25,6 +25,7 @@
     "resolve_labels",
     "split_escaped",
     "which",
+    "write_builtin_include_directory_paths",
 )
 
 def _field(name, value):
@@ -388,7 +389,24 @@
         bin_search_flag = []
 
     coverage_compile_flags, coverage_link_flags = _coverage_flags(repository_ctx, darwin)
+    builtin_include_directories = _uniq(
+        get_escaped_cxx_inc_directories(repository_ctx, cc, "-xc") +
+        get_escaped_cxx_inc_directories(repository_ctx, cc, "-xc++", cxx_opts) +
+        get_escaped_cxx_inc_directories(
+            repository_ctx,
+            cc,
+            "-xc",
+            _get_no_canonical_prefixes_opt(repository_ctx, cc),
+        ) +
+        get_escaped_cxx_inc_directories(
+            repository_ctx,
+            cc,
+            "-xc++",
+            cxx_opts + _get_no_canonical_prefixes_opt(repository_ctx, cc),
+        ),
+    )
 
+    write_builtin_include_directory_paths(repository_ctx, cc, builtin_include_directories)
     repository_ctx.template(
         "BUILD",
         paths["@rules_cc//cc/private/toolchain:BUILD.tpl"],
@@ -396,7 +414,9 @@
             "%{cc_toolchain_identifier}": cc_toolchain_identifier,
             "%{name}": cpu_value,
             "%{supports_param_files}": "0" if darwin else "1",
-            "%{cc_compiler_deps}": ":cc_wrapper" if darwin else ":empty",
+            "%{cc_compiler_deps}": get_starlark_list([":builtin_include_directory_paths"] + (
+                [":cc_wrapper"] if darwin else []
+            )),
             "%{compiler}": escape_string(get_env_var(
                 repository_ctx,
                 "BAZEL_COMPILER",
@@ -442,24 +462,7 @@
             "%{tool_paths}": ",\n        ".join(
                 ['"%s": "%s"' % (k, v) for k, v in tool_paths.items()],
             ),
-            "%{cxx_builtin_include_directories}": get_starlark_list(
-                _uniq(
-                    get_escaped_cxx_inc_directories(repository_ctx, cc, "-xc") +
-                    get_escaped_cxx_inc_directories(repository_ctx, cc, "-xc++", cxx_opts) +
-                    get_escaped_cxx_inc_directories(
-                        repository_ctx,
-                        cc,
-                        "-xc",
-                        _get_no_canonical_prefixes_opt(repository_ctx, cc),
-                    ) +
-                    get_escaped_cxx_inc_directories(
-                        repository_ctx,
-                        cc,
-                        "-xc++",
-                        cxx_opts + _get_no_canonical_prefixes_opt(repository_ctx, cc),
-                    ),
-                ),
-            ),
+            "%{cxx_builtin_include_directories}": get_starlark_list(builtin_include_directories),
             "%{compile_flags}": get_starlark_list(
                 [
                     # Security hardening requires optimization.
diff --git a/cc/private/toolchain/windows_cc_configure.bzl b/cc/private/toolchain/windows_cc_configure.bzl
index a151beb..bd2c72e 100644
--- a/cc/private/toolchain/windows_cc_configure.bzl
+++ b/cc/private/toolchain/windows_cc_configure.bzl
@@ -22,6 +22,7 @@
     "escape_string",
     "execute",
     "resolve_labels",
+    "write_builtin_include_directory_paths",
 )
 
 def _get_path_env_var(repository_ctx, name):
@@ -476,6 +477,7 @@
     """Get the variables we need to populate the msys/mingw toolchains."""
     tool_paths, tool_bin_path, inc_dir_msys = _get_escaped_windows_msys_starlark_content(repository_ctx)
     tool_paths_mingw, tool_bin_path_mingw, inc_dir_mingw = _get_escaped_windows_msys_starlark_content(repository_ctx, use_mingw = True)
+    write_builtin_include_directory_paths(repository_ctx, "mingw", [inc_dir_mingw], file_suffix = "_mingw")
     msys_mingw_vars = {
         "%{cxx_builtin_include_directories}": inc_dir_msys,
         "%{mingw_cxx_builtin_include_directories}": inc_dir_mingw,
@@ -514,6 +516,7 @@
             )
 
     if not vc_path or missing_tools:
+        write_builtin_include_directory_paths(repository_ctx, "msvc", [], file_suffix = "_msvc")
         msvc_vars = {
             "%{msvc_env_tmp}": "msvc_not_found",
             "%{msvc_env_path}": "msvc_not_found",
@@ -569,6 +572,7 @@
 
     support_debug_fastlink = _is_support_debug_fastlink(repository_ctx, link_path)
 
+    write_builtin_include_directory_paths(repository_ctx, "msvc", escaped_cxx_include_directories, file_suffix = "_msvc")
     msvc_vars = {
         "%{msvc_env_tmp}": escaped_tmp_dir,
         "%{msvc_env_path}": escaped_paths,
@@ -609,12 +613,13 @@
             ])
             repository_ctx.template(
                 "clang_installation_error.bat",
-                paths["@rules_cc//cc/private/toolchain:clang_installation_error.bat.tpl"],
+                paths["@bazel_tools//tools/cpp:clang_installation_error.bat.tpl"],
                 {"%{clang_error_message}": message},
             )
             error_script = "clang_installation_error.bat"
 
     if error_script:
+        write_builtin_include_directory_paths(repository_ctx, "clang-cl", [], file_suffix = "_clangcl")
         clang_cl_vars = {
             "%{clang_cl_env_tmp}": "clang_cl_not_found",
             "%{clang_cl_env_path}": "clang_cl_not_found",
@@ -639,12 +644,14 @@
     clang_include_path = (clang_dir + "\\include").replace("\\", "\\\\")
     clang_lib_path = (clang_dir + "\\lib\\windows").replace("\\", "\\\\")
 
+    clang_cl_include_directories = msvc_vars["%{msvc_cxx_builtin_include_directories}"] + (",\n        \"%s\"" % clang_include_path)
+    write_builtin_include_directory_paths(repository_ctx, "clang-cl", [clang_cl_include_directories], file_suffix = "_clangcl")
     clang_cl_vars = {
         "%{clang_cl_env_tmp}": msvc_vars["%{msvc_env_tmp}"],
         "%{clang_cl_env_path}": msvc_vars["%{msvc_env_path}"],
         "%{clang_cl_env_include}": msvc_vars["%{msvc_env_include}"] + ";" + clang_include_path,
         "%{clang_cl_env_lib}": msvc_vars["%{msvc_env_lib}"] + ";" + clang_lib_path,
-        "%{clang_cl_cxx_builtin_include_directories}": msvc_vars["%{msvc_cxx_builtin_include_directories}"] + (",\n        \"%s\"" % clang_include_path),
+        "%{clang_cl_cxx_builtin_include_directories}": clang_cl_include_directories,
         "%{clang_cl_cl_path}": clang_cl_path,
         "%{clang_cl_link_path}": lld_link_path,
         "%{clang_cl_lib_path}": llvm_lib_path,
