build: fix failing arm64 builds on macOS (#24748)

This commit is contained in:
Shelley Vohr 2020-07-28 08:42:15 -07:00 committed by GitHub
parent c6c986648f
commit 4e15273b9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 57 additions and 0 deletions

View file

@ -104,3 +104,4 @@ skip_atk_toolchain_check.patch
fix_missing_weakptr_check_in_preconnectmanager.patch
revert_swiftshader_roll_in_deps.patch
worker_feat_add_hook_to_notify_script_ready.patch
mac_work_around_xcode_12b3_sdk_bug.patch

View file

@ -0,0 +1,56 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Mark Mentovai <mark@chromium.org>
Date: Thu, 23 Jul 2020 02:02:37 +0000
Subject: mac: Work around Xcode 12b3 SDK bug
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
The macOS 11.0 20A5323l SDK in Xcode 12b3 12A8169g totally hides the
kCGColorSpaceITUR_2020_PQ_EOTF declaration in an #if whenever the SDK
version is ≥ 10.16, which of course it always is. Chrome does use that
constant, so work around the SDK bug by providing our a local
declaration when that SDK version is in use.
Bug: 1108561
Change-Id: I6ed31d30705bc754616e413c38fb250a7934484d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2315078
Reviewed-by: Avi Drissman <avi@chromium.org>
Commit-Queue: Avi Drissman <avi@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
Auto-Submit: Mark Mentovai <mark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#791119}
diff --git a/ui/gfx/mac/io_surface.cc b/ui/gfx/mac/io_surface.cc
index 93a9652b71d86441e15b87aafd7a6b1a13f45830..5e06d0b7804e90cd044c64188ed113c9593dd8be 100644
--- a/ui/gfx/mac/io_surface.cc
+++ b/ui/gfx/mac/io_surface.cc
@@ -4,6 +4,8 @@
#include "ui/gfx/mac/io_surface.h"
+#include <Availability.h>
+#include <CoreGraphics/CoreGraphics.h>
#include <stddef.h>
#include <stdint.h>
@@ -18,6 +20,19 @@
#include "ui/gfx/icc_profile.h"
#include "ui/gfx/switches.h"
+#if defined(__MAC_11_0) && __MAC_OS_X_VERSION_MAX_ALLOWED >= __MAC_10_16
+// https://crbug.com/1108561: This is supposed to be deprecated (but available)
+// through 10.15.4, but the macOS 11.0 20A5323l SDK from Xcode 12b3 12A8169g
+// doesnt declare it at all when the SDK version is 10.16 or later, which of
+// course it always is. Its a bug in the SDK. Work around it with the
+// declaration thats hidden.
+//
+// TODO(https://crbug.com/1108627): remove this workaround if and when the SDK
+// bug is fixed.
+CG_EXTERN const CFStringRef kCGColorSpaceITUR_2020_PQ_EOTF
+CG_AVAILABLE_BUT_DEPRECATED(10.14.6, 10.15.4, 12.6, 13.4);
+#endif
+
namespace gfx {
namespace {