Skip to content

Commit

Permalink
set sdk_version for selected xcode toolchain
Browse files Browse the repository at this point in the history
Summary: Set the correct min_version and target_sdk_version on the cxx_toolchain used by the selected Xcode toolchain.

Reviewed By: manicaesar

Differential Revision: D59824698

fbshipit-source-id: dee284d27cc7bfee7c79eba1257d4969742dfe47
  • Loading branch information
rmaz authored and facebook-github-bot committed Jul 23, 2024
1 parent 26a8b69 commit e0bcf03
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 4 deletions.
4 changes: 2 additions & 2 deletions prelude/cxx/cxx_toolchain.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ load("@prelude//cxx:cxx_utility.bzl", "cxx_toolchain_allow_cache_upload_args")
load("@prelude//cxx:debug.bzl", "SplitDebugMode")
load("@prelude//cxx:headers.bzl", "HeaderMode", "HeadersAsRawHeadersMode")
load("@prelude//cxx:linker.bzl", "LINKERS", "is_pdb_generated")
load("@prelude//cxx:target_sdk_version.bzl", "get_target_sdk_version")
load("@prelude//cxx:target_sdk_version.bzl", "get_toolchain_target_sdk_version")
load("@prelude//linking:link_info.bzl", "LinkOrdering", "LinkStyle")
load("@prelude//linking:lto.bzl", "LtoMode", "lto_compiler_flags")
load("@prelude//utils:utils.bzl", "flatten", "value_or")
Expand Down Expand Up @@ -177,7 +177,7 @@ def cxx_toolchain_impl(ctx):
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_target_sdk_version(ctx),
target_sdk_version = get_toolchain_target_sdk_version(ctx),
dist_lto_tools_info = ctx.attrs.dist_lto_tools[DistLtoToolsInfo],
)

Expand Down
2 changes: 1 addition & 1 deletion prelude/cxx/target_sdk_version.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def _version_is_greater(left: str, right: str) -> bool:

return len(left_components) > len(right_components)

def get_target_sdk_version(ctx: AnalysisContext) -> [None, str]:
def get_toolchain_target_sdk_version(ctx: AnalysisContext) -> [None, str]:
min_version = ctx.attrs.min_sdk_version
target_version = ctx.attrs.target_sdk_version
if min_version == None and target_version == None:
Expand Down
5 changes: 4 additions & 1 deletion prelude/cxx/user/cxx_toolchain_override.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ load("@prelude//cxx:cxx_utility.bzl", "cxx_toolchain_allow_cache_upload_args")
load("@prelude//cxx:debug.bzl", "SplitDebugMode")
load("@prelude//cxx:headers.bzl", "HeaderMode")
load("@prelude//cxx:linker.bzl", "is_pdb_generated")
load("@prelude//cxx:target_sdk_version.bzl", "get_toolchain_target_sdk_version")
load(
"@prelude//linking:link_info.bzl",
"LinkStyle",
Expand Down Expand Up @@ -169,7 +170,7 @@ def _cxx_toolchain_override(ctx):
strip_flags_info = strip_flags_info,
pic_behavior = PicBehavior(ctx.attrs.pic_behavior) if ctx.attrs.pic_behavior != None else base_toolchain.pic_behavior.value,
split_debug_mode = SplitDebugMode(value_or(ctx.attrs.split_debug_mode, base_toolchain.split_debug_mode.value)),
target_sdk_version = base_toolchain.target_sdk_version,
target_sdk_version = value_or(get_toolchain_target_sdk_version(ctx), base_toolchain.target_sdk_version),
)

cxx_toolchain_override_registration_spec = RuleRegistrationSpec(
Expand Down Expand Up @@ -208,6 +209,7 @@ cxx_toolchain_override_registration_spec = RuleRegistrationSpec(
"linker_type": attrs.option(attrs.enum(LinkerType), default = None),
"llvm_link": attrs.option(attrs.exec_dep(providers = [RunInfo]), default = None),
"lto_mode": attrs.option(attrs.enum(LtoMode.values()), default = None),
"min_sdk_version": attrs.option(attrs.string(), default = None),
"mk_comp_db": attrs.option(attrs.exec_dep(providers = [RunInfo]), default = None),
"mk_hmap": attrs.option(attrs.exec_dep(providers = [RunInfo]), default = None),
"mk_shlib_intf": attrs.option(attrs.exec_dep(providers = [RunInfo]), default = None),
Expand All @@ -231,6 +233,7 @@ cxx_toolchain_override_registration_spec = RuleRegistrationSpec(
"strip_all_flags": attrs.option(attrs.list(attrs.arg()), default = None),
"strip_debug_flags": attrs.option(attrs.list(attrs.arg()), default = None),
"strip_non_global_flags": attrs.option(attrs.list(attrs.arg()), default = None),
"target_sdk_version": attrs.option(attrs.string(), default = None),
"use_archiver_flags": attrs.option(attrs.bool(), default = None),
} | cxx_toolchain_allow_cache_upload_args(),
is_toolchain_rule = True,
Expand Down

0 comments on commit e0bcf03

Please sign in to comment.