-
Notifications
You must be signed in to change notification settings - Fork 4.4k
Closed
Labels
P2We'll consider working on this in future. (Assignee optional)We'll consider working on this in future. (Assignee optional)incompatible-changeIncompatible/breaking changeIncompatible/breaking changeteam-Rules-CPPIssues for C++ rulesIssues for C++ rules
Description
cc_toolchain has attributes corresponding to various toolchain components like ar_files, compiler_files, and as_files. Previously, Bazel used broad file groups like all_files as inputs for several classes of actions and ignored the more specific toolchain attributes. --incompatible_use_specific_tool_files brings these attributes into use.
Namely, under this flag:
- C and C++ compilation actions use
compiler_filesrather thanall_files. - Static library-generating actions use
ar_filesrather thanlinker_files. - Non-processed assembler actions use
as_filesrather thanall_files. Preprocessed assembly actions usecompiler_filesbecause preprocessing is usually done by the C compiler.
Relevant issues: #6927, #6928.
Migration
For every cc_toolchain rule, ensure
compiler_filescontains the compiler binary and standard library header files if necessaryas_filesincludes the assembler (e.g.,gas)ar_filesincludes the static archive tool (e.g.,ar)
Expected timeline
Disabled by default in 0.27.
Enabled in the September 2019 release.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
P2We'll consider working on this in future. (Assignee optional)We'll consider working on this in future. (Assignee optional)incompatible-changeIncompatible/breaking changeIncompatible/breaking changeteam-Rules-CPPIssues for C++ rulesIssues for C++ rules