Skip to content

Commit

Permalink
sort some cxx types
Browse files Browse the repository at this point in the history
Summary: Sort some provider fields and constants for nicer diffs adding new fields.

Reviewed By: IanChilds

Differential Revision: D69687372

fbshipit-source-id: ff646d50e00a8a1ba090bebd79a87ba7fc577fe6
  • Loading branch information
rmaz authored and facebook-github-bot committed Feb 18, 2025
1 parent b533487 commit 761aa30
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 76 deletions.
44 changes: 22 additions & 22 deletions prelude/cxx/cxx_toolchain.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -171,41 +171,41 @@ def cxx_toolchain_impl(ctx):
return [
DefaultInfo(),
] + cxx_toolchain_infos(
internal_tools = ctx.attrs._internal_tools[CxxInternalTools],
platform_name = platform_name,
platform_deps_aliases = ctx.attrs.platform_deps_aliases,
linker_info = linker_info,
as_compiler_info = as_info,
asm_compiler_info = asm_info,
binary_utilities_info = utilities_info,
bolt_enabled = value_or(ctx.attrs.bolt_enabled, False),
c_compiler_info = c_info,
cxx_compiler_info = cxx_info,
asm_compiler_info = asm_info,
as_compiler_info = as_info,
clang_remarks = ctx.attrs.clang_remarks,
clang_trace = value_or(ctx.attrs.clang_trace, False),
conflicting_header_basename_allowlist = ctx.attrs.conflicting_header_basename_exemptions,
cpp_dep_tracking_mode = DepTrackingMode(ctx.attrs.cpp_dep_tracking_mode),
cuda_compiler_info = cuda_info,
hip_compiler_info = hip_info,
cuda_dep_tracking_mode = DepTrackingMode(ctx.attrs.cuda_dep_tracking_mode),
cvtres_compiler_info = cvtres_info,
rc_compiler_info = rc_info,
cxx_compiler_info = cxx_info,
dumpbin_toolchain_path = ctx.attrs._dumpbin_toolchain_path[DefaultInfo].default_outputs[0] if ctx.attrs._dumpbin_toolchain_path else None,
gcno_files = value_or(ctx.attrs.gcno_files, False),
header_mode = _get_header_mode(ctx),
headers_as_raw_headers_mode = HeadersAsRawHeadersMode(ctx.attrs.headers_as_raw_headers_mode) if ctx.attrs.headers_as_raw_headers_mode != None else None,
hip_compiler_info = hip_info,
internal_tools = ctx.attrs._internal_tools[CxxInternalTools],
linker_info = linker_info,
lipo = ctx.attrs.lipo[RunInfo] if ctx.attrs.lipo else None,
llvm_link = ctx.attrs.llvm_link[RunInfo] if ctx.attrs.llvm_link else None,
object_format = CxxObjectFormat(object_format),
headers_as_raw_headers_mode = HeadersAsRawHeadersMode(ctx.attrs.headers_as_raw_headers_mode) if ctx.attrs.headers_as_raw_headers_mode != None else None,
raw_headers_as_headers_mode = RawHeadersAsHeadersMode(ctx.attrs.raw_headers_as_headers_mode) if ctx.attrs.raw_headers_as_headers_mode != None else None,
conflicting_header_basename_allowlist = ctx.attrs.conflicting_header_basename_exemptions,
optimization_compiler_flags_EXPERIMENTAL = ctx.attrs.optimization_compiler_flags_EXPERIMENTAL,
pic_behavior = PicBehavior(ctx.attrs.pic_behavior),
platform_deps_aliases = ctx.attrs.platform_deps_aliases,
platform_name = platform_name,
raw_headers_as_headers_mode = RawHeadersAsHeadersMode(ctx.attrs.raw_headers_as_headers_mode) if ctx.attrs.raw_headers_as_headers_mode != None else None,
rc_compiler_info = rc_info,
remap_cwd = ctx.attrs.remap_cwd,
split_debug_mode = SplitDebugMode(ctx.attrs.split_debug_mode),
strip_flags_info = strip_flags_info,
target_sdk_version = get_toolchain_target_sdk_version(ctx),
# TODO(T138705365): Turn on dep files by default
use_dep_files = value_or(ctx.attrs.use_dep_files, _get_default_use_dep_files(platform_name)),
clang_remarks = ctx.attrs.clang_remarks,
gcno_files = value_or(ctx.attrs.gcno_files, False),
clang_trace = value_or(ctx.attrs.clang_trace, False),
cpp_dep_tracking_mode = DepTrackingMode(ctx.attrs.cpp_dep_tracking_mode),
cuda_dep_tracking_mode = DepTrackingMode(ctx.attrs.cuda_dep_tracking_mode),
dumpbin_toolchain_path = ctx.attrs._dumpbin_toolchain_path[DefaultInfo].default_outputs[0] if ctx.attrs._dumpbin_toolchain_path else None,
target_sdk_version = get_toolchain_target_sdk_version(ctx),
lipo = ctx.attrs.lipo[RunInfo] if ctx.attrs.lipo else None,
remap_cwd = ctx.attrs.remap_cwd,
optimization_compiler_flags_EXPERIMENTAL = ctx.attrs.optimization_compiler_flags_EXPERIMENTAL,
)

