From 5a62ad8894099a2394364793f35a510df49495be Mon Sep 17 00:00:00 2001 From: Keith Smiley Date: Mon, 21 Aug 2023 13:49:01 -0700 Subject: [PATCH] Remove 32 bit CPUs These are no longer supported with Xcode 14+ which is required for App Store submissions --- configs/platforms.bzl | 15 --------------- crosstool/cc_toolchain_config.bzl | 16 +--------------- test/shell/apple_test.sh | 22 +++++++++++----------- test/transitions.bzl | 4 ++-- 4 files changed, 14 insertions(+), 43 deletions(-) diff --git a/configs/platforms.bzl b/configs/platforms.bzl index fba1f87..b3ed606 100644 --- a/configs/platforms.bzl +++ b/configs/platforms.bzl @@ -26,16 +26,6 @@ APPLE_PLATFORMS_CONSTRAINTS = { "@platforms//cpu:arm64", "@build_bazel_apple_support//constraints:device", ], - "ios_armv7": [ - "@platforms//os:ios", - "@platforms//cpu:armv7", - "@build_bazel_apple_support//constraints:device", - ], - "ios_i386": [ - "@platforms//os:ios", - "@platforms//cpu:i386", - "@build_bazel_apple_support//constraints:simulator", - ], "ios_x86_64": [ "@platforms//os:ios", "@platforms//cpu:x86_64", @@ -91,11 +81,6 @@ APPLE_PLATFORMS_CONSTRAINTS = { "@platforms//cpu:armv7k", "@build_bazel_apple_support//constraints:device", ], - "watchos_i386": [ - "@platforms//os:watchos", - "@platforms//cpu:i386", - "@build_bazel_apple_support//constraints:simulator", - ], "watchos_x86_64": [ "@platforms//os:watchos", "@platforms//cpu:x86_64", diff --git a/crosstool/cc_toolchain_config.bzl b/crosstool/cc_toolchain_config.bzl index 1d239b1..8d36f64 100644 --- a/crosstool/cc_toolchain_config.bzl +++ b/crosstool/cc_toolchain_config.bzl @@ -61,14 +61,8 @@ def _impl(ctx): target_system_name = "arm64_32-apple-watchos{}".format(target_os_version) elif (ctx.attr.cpu == "ios_arm64e"): target_system_name = "arm64e-apple-ios{}".format(target_os_version) - elif (ctx.attr.cpu == "ios_armv7"): - target_system_name = "armv7-apple-ios{}".format(target_os_version) elif (ctx.attr.cpu == "watchos_armv7k"): target_system_name = "armv7k-apple-watchos{}".format(target_os_version) - elif (ctx.attr.cpu == "ios_i386"): - target_system_name = "i386-apple-ios{}-simulator".format(target_os_version) - elif (ctx.attr.cpu == "watchos_i386"): - target_system_name = "i386-apple-watchos{}-simulator".format(target_os_version) elif (ctx.attr.cpu == "ios_x86_64"): target_system_name = "x86_64-apple-ios{}-simulator".format(target_os_version) elif (ctx.attr.cpu == "ios_sim_arm64"): @@ -679,13 +673,10 @@ def _impl(ctx): if (ctx.attr.cpu == "ios_arm64" or ctx.attr.cpu == "ios_arm64e" or - ctx.attr.cpu == "ios_armv7" or - ctx.attr.cpu == "ios_i386" or ctx.attr.cpu == "ios_sim_arm64" or ctx.attr.cpu == "ios_x86_64" or ctx.attr.cpu == "watchos_arm64_32" or ctx.attr.cpu == "watchos_armv7k" or - ctx.attr.cpu == "watchos_i386" or ctx.attr.cpu == "watchos_x86_64" or ctx.attr.cpu == "watchos_arm64"): apply_default_compiler_flags_feature = feature( @@ -879,14 +870,12 @@ def _impl(ctx): ], ) - if (ctx.attr.cpu == "ios_i386" or - ctx.attr.cpu == "ios_x86_64" or + if (ctx.attr.cpu == "ios_x86_64" or ctx.attr.cpu == "ios_sim_arm64" or ctx.attr.cpu == "tvos_x86_64" or ctx.attr.cpu == "tvos_sim_arm64" or ctx.attr.cpu == "visionos_sim_arm64" or ctx.attr.cpu == "visionos_x86_64" or - ctx.attr.cpu == "watchos_i386" or ctx.attr.cpu == "watchos_x86_64" or ctx.attr.cpu == "watchos_arm64"): apply_simulator_compiler_flags_feature = feature( @@ -1428,8 +1417,6 @@ def _impl(ctx): if (ctx.attr.cpu == "ios_arm64" or ctx.attr.cpu == "ios_arm64e" or - ctx.attr.cpu == "ios_armv7" or - ctx.attr.cpu == "ios_i386" or ctx.attr.cpu == "ios_x86_64" or ctx.attr.cpu == "ios_sim_arm64" or ctx.attr.cpu == "tvos_arm64" or @@ -1440,7 +1427,6 @@ def _impl(ctx): ctx.attr.cpu == "visionos_sim_arm64" or ctx.attr.cpu == "watchos_arm64_32" or ctx.attr.cpu == "watchos_armv7k" or - ctx.attr.cpu == "watchos_i386" or ctx.attr.cpu == "watchos_x86_64" or ctx.attr.cpu == "watchos_arm64"): apply_implicit_frameworks_feature = feature( diff --git a/test/shell/apple_test.sh b/test/shell/apple_test.sh index eb312a9..023c2f9 100755 --- a/test/shell/apple_test.sh +++ b/test/shell/apple_test.sh @@ -111,11 +111,11 @@ EOF bazel build --verbose_failures //package:lipo_out \ --noincompatible_enable_cc_toolchain_resolution \ - --watchos_cpus=i386 \ + --watchos_cpus=x86_64 \ || fail "should build watch binary" - grep "i386" bazel-bin/package/lipo_out \ - || fail "expected output binary to be for i386 architecture" + grep "x86_64" bazel-bin/package/lipo_out \ + || fail "expected output binary to be for x86_64 architecture" } function test_apple_static_library() { @@ -141,7 +141,7 @@ EOF bazel build --verbose_failures //package:static_lib \ --noincompatible_enable_cc_toolchain_resolution \ - --ios_multi_cpus=i386,x86_64 \ + --ios_multi_cpus=sim_arm64,x86_64 \ --ios_minimum_os=8.0 \ || fail "should build starlark_apple_static_library" } @@ -215,10 +215,10 @@ EOF bazel build --verbose_failures \ //package:lipo_out \ --noincompatible_enable_cc_toolchain_resolution \ - --ios_multi_cpus=i386 --ios_multi_cpus=x86_64 \ + --ios_multi_cpus=sim_arm64 --ios_multi_cpus=x86_64 \ || fail "should build starlark_apple_binary and obtain info via lipo" - grep "i386 x86_64" bazel-bin/package/lipo_out \ + grep "arm64 x86_64" bazel-bin/package/lipo_out \ || fail "expected output binary to contain 2 architectures" } @@ -247,7 +247,7 @@ EOF bazel build --verbose_failures //package:main_binary \ --noincompatible_enable_cc_toolchain_resolution \ - --ios_multi_cpus=i386,x86_64 \ + --ios_multi_cpus=sim_arm64,x86_64 \ --apple_generate_dsym=true \ || fail "should build starlark_apple_binary with dSYMs" } @@ -307,10 +307,10 @@ EOF bazel build --verbose_failures //package:lipo_out \ --noincompatible_enable_cc_toolchain_resolution \ - --ios_multi_cpus=i386,x86_64 \ + --ios_multi_cpus=sim_arm64,x86_64 \ || fail "should build starlark_apple_binary and obtain info via lipo" - grep "i386 x86_64" bazel-bin/package/lipo_out \ + grep "arm64 x86_64" bazel-bin/package/lipo_out \ || fail "expected output binary to be for x86_64 architecture" } @@ -381,11 +381,11 @@ int main() { EOF bazel build --verbose_failures \ - //package:lipo_out --ios_multi_cpus=i386,x86_64 \ + //package:lipo_out --ios_multi_cpus=sim_arm64,x86_64 \ --noincompatible_enable_cc_toolchain_resolution \ || fail "should build starlark_apple_binary and obtain info via lipo" - cat bazel-bin/package/lipo_out | grep "i386 x86_64" \ + cat bazel-bin/package/lipo_out | grep "arm64 x86_64" \ || fail "expected output binary to contain 2 architectures" } diff --git a/test/transitions.bzl b/test/transitions.bzl index b089683..8673c52 100644 --- a/test/transitions.bzl +++ b/test/transitions.bzl @@ -13,7 +13,7 @@ _PLATFORM_TYPE_TO_DEFAULT_ARCH = { "macos": "x86_64", "tvos": "x86_64", "visionos": "x86_64", - "watchos": "i386", + "watchos": "x86_64", } _supports_visionos = hasattr(apple_common.platform_type, "visionos") @@ -54,7 +54,7 @@ def _cpu_string(*, environment_arch, platform_type, settings = {}): watchos_cpus = settings["//command_line_option:watchos_cpus"] if watchos_cpus: return "watchos_{}".format(watchos_cpus[0]) - return "watchos_i386" + return "watchos_x86_64" if platform_type == "visionos": if environment_arch: return "visionos_{}".format(environment_arch)