)]}'
{
  "commit": "5eeedeb388c18cba2855e8936ac387739f9aa03d",
  "tree": "a03ac89b1e27f6b473efacc251e2d82a519a26c7",
  "parents": [
    "97e2922a84c5145ce9bfd147d42e451c4346ac89"
  ],
  "author": {
    "name": "Googler",
    "email": "trybka@google.com",
    "time": "Wed Jul 01 12:46:24 2026 -0700"
  },
  "committer": {
    "name": "Copybara-Service",
    "email": "copybara-worker@google.com",
    "time": "Wed Jul 01 12:47:09 2026 -0700"
  },
  "message": "Support the new(ish) `@//tools/cpp:cc_runtimes_toolchain_type` toolchain for adding runtimes-on-demand.\n* Add `get_cc_runtimes` and `get_cc_runtimes_copts` implementations to `cc_helper[_internal]`.\n* TODO update usage in `rules_python` and others to call `cc_helper` and deprecate `semantics.get_cc_runtimes*`\n\nBasic Usage:\n\nDefine a provider like:\n```\nCcRuntimesInfo \u003d provider(\n    doc \u003d \"Information about runtime libraries to link into c++ targets.\",\n    fields \u003d [\"runtimes\", \"copts\"],\n)\n```\n\nDefine a toolchain that returns that provider:\n```\ndef _cc_runtimes_toolchain_impl(ctx):\n    return [platform_common.ToolchainInfo(\n        cc_runtimes_info \u003d CcRuntimesInfo(\n            runtimes \u003d ctx.attr.runtimes,\n            copts \u003d ctx.attr.copts,\n        ),\n    )]\n```\n* `runtimes` is a collection of CcInfo providing targets\n* `copts` provides compilation flags that must be used alongside this toolchain, e.g. to influence include ordering.\n\nThis may be used, e.g. in rules_android_ndk: https://github.com/bazelbuild/rules_android_ndk/issues/93\n\nPiperOrigin-RevId: 941244580\nChange-Id: I31bade595714dbe44aa0d70afaa97ddd788e5635\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "92483ac6db487fb7f8ca248579d00f3f92e9c93c",
      "old_mode": 33188,
      "old_path": "cc/common/cc_helper.bzl",
      "new_id": "115052afa1807d49f83cb47500b13e45539dc08e",
      "new_mode": 33188,
      "new_path": "cc/common/cc_helper.bzl"
    },
    {
      "type": "modify",
      "old_id": "735e050f2d4c34c9be6ca27fc29b1eb82a2ad313",
      "old_mode": 33188,
      "old_path": "cc/common/cc_helper_internal.bzl",
      "new_id": "df6b198de7233bca7f815475a6cb8a463878800f",
      "new_mode": 33188,
      "new_path": "cc/common/cc_helper_internal.bzl"
    },
    {
      "type": "modify",
      "old_id": "0b208c7fc5f3609db6d762bb52c4652b0c48cf21",
      "old_mode": 33188,
      "old_path": "cc/common/semantics.bzl",
      "new_id": "267259a6c973ca0153c067321ab42d9fa24e2cba",
      "new_mode": 33188,
      "new_path": "cc/common/semantics.bzl"
    },
    {
      "type": "modify",
      "old_id": "6659384987b857f3b8cb13ea48bb0956c070e5e6",
      "old_mode": 33188,
      "old_path": "cc/private/rules_impl/cc_binary_impl.bzl",
      "new_id": "3325e930ba208b05401b52e803f94dad72f227bc",
      "new_mode": 33188,
      "new_path": "cc/private/rules_impl/cc_binary_impl.bzl"
    },
    {
      "type": "modify",
      "old_id": "6574b691832cd33fe28fba04288e385558361fbe",
      "old_mode": 33188,
      "old_path": "cc/private/rules_impl/cc_import.bzl",
      "new_id": "b1fd6fbbe7b395dbff71659891ee19f70396c487",
      "new_mode": 33188,
      "new_path": "cc/private/rules_impl/cc_import.bzl"
    },
    {
      "type": "modify",
      "old_id": "83b21c45c448b1de5fe6ad2bddb763c32f9f840e",
      "old_mode": 33261,
      "old_path": "cc/private/rules_impl/cc_library_impl.bzl",
      "new_id": "2005486ef501a775c7862510331899d504c4abc9",
      "new_mode": 33261,
      "new_path": "cc/private/rules_impl/cc_library_impl.bzl"
    },
    {
      "type": "modify",
      "old_id": "188b42e30c4997f306cdae4aa23908302a82949b",
      "old_mode": 33188,
      "old_path": "cc/private/rules_impl/cc_shared_library_impl.bzl",
      "new_id": "905c52a21b22004a1f58288dfe2e3aa7e2ac0877",
      "new_mode": 33188,
      "new_path": "cc/private/rules_impl/cc_shared_library_impl.bzl"
    },
    {
      "type": "modify",
      "old_id": "4e9bdfbf90ef39f2fd655cc0f3a4265891c774d6",
      "old_mode": 33188,
      "old_path": "cc/private/rules_impl/objc_compilation_support.bzl",
      "new_id": "b49719355513521a9e6b30c4682c90dd53ad51ab",
      "new_mode": 33188,
      "new_path": "cc/private/rules_impl/objc_compilation_support.bzl"
    },
    {
      "type": "modify",
      "old_id": "b4fd7c2116487d870ccc57bb914b32c3f304d9ad",
      "old_mode": 33188,
      "old_path": "tests/cc/common/cc_binary_configured_target_tests.bzl",
      "new_id": "6d46286737be679ce665aecd909debfd7aab27ff",
      "new_mode": 33188,
      "new_path": "tests/cc/common/cc_binary_configured_target_tests.bzl"
    }
  ]
}
