Skip to content

Commit

Permalink
Remove armeabi-v7a from Apple crosstool
Browse files Browse the repository at this point in the history
  • Loading branch information
keith committed May 11, 2021
1 parent f572d3b commit c5a3f87
Show file tree
Hide file tree
Showing 5 changed files with 123 additions and 371 deletions.
5 changes: 5 additions & 0 deletions tools/cpp/osx_cc_configure.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -91,6 +91,7 @@ def configure_osx_toolchain(repository_ctx, overriden_tools):
overriden_tools: dictionary of overriden tools.
"""
paths = resolve_labels(repository_ctx, [
"@bazel_tools//tools/cpp:armeabi_cc_toolchain_config.bzl",
"@bazel_tools//tools/cpp:osx_cc_wrapper.sh.tpl",
"@bazel_tools//tools/objc:libtool.sh",
"@bazel_tools//tools/objc:libtool_check_unique.cc",
Expand Down Expand Up @@ -132,6 +133,10 @@ def configure_osx_toolchain(repository_ctx, overriden_tools):
"%{env}": escape_string(get_env(repository_ctx)),
},
)
repository_ctx.symlink(
paths["@bazel_tools//tools/cpp:armeabi_cc_toolchain_config.bzl"],
"armeabi_cc_toolchain_config.bzl",
)
repository_ctx.symlink(
paths["@bazel_tools//tools/objc:xcrunwrapper.sh"],
"xcrunwrapper.sh",
Expand Down
25 changes: 23 additions & 2 deletions tools/osx/crosstool/BUILD.toolchains
Original file line number Diff line number Diff line change
@@ -1,6 +1,26 @@
load(":osx_archs.bzl", "OSX_TOOLS_ARCHS")

package(default_visibility = ["//visibility:public"])

load(":osx_archs.bzl", "OSX_TOOLS_ARCHS", "OSX_TOOLS_CONSTRAINTS")
# Target constraints for each arch.
# TODO(apple-rules): Rename osx constraint to macOS.
OSX_TOOLS_CONSTRAINTS = {
"armeabi-v7a": ["@platforms//cpu:arm"],
"darwin_arm64": ["@platforms//os:osx", "@platforms//cpu:aarch64"],
"darwin_arm64e": ["@platforms//os:osx", "@platforms//cpu:aarch64"],
"darwin_x86_64": ["@platforms//os:osx", "@platforms//cpu:x86_64"],
"ios_arm64": ["@platforms//os:ios", "@platforms//cpu:aarch64"],
"ios_arm64e": ["@platforms//os:ios", "@platforms//cpu:aarch64"],
"ios_armv7": ["@platforms//os:ios", "@platforms//cpu:arm"],
"ios_i386": ["@platforms//os:ios", "@platforms//cpu:x86_32"],
"ios_x86_64": ["@platforms//os:ios", "@platforms//cpu:x86_64"],
"tvos_arm64": ["@platforms//os:ios", "@platforms//cpu:aarch64"],
"tvos_x86_64": ["@platforms//os:ios", "@platforms//cpu:x86_64"],
"watchos_arm64_32": ["@platforms//os:ios", "@platforms//cpu:aarch64"],
"watchos_armv7k": ["@platforms//os:ios", "@platforms//cpu:arm"],
"watchos_i386": ["@platforms//os:ios", "@platforms//cpu:x86_32"],
"watchos_x86_64": ["@platforms//os:ios", "@platforms//cpu:x86_64"],
}

OSX_DEVELOPER_PLATFORM_CPUS = [
"aarch64",
Expand All @@ -19,5 +39,6 @@ OSX_DEVELOPER_PLATFORM_CPUS = [
toolchain = "@local_config_cc//:cc-compiler-" + arch,
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)
for arch in OSX_TOOLS_ARCHS for cpu in OSX_DEVELOPER_PLATFORM_CPUS
for arch in OSX_TOOLS_ARCHS + ["armeabi-v7a"]
for cpu in OSX_DEVELOPER_PLATFORM_CPUS
]
31 changes: 24 additions & 7 deletions tools/osx/crosstool/BUILD.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package(default_visibility = ["//visibility:public"])

load("@local_config_cc_toolchains//:osx_archs.bzl", "OSX_TOOLS_ARCHS")
load("@rules_cc//cc:defs.bzl", "cc_toolchain_suite", "cc_library")
load(":armeabi_cc_toolchain_config.bzl", "armeabi_cc_toolchain_config")
load(":cc_toolchain_config.bzl", "cc_toolchain_config")

# Reexporting osx_arch.bzl for backwards compatibility
Expand All @@ -22,6 +23,8 @@ CC_TOOLCHAINS = [(
("darwin|compiler", ":cc-compiler-darwin_x86_64"),
("k8", ":cc-compiler-darwin_x86_64"),
("darwin", ":cc-compiler-darwin_x86_64"),
("armeabi-v7a|compiler", ":cc-compiler-armeabi-v7a"),
("armeabi-v7a", ":cc-compiler-armeabi-v7a"),
]

cc_library(
Expand Down Expand Up @@ -71,19 +74,15 @@ cc_toolchain_suite(
objcopy_files = ":empty",
strip_files = ":osx_tools_" + arch,
supports_param_files = 1,
toolchain_config = ":" + (
arch if arch != "armeabi-v7a" else "stub_armeabi-v7a"
),
toolchain_identifier = (
arch if arch != "armeabi-v7a" else "stub_armeabi-v7a"
),
toolchain_config = arch,
toolchain_identifier = arch,
)
for arch in OSX_TOOLS_ARCHS
]

[
cc_toolchain_config(
name = (arch if arch != "armeabi-v7a" else "stub_armeabi-v7a"),
name = arch,
compiler = "compiler",
cpu = arch,
cxx_builtin_include_directories = [
Expand All @@ -93,3 +92,21 @@ cc_toolchain_suite(
)
for arch in OSX_TOOLS_ARCHS
]

# Android tooling requires a default toolchain for the armeabi-v7a cpu.
cc_toolchain(
name = "cc-compiler-armeabi-v7a",
toolchain_identifier = "stub_armeabi-v7a",
toolchain_config = ":stub_armeabi-v7a",
all_files = ":empty",
ar_files = ":empty",
as_files = ":empty",
compiler_files = ":empty",
dwp_files = ":empty",
linker_files = ":empty",
objcopy_files = ":empty",
strip_files = ":empty",
supports_param_files = 1,
)

armeabi_cc_toolchain_config(name = "stub_armeabi-v7a")
Loading

0 comments on commit c5a3f87

Please sign in to comment.