-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Closed
Labels
P1I'll work on this now. (Assignee required)I'll work on this now. (Assignee required)incompatible-changeIncompatible/breaking changeIncompatible/breaking changeteam-Rules-CPPIssues for C++ rulesIssues for C++ rules
Description
Flag: --incompatible_make_thinlto_command_lines_standalone
Available since: 0.26
Will be flipped in: 1.0
Motivation
Before this flag, lto-indexing action reuses flags from plain C++ linking actions. lto-backend uses GCC tool from tool_paths, not action configs as it should. Because of this it's unnecessary hard to configure C++ toolchain that supports ThinLTO. Once this flag is flipped, we'll document how to configure C++ toolchain for ThinLTO, and add support for ThinLTO into Bazel's autoconfigured toolchain as part of #6926.
Migration
If your toolchain doesn't support ThinLTO you don't have to do anything. In case it does:
- You have to define action configs for these actions:
lto-backendlto-index-for-executablelto-index-for-dynamic-librarylto-index-for-nodeps-dynamic-library
- You have to mention these actions in all flag sets that you want to be expanded for lto.
- Once this flag is flipped, you can remove mentions of
lto-indexingin your toolchain, it will no longer be used by Bazel.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P1I'll work on this now. (Assignee required)I'll work on this now. (Assignee required)incompatible-changeIncompatible/breaking changeIncompatible/breaking changeteam-Rules-CPPIssues for C++ rulesIssues for C++ rules