3838 "//apple/internal:experimental.bzl" ,
3939 "is_experimental_tree_artifact_enabled" ,
4040)
41+ load (
42+ "//apple/internal:features_support.bzl" ,
43+ "features_support" ,
44+ )
4145load (
4246 "//apple/internal:framework_import_support.bzl" ,
4347 "framework_import_support" ,
@@ -486,18 +490,19 @@ def _apple_dynamic_xcframework_import_impl(ctx):
486490 apple_fragment = ctx .fragments .apple
487491 apple_mac_toolchain_info = ctx .attr ._mac_toolchain [AppleMacToolsToolchainInfo ]
488492 apple_xplat_toolchain_info = ctx .attr ._xplat_toolchain [AppleXPlatToolsToolchainInfo ]
493+ cc_configured_features = features_support .cc_configured_features (
494+ ctx = ctx ,
495+ )
489496 cc_toolchain = find_cpp_toolchain (ctx )
490497 deps = ctx .attr .deps
491- disabled_features = ctx .disabled_features
492- features = ctx .features
498+ features = cc_configured_features .enabled_features
493499 label = ctx .label
494500 xcframework_imports = ctx .files .xcframework_imports
495501 xcode_config = ctx .attr ._xcode_config [apple_common .XcodeVersionConfig ]
496502
497503 secure_features_support .validate_expected_secure_features (
498- disabled_features = disabled_features ,
504+ cc_configured_features = cc_configured_features ,
499505 expected_secure_features = ctx .attr .expected_secure_features ,
500- features = features ,
501506 rule_label = label ,
502507 )
503508
@@ -550,11 +555,9 @@ def _apple_dynamic_xcframework_import_impl(ctx):
550555 # Create CcInfo provider
551556 cc_info = framework_import_support .cc_info_with_dependencies (
552557 actions = actions ,
558+ cc_configured_features = cc_configured_features ,
553559 cc_toolchain = cc_toolchain ,
554- ctx = ctx ,
555560 deps = deps ,
556- disabled_features = disabled_features ,
557- features = features ,
558561 framework_includes = xcframework_library .framework_includes ,
559562 header_imports = xcframework_library .headers ,
560563 kind = "dynamic" ,
@@ -579,8 +582,8 @@ def _apple_dynamic_xcframework_import_impl(ctx):
579582 actions = actions ,
580583 ctx = ctx ,
581584 deps = deps ,
582- disabled_features = disabled_features ,
583- features = features ,
585+ disabled_features = cc_configured_features . unsupported_features ,
586+ features = cc_configured_features . requested_features ,
584587 module_name = xcframework .bundle_name ,
585588 swift_toolchain = swift_toolchain ,
586589 swiftinterface_file = xcframework_library .swift_module_interface ,
@@ -605,20 +608,21 @@ def _apple_static_xcframework_import_impl(ctx):
605608 apple_fragment = ctx .fragments .apple
606609 apple_mac_toolchain_info = ctx .attr ._mac_toolchain [AppleMacToolsToolchainInfo ]
607610 apple_xplat_toolchain_info = ctx .attr ._xplat_toolchain [AppleXPlatToolsToolchainInfo ]
611+ cc_configured_features = features_support .cc_configured_features (
612+ ctx = ctx ,
613+ )
608614 cc_toolchain = find_cpp_toolchain (ctx )
609615 deps = ctx .attr .deps
610- disabled_features = ctx .disabled_features
611- features = ctx .features
616+ features = cc_configured_features .enabled_features
612617 has_swift = ctx .attr .has_swift
613618 label = ctx .label
614619 linkopts = ctx .attr .linkopts
615620 xcframework_imports = ctx .files .xcframework_imports
616621 xcode_config = ctx .attr ._xcode_config [apple_common .XcodeVersionConfig ]
617622
618623 secure_features_support .validate_expected_secure_features (
619- disabled_features = disabled_features ,
624+ cc_configured_features = cc_configured_features ,
620625 expected_secure_features = ctx .attr .expected_secure_features ,
621- features = features ,
622626 rule_label = label ,
623627 )
624628
@@ -695,11 +699,9 @@ def _apple_static_xcframework_import_impl(ctx):
695699 actions = actions ,
696700 additional_cc_infos = additional_cc_infos ,
697701 alwayslink = alwayslink ,
702+ cc_configured_features = cc_configured_features ,
698703 cc_toolchain = cc_toolchain ,
699- ctx = ctx ,
700704 deps = deps ,
701- disabled_features = disabled_features ,
702- features = features ,
703705 header_imports = xcframework_library .headers ,
704706 kind = "static" ,
705707 label = label ,
@@ -720,8 +722,8 @@ def _apple_static_xcframework_import_impl(ctx):
720722 actions = actions ,
721723 ctx = ctx ,
722724 deps = deps ,
723- disabled_features = disabled_features ,
724- features = features ,
725+ disabled_features = cc_configured_features . unsupported_features ,
726+ features = cc_configured_features . requested_features ,
725727 module_name = xcframework .bundle_name ,
726728 swift_toolchain = swift_toolchain ,
727729 swiftinterface_file = xcframework_library .swift_module_interface ,
0 commit comments