-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Description
Flag: --incompatible_provide_cc_toolchain_info_from_cc_toolchain_suite
Available since: 0.20
Will be flipped in: 0.21
Enclosing tracking issue: #6072
In the past, cc_toolchain was selected during the configuration construction, and we want to move it the proper analysis phase. For that we need to change which rule provides CcToolchainInfo. Before it was cc_toolchain, now it will be cc_toolchain_suite. This will be mostly invisible change, things like ctx.fragments.cpp.cc_toolchain configuration field, cc_toolchain_alias, and find_cpp_toolchain will keep working transparently.
To refresh your understanding of how C++ specific toolchain selection works, see the docs.
Observable changes:
- Label of the resolved target aliased by
//tools/cpp:current_cc_toolchainwill be different rule.kindwill becc_toolchain_suite, notcc_toolchain.
Migration notes:
Unfortunately there is no domain-independent solution.
Important note:
C++ rules will migrate to platforms in 2019. When that happens, cc_toolchain_suite will be removed, and generic toolchain selection mechanism will be used. When we get there, we will again provide CcToolchainInfo from cc_toolchain. Therefore we advice you to make your code work with both cc_toolchain and cc_toolchain_suite, to save you from the future migration.