blob: 0e9e321da96088eb02de23a3453c7a1a0e87bd91 [file] [log] [blame]
load(":osx_archs.bzl", "OSX_TOOLS_ARCHS")
package(default_visibility = ["//visibility:public"])
exports_files(["osx_archs.bzl"])
# 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",
"x86_64",
]
[
toolchain(
name = "cc-toolchain-" + arch + "-" + cpu,
exec_compatible_with = [
# These only execute on macOS.
"@platforms//os:osx",
"@platforms//cpu:" + cpu,
],
target_compatible_with = OSX_TOOLS_CONSTRAINTS[arch],
toolchain = "@local_config_cc//:cc-compiler-" + arch,
toolchain_type = "@bazel_tools//tools/cpp:toolchain_type",
)
for arch in OSX_TOOLS_ARCHS + ["armeabi-v7a"]
for cpu in OSX_DEVELOPER_PLATFORM_CPUS
]