def cxx_toolchain_extra_attributes(is_toolchain_rule):
Expand Down
107 changes: 53 additions & 54 deletions prelude/cxx/cxx_toolchain_types.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -131,14 +131,14 @@ _compiler_fields = [
"supports_two_phase_compilation",
]

HipCompilerInfo = provider(fields = _compiler_fields)
AsCompilerInfo = provider(fields = _compiler_fields)
AsmCompilerInfo = provider(fields = _compiler_fields)
CCompilerInfo = provider(fields = _compiler_fields)
CudaCompilerInfo = provider(fields = _compiler_fields)
CvtresCompilerInfo = provider(fields = _compiler_fields)
RcCompilerInfo = provider(fields = _compiler_fields)
CCompilerInfo = provider(fields = _compiler_fields)
CxxCompilerInfo = provider(fields = _compiler_fields)
AsmCompilerInfo = provider(fields = _compiler_fields)
AsCompilerInfo = provider(fields = _compiler_fields)
HipCompilerInfo = provider(fields = _compiler_fields)
RcCompilerInfo = provider(fields = _compiler_fields)

DistLtoToolsInfo = provider(fields = dict(
planner = dict[LinkerType, RunInfo],
Expand Down Expand Up @@ -190,41 +190,40 @@ PicBehavior = enum(
# could be provided by different dependencies? That would allow a target to
# only depend on the compilers it actually needs.
CxxToolchainInfo = provider(
# @unsorted-dict-items
fields = {
"internal_tools": provider_field(CxxInternalTools),
"conflicting_header_basename_allowlist": provider_field(typing.Any, default = None),
"use_distributed_thinlto": provider_field(typing.Any, default = None),
"header_mode": provider_field(typing.Any, default = None),
"headers_as_raw_headers_mode": provider_field(typing.Any, default = None),
"raw_headers_as_headers_mode": provider_field(typing.Any, default = None),
"linker_info": provider_field(typing.Any, default = None),
"object_format": provider_field(typing.Any, default = None),
"as_compiler_info": provider_field(typing.Any, default = None),
"asm_compiler_info": provider_field(typing.Any, default = None),
"binary_utilities_info": provider_field(typing.Any, default = None),
"bolt_enabled": provider_field(typing.Any, default = None),
"c_compiler_info": provider_field(typing.Any, default = None),
"cxx_compiler_info": provider_field(typing.Any, default = None),
"asm_compiler_info": provider_field(typing.Any, default = None),
"as_compiler_info": provider_field(typing.Any, default = None),
"hip_compiler_info": provider_field(typing.Any, default = None),
"cuda_compiler_info": provider_field(typing.Any, default = None),
"cvtres_compiler_info": provider_field(typing.Any, default = None),
"rc_compiler_info": provider_field(typing.Any, default = None),
"llvm_link": provider_field(typing.Any, default = None),
"use_dep_files": provider_field(typing.Any, default = None),
"clang_remarks": provider_field(typing.Any, default = None),
"gcno_files": provider_field(typing.Any, default = None),
"clang_trace": provider_field(typing.Any, default = None),
"conflicting_header_basename_allowlist": provider_field(typing.Any, default = None),
"cpp_dep_tracking_mode": provider_field(typing.Any, default = None),
"cuda_compiler_info": provider_field(typing.Any, default = None),
"cuda_dep_tracking_mode": provider_field(typing.Any, default = None),
"strip_flags_info": provider_field(typing.Any, default = None),
"split_debug_mode": provider_field(typing.Any, default = None),
"bolt_enabled": provider_field(typing.Any, default = None),
"pic_behavior": provider_field(typing.Any, default = None),
"cvtres_compiler_info": provider_field(typing.Any, default = None),
"cxx_compiler_info": provider_field(typing.Any, default = None),
"dumpbin_toolchain_path": provider_field(typing.Any, default = None),
"target_sdk_version": provider_field([str, None], default = None),
"gcno_files": provider_field(typing.Any, default = None),
"header_mode": provider_field(typing.Any, default = None),
"headers_as_raw_headers_mode": provider_field(typing.Any, default = None),
"hip_compiler_info": provider_field(typing.Any, default = None),
"internal_tools": provider_field(CxxInternalTools),
"linker_info": provider_field(typing.Any, default = None),
"lipo": provider_field([RunInfo, None], default = None),
"remap_cwd": provider_field(bool, default = False),
"llvm_link": provider_field(typing.Any, default = None),
"object_format": provider_field(typing.Any, default = None),
"optimization_compiler_flags_EXPERIMENTAL": provider_field(typing.Any, default = []),
"pic_behavior": provider_field(typing.Any, default = None),
"raw_headers_as_headers_mode": provider_field(typing.Any, default = None),
"rc_compiler_info": provider_field(typing.Any, default = None),
"remap_cwd": provider_field(bool, default = False),
"split_debug_mode": provider_field(typing.Any, default = None),
"strip_flags_info": provider_field(typing.Any, default = None),
"target_sdk_version": provider_field([str, None], default = None),
"use_dep_files": provider_field(typing.Any, default = None),
"use_distributed_thinlto": provider_field(typing.Any, default = None),
},
)

Expand Down Expand Up @@ -293,39 +292,39 @@ def cxx_toolchain_infos(
_validate_linker_info(linker_info)

toolchain_info = CxxToolchainInfo(
internal_tools = internal_tools,
conflicting_header_basename_allowlist = conflicting_header_basename_allowlist,
header_mode = header_mode,
headers_as_raw_headers_mode = headers_as_raw_headers_mode,
raw_headers_as_headers_mode = raw_headers_as_headers_mode,
linker_info = linker_info,
llvm_link = llvm_link,
as_compiler_info = as_compiler_info,
asm_compiler_info = asm_compiler_info,
binary_utilities_info = binary_utilities_info,
bolt_enabled = bolt_enabled,
c_compiler_info = c_compiler_info,
cxx_compiler_info = cxx_compiler_info,
asm_compiler_info = asm_compiler_info,
as_compiler_info = as_compiler_info,
hip_compiler_info = hip_compiler_info,
cuda_compiler_info = cuda_compiler_info,
cvtres_compiler_info = cvtres_compiler_info,
rc_compiler_info = rc_compiler_info,
object_format = object_format,
use_distributed_thinlto = use_distributed_thinlto,
use_dep_files = use_dep_files,
clang_remarks = clang_remarks,
gcno_files = gcno_files,
clang_trace = clang_trace,
conflicting_header_basename_allowlist = conflicting_header_basename_allowlist,
cpp_dep_tracking_mode = cpp_dep_tracking_mode,
cuda_compiler_info = cuda_compiler_info,
cuda_dep_tracking_mode = cuda_dep_tracking_mode,
strip_flags_info = strip_flags_info,
split_debug_mode = split_debug_mode,
bolt_enabled = bolt_enabled,
pic_behavior = pic_behavior,
cvtres_compiler_info = cvtres_compiler_info,
cxx_compiler_info = cxx_compiler_info,
dumpbin_toolchain_path = dumpbin_toolchain_path,
target_sdk_version = target_sdk_version,
gcno_files = gcno_files,
header_mode = header_mode,
headers_as_raw_headers_mode = headers_as_raw_headers_mode,
hip_compiler_info = hip_compiler_info,
internal_tools = internal_tools,
linker_info = linker_info,
lipo = lipo,
remap_cwd = remap_cwd,
llvm_link = llvm_link,
object_format = object_format,
optimization_compiler_flags_EXPERIMENTAL = optimization_compiler_flags_EXPERIMENTAL,
pic_behavior = pic_behavior,
raw_headers_as_headers_mode = raw_headers_as_headers_mode,
rc_compiler_info = rc_compiler_info,
remap_cwd = remap_cwd,
split_debug_mode = split_debug_mode,
strip_flags_info = strip_flags_info,
target_sdk_version = target_sdk_version,
use_dep_files = use_dep_files,
use_distributed_thinlto = use_distributed_thinlto,
)

# Provide placeholder mappings, used primarily by cxx_genrule.
Expand Down

0 comments on commit 761aa30

Please sign in to comment.