From ab5be7d26cd0e88af99fc9619786b028af33d3bb Mon Sep 17 00:00:00 2001 From: Luis Padron Date: Thu, 7 Mar 2024 00:44:31 -0500 Subject: [PATCH] DROP: cherry-pick #848 --- rules/framework.bzl | 11 +++++++---- rules/framework/BUILD.bazel | 1 + rules/framework/vfs_overlay.bzl | 4 +++- rules/precompiled_apple_resource_bundle.bzl | 5 +++-- 4 files changed, 14 insertions(+), 7 deletions(-) diff --git a/rules/framework.bzl b/rules/framework.bzl index b8f9e724..06cb102c 100644 --- a/rules/framework.bzl +++ b/rules/framework.bzl @@ -588,7 +588,7 @@ def _merge_root_infoplists(ctx): bundle_name = ctx.attr.framework_name current_apple_platform = transition_support.current_apple_platform(apple_fragment = ctx.fragments.apple, xcode_config = ctx.attr._xcode_config) platform_type = str(current_apple_platform.platform.platform_type) - apple_mac_toolchain_info = ctx.attr._toolchain[AppleMacToolsToolchainInfo] + apple_mac_toolchain_info = ctx.attr._mac_toolchain[AppleMacToolsToolchainInfo] if hasattr(rule_support, "rule_descriptor_no_ctx"): descriptor_fn = rule_support.rule_descriptor_no_ctx else: @@ -662,7 +662,7 @@ def _bundle_dynamic_framework(ctx, is_extension_safe, avoid_deps): Currently, this doesn't include headers or other interface files. """ actions = ctx.actions - apple_mac_toolchain_info = ctx.attr._toolchain[AppleMacToolsToolchainInfo] + apple_mac_toolchain_info = ctx.attr._mac_toolchain[AppleMacToolsToolchainInfo] apple_xplat_toolchain_info = ctx.attr._xplat_toolchain[AppleXPlatToolsToolchainInfo] bin_root_path = ctx.bin_dir.path bundle_id = ctx.attr.bundle_id @@ -1235,13 +1235,15 @@ the framework as a dependency.""", default = "@bazel_tools//tools/allowlists/function_transition_allowlist", doc = "Needed to allow this rule to have an incoming edge configuration transition.", ), - "_toolchain": attr.label( + "_mac_toolchain": attr.label( default = Label("@build_bazel_rules_apple//apple/internal:mac_tools_toolchain"), providers = [[AppleMacToolsToolchainInfo]], + cfg = "exec", ), "_xplat_toolchain": attr.label( default = Label("@build_bazel_rules_apple//apple/internal:xplat_tools_toolchain"), providers = [[AppleXPlatToolsToolchainInfo]], + cfg = "exec", ), "platform_type": attr.string( mandatory = False, @@ -1266,7 +1268,8 @@ the framework as a dependency.""", executable = True, ), "_cc_toolchain": attr.label( - default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"), + providers = [cc_common.CcToolchainInfo, ApplePlatformInfo], + default = "@build_bazel_rules_apple//apple:default_cc_toolchain_forwarder", doc = """\ The C++ toolchain from which linking flags and other tools needed by the Swift toolchain (such as `clang`) will be retrieved. diff --git a/rules/framework/BUILD.bazel b/rules/framework/BUILD.bazel index d7a4b2e6..d0b88a16 100644 --- a/rules/framework/BUILD.bazel +++ b/rules/framework/BUILD.bazel @@ -15,6 +15,7 @@ bzl_library( "//rules:features", "//rules:providers", "@bazel_tools//tools/cpp:toolchain_utils.bzl", + "@build_bazel_rules_apple//apple", "@build_bazel_rules_swift//swift", ], ) diff --git a/rules/framework/vfs_overlay.bzl b/rules/framework/vfs_overlay.bzl index a3d19a1e..53f1837a 100644 --- a/rules/framework/vfs_overlay.bzl +++ b/rules/framework/vfs_overlay.bzl @@ -12,6 +12,7 @@ to each of the entries. load("//rules:providers.bzl", "FrameworkInfo") load("//rules:features.bzl", "feature_names") load("@bazel_tools//tools/cpp:toolchain_utils.bzl", "find_cpp_toolchain", "use_cpp_toolchain") +load("@build_bazel_rules_apple//apple:providers.bzl", "ApplePlatformInfo") load("@build_bazel_rules_swift//swift:swift.bzl", "swift_common") FRAMEWORK_SEARCH_PATH = "/build_bazel_rules_ios/frameworks" @@ -435,7 +436,8 @@ framework_vfs_overlay = rule( "private_hdrs": attr.label_list(allow_files = True, default = []), "deps": attr.label_list(allow_files = True, default = []), "_cc_toolchain": attr.label( - default = Label("@bazel_tools//tools/cpp:current_cc_toolchain"), + providers = [cc_common.CcToolchainInfo, ApplePlatformInfo], + default = "@build_bazel_rules_apple//apple:default_cc_toolchain_forwarder", doc = """\ The C++ toolchain from which linking flags and other tools needed by the Swift toolchain (such as `clang`) will be retrieved. diff --git a/rules/precompiled_apple_resource_bundle.bzl b/rules/precompiled_apple_resource_bundle.bzl index c3ac3beb..55da2c8e 100644 --- a/rules/precompiled_apple_resource_bundle.bzl +++ b/rules/precompiled_apple_resource_bundle.bzl @@ -83,7 +83,7 @@ def _precompiled_apple_resource_bundle_impl(ctx): include_executable_name = False, ) - apple_mac_toolchain_info = ctx.attr._toolchain[AppleMacToolsToolchainInfo] + apple_mac_toolchain_info = ctx.attr._mac_toolchain[AppleMacToolsToolchainInfo] partial_output = partial.call( partials.resources_partial( apple_mac_toolchain_info = apple_mac_toolchain_info, @@ -283,9 +283,10 @@ the bundle as a dependency.""", default = "@bazel_tools//tools/allowlists/function_transition_allowlist", doc = "Needed to allow this rule to have an incoming edge configuration transition.", ), - _toolchain = attr.label( + _mac_toolchain = attr.label( default = Label("@build_bazel_rules_apple//apple/internal:mac_tools_toolchain"), providers = [[AppleMacToolsToolchainInfo]], + cfg = "exec", ), )), )