From ba032f8c983ec2a10d3ddfa31f0007b2b7b704a6 Mon Sep 17 00:00:00 2001 From: Tony Aiuto Date: Mon, 26 Jun 2023 10:58:38 -0400 Subject: [PATCH] Add Apple visionos. I'm not really satisified with this PR. The number of Apple specific platforms has grown to the point where we may want to refactor them. The question I would focus on is how various toolchain matches and select clauses go. Do we see things like: ``` foo = select({ ".../os:linux": A, ".../os:windows": B, ".../os:macos": C, ".../os:watchos": C, ".../os:visionos": C, }) ``` Where C is the same for all the apple platforms? Or, do we see real distinctions across the various per-device OSes. Or a mix of both? And, do we see the fanout of the Apple OSes done with a select_or wrapper, so users end up seeing the simple selection of just apple, linux, or windows, but we buried complexity elsewhere? --- os/BUILD | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/os/BUILD b/os/BUILD index e0484ee..1d9fedb 100644 --- a/os/BUILD +++ b/os/BUILD @@ -82,6 +82,11 @@ constraint_value( constraint_setting = ":os", ) +constraint_value( + name = "visionos", + constraint_setting = ":os", +) + constraint_value( name = "qnx", constraint_setting = ":os",