Skip to content

Commit

Permalink
Remove 32 bit CPUs (#244)
Browse files Browse the repository at this point in the history
These are no longer supported with Xcode 14+ which is required for App
Store submissions
  • Loading branch information
keith authored Aug 21, 2023
1 parent 4a86f2f commit 400ce51
Show file tree
Hide file tree
Showing 6 changed files with 23 additions and 43 deletions.
1 change: 1 addition & 0 deletions BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ filegroup(
"//constraints:for_bazel_tests",
"//crosstool:for_bazel_tests",
"//lib:for_bazel_tests",
"//platforms:for_bazel_tests",
"//rules:for_bazel_tests",
"//tools:for_bazel_tests",
],
Expand Down
15 changes: 0 additions & 15 deletions configs/platforms.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down Expand Up @@ -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",
Expand Down
16 changes: 1 addition & 15 deletions crosstool/cc_toolchain_config.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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"):
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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(
Expand Down Expand Up @@ -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
Expand All @@ -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(
Expand Down
8 changes: 8 additions & 0 deletions platforms/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -19,3 +19,11 @@ alias(
name = "macos_arm64",
actual = "darwin_arm64",
)

# Consumed by bazel tests.
filegroup(
name = "for_bazel_tests",
testonly = True,
srcs = glob(["**"]),
visibility = ["//:__pkg__"],
)
22 changes: 11 additions & 11 deletions test/shell/apple_test.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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() {
Expand All @@ -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"
}
Expand Down Expand Up @@ -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 "x86_64 arm64" bazel-bin/package/lipo_out \
|| fail "expected output binary to contain 2 architectures"
}

Expand Down Expand Up @@ -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"
}
Expand Down Expand Up @@ -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 "x86_64 arm64" bazel-bin/package/lipo_out \
|| fail "expected output binary to be for x86_64 architecture"
}

Expand Down Expand Up @@ -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 "x86_64 arm64" \
|| fail "expected output binary to contain 2 architectures"
}

Expand Down
4 changes: 2 additions & 2 deletions test/transitions.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -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")
Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit 400ce51

Please sign in to comment.