Build Chrome against the macOS 10.12 SDK |
|||||||||||
Issue descriptionBreaking this out from Issue 624049 , since this is probably going to be a lot of work on its own.
,
Feb 8 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/62d09b768b1c27511fcaa6c9dd0cd30f093e8fbf commit 62d09b768b1c27511fcaa6c9dd0cd30f093e8fbf Author: justincohen <justincohen@chromium.org> Date: Wed Feb 08 00:38:20 2017 [Mac hermetic] Latest ibtoold needs iPhoneSimulator platform files to compile mac xibs. This appears to be necessary on macOS 10.12.3. BUG= 669240 Review-Url: https://codereview.chromium.org/2683703003 Cr-Commit-Position: refs/heads/master@{#448821} [modify] https://crrev.com/62d09b768b1c27511fcaa6c9dd0cd30f093e8fbf/build/package_mac_toolchain.py
,
Feb 8 2017
,
Feb 8 2017
,
Feb 8 2017
,
Feb 8 2017
,
Feb 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/ccbbfa2f4c2f0c8f5736d05a2f9886700d79e738 commit ccbbfa2f4c2f0c8f5736d05a2f9886700d79e738 Author: justincohen <justincohen@chromium.org> Date: Mon Feb 13 20:51:43 2017 [Mac hermetic] Add iPhoneOS subset to mac hermetic toolchain. Apparently `xcrun -sdk macosx10.12 --show-sdk-path` needs the iPhoneOS platform as well. BUG= 669240 Review-Url: https://codereview.chromium.org/2696693002 Cr-Commit-Position: refs/heads/master@{#450077} [modify] https://crrev.com/ccbbfa2f4c2f0c8f5736d05a2f9886700d79e738/build/package_mac_toolchain.py
,
Jul 7 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/92403640ba1c95cccb6c852a41ff5ffde467900f commit 92403640ba1c95cccb6c852a41ff5ffde467900f Author: erikchen <erikchen@chromium.org> Date: Fri Jul 07 23:21:30 2017 Update macOS FYI toolchain bot to compile with 10.12 SDK. BUG= 669240 Review-Url: https://codereview.chromium.org/2976533002 Cr-Commit-Position: refs/heads/master@{#485094} [modify] https://crrev.com/92403640ba1c95cccb6c852a41ff5ffde467900f/tools/mb/mb_config.pyl
,
Jul 10 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/e68b8951056caed4d22e8a41f7b0e3a6a606e6f9 commit e68b8951056caed4d22e8a41f7b0e3a6a606e6f9 Author: erikchen <erikchen@chromium.org> Date: Mon Jul 10 21:51:20 2017 Fix mb config for macOS FYI bot. Bug: 669240 Change-Id: I34b33ec646ba7ab6c57af052bfe78380b15dcc48 Reviewed-on: https://chromium-review.googlesource.com/565443 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Erik Chen <erikchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#485411} [modify] https://crrev.com/e68b8951056caed4d22e8a41f7b0e3a6a606e6f9/tools/mb/mb_config.pyl
,
Jul 12 2017
erikchen@ has fixed Issue 680927 which was the last major blocker for changing the SDK (thank you erikchen@!). Let's not flip this switch, though, until we decide the milestone in which we want to do it. We definitely should not do it for M61.
,
Jul 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/build/+/6c141c66a1dd113a9f09e721c9b6051129b9033d commit 6c141c66a1dd113a9f09e721c9b6051129b9033d Author: erikchen <erikchen@chromium.org> Date: Thu Jul 13 00:02:00 2017 Force builders that don't use the hermetic toolchain to choose an SDK. Builders that don't use the hermetic toolchain cannot use the default Chromium SDK, since that is dependent on the hermetic toolchain. There are two builders that don't use the hermetic toolchain: webkit testers and webrtc. The former expects the 10.10 SDK and the latter expects the 10.11 SDK. Bug: chromium:669240 Change-Id: I23db631294cffa559d06fc3b104a577e2713869d Reviewed-on: https://chromium-review.googlesource.com/565656 Commit-Queue: Erik Chen <erikchen@chromium.org> Reviewed-by: Dirk Pranke <dpranke@chromium.org> [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium_tests/chromium_webkit.py [add] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/run_mb.expected/mac_force_toolchain_off_10_11.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_perf_mac_10_11.json [add] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/get_env.expected/goma_gce.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_mac64_debug.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium_tests/tests/api/trybot_steps.expected/webkit_mac_trybot_no_hermetic_toolchain.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_dbg.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/run_mb.py [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_rel.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_mac_asan.json [add] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/get_env.expected/goma_staging.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/chromium_trybot.expected/use_skia_patch_on_blink_trybot.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/config.py [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_mac64_release.json [add] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/get_env.expected/force_mac_toolchain_override.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/webrtc/api.py [add] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/get_env.expected/mac_force_toolchain_off_10_11.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/get_env.expected/basic.json [add] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/run_mb.expected/mac_force_toolchain_off_10_10.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_compile_dbg.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/configs.py [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/get_env.py [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/client_webrtc_mac64_release__large_tests_.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/api.py [add] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/get_env.expected/mac_force_toolchain_off_10_10.json [add] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipe_modules/chromium/tests/get_env.expected/clang_tot.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_compile_rel.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/chromium_trybot.expected/webkit_mac_trybot_no_hermetic_toolchain.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/chromium_trybot.expected/use_v8_patch_on_blink_trybot.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/README.recipes.md [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_asan.json [modify] https://crrev.com/6c141c66a1dd113a9f09e721c9b6051129b9033d/scripts/slave/recipes/webrtc/standalone.expected/tryserver_webrtc_mac_baremetal.json
,
Jul 13 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/a5ba3a6569a8d7c10d82456bd75bde28704083fd commit a5ba3a6569a8d7c10d82456bd75bde28704083fd Author: Erik Chen <erikchen@chromium.org> Date: Thu Jul 13 06:30:01 2017 Allow macOS default SDK to be set from environment variable. Some infra builders do not support the hermetic toolchain yet, so they also will not be able to support the SDK roll when that happens. They will need to force a different SDK based on their local version of Xcode. Bug: 669240 Change-Id: Ibeb1dde1cc9bd76bced37a5ed1797000e6e46f83 Reviewed-on: https://chromium-review.googlesource.com/567390 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Erik Chen <erikchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#486291} [modify] https://crrev.com/a5ba3a6569a8d7c10d82456bd75bde28704083fd/build_overrides/build.gni
,
Jul 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f2c89114be7dbb8f239677d433f096fbceab6673 commit f2c89114be7dbb8f239677d433f096fbceab6673 Author: erikchen <erikchen@chromium.org> Date: Fri Jul 14 01:02:56 2017 Fix synthetic pinch events for macOS. A recent change to pinch event handling on macOS (https://chromium-review.googlesource.com/567241) started checking for the "phase" property. That was not defined for SyntheticPinchEvent. Bug: 669240 , 742351 Change-Id: I304f2d0aac8302521711101e62ec69f6fcf2dadc Reviewed-on: https://chromium-review.googlesource.com/571301 Reviewed-by: Avi Drissman <avi@chromium.org> Commit-Queue: Erik Chen <erikchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#486571} [modify] https://crrev.com/f2c89114be7dbb8f239677d433f096fbceab6673/content/browser/renderer_host/input/synthetic_gesture_target_mac.mm
,
Jul 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/external/webrtc.git/+/bc266bc867354136bf14df0ccae5a58c9226a98d commit bc266bc867354136bf14df0ccae5a58c9226a98d Author: erikchen <erikchen@chromium.org> Date: Fri Jul 14 21:29:23 2017 Remove deprecated macOS SDK overrides. The same overrides now live in .gn. Bug: chromium:669240 Review-Url: https://codereview.webrtc.org/2982863002 Cr-Commit-Position: refs/heads/master@{#19030} [modify] https://crrev.com/bc266bc867354136bf14df0ccae5a58c9226a98d/build_overrides/build.gni
,
Jul 15 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/2d245df79351a09a300805f1d991376cc476ac68 commit 2d245df79351a09a300805f1d991376cc476ac68 Author: Erik Chen <erikchen@chromium.org> Date: Sat Jul 15 03:16:06 2017 Update availability annotations for macOS 10.12 SDK. The 10.12 SDK adds new availability annotations for many existing methods. Existing code must be updated with availability annotations to prevent "-Wunguarded-availability" warnings from triggering when compiling against the 10.12 SDK. For more details, see https://clang.llvm.org/docs/LanguageExtensions.html#objective-c-available TBR=avi@chromium.org, davidben@chromium.org, reillyg@chromium.org Bug: 669240 , 735328 Change-Id: Ifebb4a6f5b7f2171f0d0ba732c92d8ac79bc435f Reviewed-on: https://chromium-review.googlesource.com/571316 Commit-Queue: Erik Chen <erikchen@chromium.org> Reviewed-by: Erik Chen <erikchen@chromium.org> Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#486974} [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/app_controller_mac.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/bookmarks/bookmark_bubble_controller.h [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/bookmarks/bookmark_bubble_controller.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/bookmarks/bookmark_bubble_controller_unittest.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.h [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/bookmarks/bookmark_editor_base_controller_unittest.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/browser_window_touch_bar.h [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/browser_window_touch_bar.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/browser_window_touch_bar_unittest.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.h [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/content_settings/content_setting_bubble_cocoa_browsertest.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/framed_browser_window.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/l10n_util.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/chrome/browser/ui/cocoa/location_bar/autocomplete_text_field_editor_unittest.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/content/browser/accessibility/browser_accessibility_cocoa.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/net/ssl/ssl_platform_key_mac.cc [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/third_party/WebKit/Source/platform/fonts/mac/FontFamilyMatcherMac.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/accelerated_widget_mac/BUILD.gn [add] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/accelerated_widget_mac/availability_macros.h [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/accelerated_widget_mac/ca_layer_tree_coordinator.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/accelerated_widget_mac/ca_layer_tree_unittest_mac.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/accelerated_widget_mac/ca_renderer_layer_tree.h [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/accelerated_widget_mac/ca_renderer_layer_tree.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/base/cocoa/touch_bar_forward_declarations.h [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/views/cocoa/bridged_content_view_touch_bar.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/views/cocoa/bridged_native_widget.h [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/views/cocoa/bridged_native_widget.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/views/cocoa/drag_drop_client_mac_unittest.mm [modify] https://crrev.com/2d245df79351a09a300805f1d991376cc476ac68/ui/views/cocoa/native_widget_mac_nswindow.mm
,
Jul 17 2017
We discussed this at the Mac bi-weekly. Given that M-61 is also going to be the release targeting High-Sierra, I didn't hear any objections to targeting M-62 for the SDK revision. I plan on landing the SDK change after M-61 branches.
,
Jul 18 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d2b3c76d21b548cf7f811199f818cb0cc4cb0788 commit d2b3c76d21b548cf7f811199f818cb0cc4cb0788 Author: erikchen <erikchen@chromium.org> Date: Tue Jul 18 00:12:48 2017 Update availability annotations for macOS 10.12 SDK [part 2]. Due to a clang bug, adding the API_AVAILABLE annotation also changes the visibility to be "default". This causes an unintentional leak of global-visibility symbols. Explicitly re-specify "hidden" visibility to work around this. https://bugs.llvm.org/show_bug.cgi?id=33796 Bug: 669240 Change-Id: I1118de5ddb6035402f8b787cece33e0bb040ff15 TBR: reillyg@chromium.org Reviewed-on: https://chromium-review.googlesource.com/574683 Commit-Queue: Erik Chen <erikchen@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#487309} [modify] https://crrev.com/d2b3c76d21b548cf7f811199f818cb0cc4cb0788/services/shape_detection/barcode_detection_impl_mac.h [modify] https://crrev.com/d2b3c76d21b548cf7f811199f818cb0cc4cb0788/services/shape_detection/barcode_detection_impl_mac.mm [modify] https://crrev.com/d2b3c76d21b548cf7f811199f818cb0cc4cb0788/services/shape_detection/barcode_detection_impl_mac_unittest.mm [modify] https://crrev.com/d2b3c76d21b548cf7f811199f818cb0cc4cb0788/services/shape_detection/text_detection_impl_mac.h [modify] https://crrev.com/d2b3c76d21b548cf7f811199f818cb0cc4cb0788/services/shape_detection/text_detection_impl_mac.mm [modify] https://crrev.com/d2b3c76d21b548cf7f811199f818cb0cc4cb0788/services/shape_detection/text_detection_impl_mac_unittest.mm [modify] https://crrev.com/d2b3c76d21b548cf7f811199f818cb0cc4cb0788/ui/base/cocoa/touch_bar_util.h
,
Jul 18 2017
> We discussed this at the Mac bi-weekly. Given that M-61 is also going to be the release targeting High-Sierra, I didn't hear any objections to targeting M-62 for the SDK revision. I have concerns about targeting M-62, which I want to discuss with you when we next meet. So M-62 might be when we want to flip this switch but it may not.
,
Jul 18 2017
I'd be interested to hear about these concerns. Can you post them here?
,
Jul 18 2017
It's one concern, really, which is that we'll have limited coverage of 10.13 in the canary, dev, and beta channels until High Sierra ships, which means reduced visibility of any issues the SDK switch causes on 10.13. In a real sense that's no different than what we have to deal with right now to catch 10.13 issues, but I also don't see there being an urgency to switching SDKs. That makes me inclined to want to wait for when we branch to M-62, which will likely be about the same time as when High Sierra ships.
,
Jul 18 2017
If there's no reason to wait, shouldn't we default to progress? Building with the latest SDK is Apple's official recommendation, and if we wait it'll be longer until we find issues (if they exist). If there are issues, it's fairly easy to move back to the old SDK if necessary.
,
Jul 18 2017
> If there's no reason to wait, shouldn't we default to progress? The reason to wait is to get more 10.13 coverage in the non-stable channels.
,
Jul 18 2017
But we'll get that anyway, right? And since "use newest SDK" is Apple's recommendation, they probably tested apps built with the 10.12 SDK (the current stable SDK) on 10.13 a lot more than apps built with the 10.10 SDK.
,
Jul 18 2017
(This is a fairly minor thing, but there's a small mess here that we'll be able to get rid of once we switch to a newer SDK: https://cs.chromium.org/chromium/src/net/ssl/ssl_platform_key_mac.cc?rcl=861bce1518ab2209ba6fcdc7d0d99d9aa775c01b&l=81 )
,
Jul 18 2017
> But we'll get that anyway, right? I'm not sure what you mean. Our 10.13 coverage will be spotty at best between now and when 10.13 ships. We will start to get better coverage in the non-Stable channels around the time we branch to M-62. And regardless of Apple's technical recommendations or amount of testing they did of 10.12 apps on 10.13, there is no guarantee it will be smooth sailing for Chrome when we switch to the 10.12 SDK. So, I am saying let's plan to flip the SDK switch in 6 weeks, when we'll start to get better coverage of 10.13 in the non-Stable channels.
,
Jul 18 2017
shrike@, I believe the assumption that you are making is that switching to the 10.12 SDK is dangerous [w.r.t. 10.13], and we should refrain from making the switch until there are more 10.13 users. I believe that it is more dangerous to *not* switch to the 10.12 SDK, since we are not going to pulling in the latest fixes/optimizations that are gated behind SDK link flags. Regardless of whether to switch to the 10.12 SDK, we are going to have poor 10.13 coverage. My belief is that switching in M62 is less likely to produce problems that staying on the 10.10 SDK.
,
Jul 18 2017
> I believe that it is more dangerous to *not* switch to the 10.12 SDK, since we are not going to pulling in the latest fixes/optimizations that are gated behind SDK link flags. Thanks, that's what I was trying to say, but couldn't as succinctly.
,
Jul 18 2017
Hello erikchen@, > shrike@, I believe the assumption that you are making is that switching to the 10.12 SDK is dangerous [w.r.t. 10.13], and we should refrain from making the switch until there are more 10.13 users. I am asserting that it is potentially dangerous to switch to the 10.12 SDK until there are more 10.13 users. > I believe that it is more dangerous to *not* switch to the 10.12 SDK, since we are not going to pulling in the latest fixes/optimizations that are gated behind SDK link flags. You are saying there's danger in running on 10.13 while linked against an older SDK. I won't say that not's possible, but if true Apple would have a lot of problems because the vast majority of Mac software will always be linked against older SDKs whenever a new version of macOS ships. The contract you get with your current SDK is you will continue to work as you did before. The contract you get by switching to the latest SDK is you will execute new code paths, your behavior may change, and you may have to fix problems. Switching to the 10.12 SDK in M-62 has more potential pitfalls than not switching because we don't have great 10.13 coverage in pre-Stable channels.
,
Jul 19 2017
I see this as much less a “10.13 users” question than a “10.11 and 10.12 users” question. I wouldn’t anticipate the difference between 10.10 and 10.12 SDKs to have a substantially different effect on 10.13 users than it does for 10.12 users. On the other hand, judging from past experience, we’ll have more 10.12 users than 10.13 users until around the new year, and more (10.11+10.12) users until well into 2018. Assuming we’re moving to Xcode 8 or later, and we know that we can fix bugs for 10.11 and 10.12 users without breaking things, then I’d count that as a vote for updating the SDK. (But I’m making an assumption, I don’t know for sure what breaks with this change. I guess that’s what canary/dev/beta are for.) I used to be much more conservative about this, but Apple’s recent refusal to support anything other than current SDKs has changed things. Because of that, I don’t think it’s reasonable to say that the vast majority of Mac software is linked against old SDKs. I’d expect that the majority of software released today is already linked against the 10.12 SDK, because that’s all you can get easily with the tools that Apple provides. Sure, when 10.13 comes out, approximately zero released software will be using that SDK, and linking against that SDK will result in behavior changes when running on 10.13 that we won’t have seen on older OS versions. But we’re not talking about upgrading to the 10.13 SDK (yet).
,
Jul 19 2017
Hi mark@, Sorry, you are right in what you're saying about 10.12. It is the case that the vast majority of apps will be built against the 10.13 SDK when 10.13 ships, but that is not relevant to deciding whether to stay on 10.11 or switch to 10.12.
,
Jul 19 2017
The following revision refers to this bug: https://chromium.googlesource.com/libyuv/libyuv.git/+/9288b884b6f23cbcb4eda33bf638ae4f198b7af3 commit 9288b884b6f23cbcb4eda33bf638ae4f198b7af3 Author: Frank Barchard <fbarchard@google.com> Date: Wed Jul 19 18:04:24 2017 Roll chromium_revision 964fc7fe50..c138801d02 (478724:487352) Change log: https://chromium.googlesource.com/chromium/src/+log/964fc7fe50..c138801d02 Full diff: https://chromium.googlesource.com/chromium/src/+/964fc7fe50..c138801d02 Changed dependencies: * src/base: https://chromium.googlesource.com/chromium/src/base/+log/7830ef61f5..5b2c419308 * src/build: https://chromium.googlesource.com/chromium/src/build/+log/b887a61b49..1808a907ce * src/buildtools: https://chromium.googlesource.com/chromium/buildtools.git/+log/b53a03df32..5ad14542a6 * src/ios: https://chromium.googlesource.com/chromium/src/ios/+log/4243f190b3..bff0ead181 * src/testing: https://chromium.googlesource.com/chromium/src/testing/+log/4d1ed658b7..aac324832e * src/third_party: https://chromium.googlesource.com/chromium/src/third_party/+log/d09084e5dd..1b11b0e214 * src/third_party/android_tools: https://chromium.googlesource.com/android_tools.git/+log/023e2f6540..e9d4018e14 * src/third_party/catapult: https://chromium.googlesource.com/external/github.com/catapult-project/catapult.git/+log/7ba431f75d..b0acf6c12b * src/tools: https://chromium.googlesource.com/chromium/src/tools/+log/b8af3bf606..ec8ceaef71 * src/tools/swarming_client: https://chromium.googlesource.com/external/swarming.client.git/+log/af6b06ca68..a56c2b39ca DEPS diff: https://chromium.googlesource.com/chromium/src/+/964fc7fe50..c138801d02/DEPS Clang version changed 303910:307486 Details: https://chromium.googlesource.com/chromium/src/+/964fc7fe50..c138801d02/tools/clang/scripts/update.py TBR=kjellander@chromium.org BUG= libyuv:710 , chromium:669240 Change-Id: I117311a0fe61c3bdbf3a966ec2eb55100added51 Reviewed-on: https://chromium-review.googlesource.com/574772 Reviewed-by: Frank Barchard <fbarchard@google.com> Commit-Queue: Frank Barchard <fbarchard@google.com> [modify] https://crrev.com/9288b884b6f23cbcb4eda33bf638ae4f198b7af3/DEPS
,
Jul 19 2017
> but that is not relevant to deciding whether to stay on 10.11 or switch to 10.12. Not directly. I was providing a counter-opinion to the portion of your #c28 that assumed that older SDKs have seen lots of testing on new OS versions. I don’t think that this is a valid assumption. When 10.13 is released, software built with the 10.12 SDK (more generally, one version down) will have seen lots of testing on 10.13 by Apple and others, but software built with the 10.10 SDK (as Chrome currently is) will not have.
,
Jul 20 2017
The following revision refers to this bug: https://chromium.googlesource.com/libyuv/libyuv.git/+/5f00523073995416859f58b43e83dd66e2078104 commit 5f00523073995416859f58b43e83dd66e2078104 Author: Frank Barchard <fbarchard@google.com> Date: Thu Jul 20 22:26:41 2017 Remove deprecated macOS SDK overrides. The same overrides now live in .gn. TBR=kjellander@chromium.org Bug: chromium:669240 Change-Id: Ifaeb3b612571c3594f1e2279b4f871b7fd3e8d69 Reviewed-on: https://chromium-review.googlesource.com/572080 Reviewed-by: Frank Barchard <fbarchard@google.com> [modify] https://crrev.com/5f00523073995416859f58b43e83dd66e2078104/build_overrides/build.gni
,
Jul 26 2017
shrike: Ping. I believe you were going to make a decision on this?
,
Jul 26 2017
,
Jul 27 2017
Hello erikchen@, Let's proceed with switching the base SDK to 10.12.
,
Jul 28 2017
Building Chromium at master revision ff259bab (#488528) with 10.12 SDK I'm getting the attached build errors. Here's a sampling:
In file included from ../../chrome/browser/ui/cocoa/web_textfield_touch_bar_controller.mm:5:
../../chrome/browser/ui/cocoa/web_textfield_touch_bar_controller.h:31:4: error: 'NSTouchBar' is partial: introduced in macOS 10.12.2 [-Werror,-Wunguarded-availability]
- (NSTouchBar*)makeTouchBar;
^
../../../../../../../../Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSTouchBar.h:19:12: note: 'NSTouchBar' has been explicitly marked partial here
@interface NSTouchBar : NSObject <NSCoding> {
^
../../chrome/browser/ui/cocoa/web_textfield_touch_bar_controller.h:31:1: note: annotate 'makeTouchBar' with an availability attribute to silence
- (NSTouchBar*)makeTouchBar;
^
,
Jul 28 2017
marshall: Are you synced up? chrome/browser/ui/cocoa/web_textfield_touch_bar_controller.h on trunk looks like - (NSTouchBar*)makeTouchBar API_AVAILABLE(macos(10.12.2)); which does have the required availability attribute. (Fixed 2 days ago in https://chromium-review.googlesource.com/c/583850/)
,
Jul 28 2017
,
Jul 28 2017
,
Aug 1 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f5345de13668f0176b11126a7ae391dad5b4ad0f commit f5345de13668f0176b11126a7ae391dad5b4ad0f Author: erikchen <erikchen@chromium.org> Date: Tue Aug 01 18:27:29 2017 Bump macOS SDK to 10.12. Bug: 669240 Change-Id: I97cf582b97fac7aec2aa92bbdda02f5c17482c1d Reviewed-on: https://chromium-review.googlesource.com/570459 Reviewed-by: Erik Chen <erikchen@chromium.org> Reviewed-by: Nico Weber <thakis@chromium.org> Commit-Queue: Erik Chen <erikchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#491060} [modify] https://crrev.com/f5345de13668f0176b11126a7ae391dad5b4ad0f/build/config/mac/mac_sdk_overrides.gni [modify] https://crrev.com/f5345de13668f0176b11126a7ae391dad5b4ad0f/chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.mm
,
Aug 2 2017
This seems to cause rebaseline bots to fail, compare issue 751421 .
,
Aug 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/00068b7e6365c9ac4994e8f3ee94b8c8a275ab5a commit 00068b7e6365c9ac4994e8f3ee94b8c8a275ab5a Author: Aaron Gable <agable@chromium.org> Date: Wed Aug 02 17:01:52 2017 Revert "Bump macOS SDK to 10.12." This reverts commit f5345de13668f0176b11126a7ae391dad5b4ad0f. Reason for revert: Breaks bots which run layout_tests not via swarming: https://crbug.com/751421 Original change's description: > Bump macOS SDK to 10.12. > > Bug: 669240 > Change-Id: I97cf582b97fac7aec2aa92bbdda02f5c17482c1d > Reviewed-on: https://chromium-review.googlesource.com/570459 > Reviewed-by: Erik Chen <erikchen@chromium.org> > Reviewed-by: Nico Weber <thakis@chromium.org> > Commit-Queue: Erik Chen <erikchen@chromium.org> > Cr-Commit-Position: refs/heads/master@{#491060} TBR=thakis@chromium.org,erikchen@chromium.org Change-Id: I3b30bd3e18fa60f736078ed889a6c574b15c6467 No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 669240 , 751421 Reviewed-on: https://chromium-review.googlesource.com/598449 Commit-Queue: Aaron Gable <agable@chromium.org> Reviewed-by: Aaron Gable <agable@chromium.org> Cr-Commit-Position: refs/heads/master@{#491408} [modify] https://crrev.com/00068b7e6365c9ac4994e8f3ee94b8c8a275ab5a/build/config/mac/mac_sdk_overrides.gni [modify] https://crrev.com/00068b7e6365c9ac4994e8f3ee94b8c8a275ab5a/chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.mm
,
Aug 2 2017
https://build.chromium.org/p/tryserver.blink/builders/mac10.9_blink_rel/builds/3338 for the "gclient sync" step, we correctly set 'FORCE_MAC_SDK_MIN': '10.10', which is why that step doesn't fail. But we're also going to need to add that flag to every step which may potentially touch the macOS SDK.
,
Aug 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/tools/build/+/022bff279bb2d570f7a91caf13d0a2854c5fcffb commit 022bff279bb2d570f7a91caf13d0a2854c5fcffb Author: erikchen <erikchen@chromium.org> Date: Wed Aug 02 19:07:07 2017 Make sure that FORCE_MAC_SDK is respected by the analyze step. This was an oversight in the initial plumbing for FORCE_MAC_SDK. Bug: chromium:669240 Change-Id: I72d56b26b035fb83eb827062f20a69bdb59a1077 Reviewed-on: https://chromium-review.googlesource.com/598590 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Erik Chen <erikchen@chromium.org> [modify] https://crrev.com/022bff279bb2d570f7a91caf13d0a2854c5fcffb/scripts/slave/recipe_modules/filter/tests/analyze.py [modify] https://crrev.com/022bff279bb2d570f7a91caf13d0a2854c5fcffb/scripts/slave/recipes/chromium_trybot.expected/webkit_mac_trybot_no_hermetic_toolchain.json [modify] https://crrev.com/022bff279bb2d570f7a91caf13d0a2854c5fcffb/scripts/slave/recipes/chromium_trybot.expected/use_v8_patch_on_blink_trybot.json [add] https://crrev.com/022bff279bb2d570f7a91caf13d0a2854c5fcffb/scripts/slave/recipe_modules/filter/tests/analyze.expected/basic_mac.json [modify] https://crrev.com/022bff279bb2d570f7a91caf13d0a2854c5fcffb/scripts/slave/recipes/chromium_trybot.expected/use_skia_patch_on_blink_trybot.json [modify] https://crrev.com/022bff279bb2d570f7a91caf13d0a2854c5fcffb/scripts/slave/README.recipes.md [modify] https://crrev.com/022bff279bb2d570f7a91caf13d0a2854c5fcffb/scripts/slave/recipe_modules/chromium_tests/tests/api/trybot_steps.expected/webkit_mac_trybot_no_hermetic_toolchain.json [modify] https://crrev.com/022bff279bb2d570f7a91caf13d0a2854c5fcffb/scripts/slave/recipe_modules/filter/api.py
,
Aug 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/730ce05c38a8254f7514d5d36310c2ee0c50dfba commit 730ce05c38a8254f7514d5d36310c2ee0c50dfba Author: erikchen <erikchen@chromium.org> Date: Wed Aug 02 21:13:14 2017 Reland "Bump macOS SDK to 10.12." This is a reland of f5345de13668f0176b11126a7ae391dad5b4ad0f. The problem with blink trybots was fixed: https://bugs.chromium.org/p/chromium/issues/detail?id=669240#c45 Original change's description: > Bump macOS SDK to 10.12. > > Bug: 669240 > Change-Id: I97cf582b97fac7aec2aa92bbdda02f5c17482c1d > Reviewed-on: https://chromium-review.googlesource.com/570459 > Reviewed-by: Erik Chen <erikchen@chromium.org> > Reviewed-by: Nico Weber <thakis@chromium.org> > Commit-Queue: Erik Chen <erikchen@chromium.org> > Cr-Commit-Position: refs/heads/master@{#491060} Bug: 669240 Change-Id: I73b54eedbd0eab105adecfb6e817de8aa2b968ef TBR: thakis@chromium.org Reviewed-on: https://chromium-review.googlesource.com/598670 Reviewed-by: Erik Chen <erikchen@chromium.org> Commit-Queue: Erik Chen <erikchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#491499} [modify] https://crrev.com/730ce05c38a8254f7514d5d36310c2ee0c50dfba/build/config/mac/mac_sdk_overrides.gni [modify] https://crrev.com/730ce05c38a8254f7514d5d36310c2ee0c50dfba/chrome/browser/ui/cocoa/ssl_client_certificate_selector_cocoa.mm
,
Aug 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/d09279c9b7cd06cc9d1fa91c03c3a49338674041 commit d09279c9b7cd06cc9d1fa91c03c3a49338674041 Author: Nico Weber <thakis@chromium.org> Date: Mon Aug 14 19:41:31 2017 mac: Remove workaround for a compiler bug that's now fixed. Bug: 669240 , 735328 , 753944 Cq-Include-Trybots: master.tryserver.chromium.mac:mac_optional_gpu_tests_rel Change-Id: Ia478da385744cb064da270819322abc3d8789f9c Reviewed-on: https://chromium-review.googlesource.com/614081 Reviewed-by: Reilly Grant <reillyg@chromium.org> Reviewed-by: Erik Chen <erikchen@chromium.org> Commit-Queue: Nico Weber <thakis@chromium.org> Cr-Commit-Position: refs/heads/master@{#494135} [modify] https://crrev.com/d09279c9b7cd06cc9d1fa91c03c3a49338674041/services/shape_detection/barcode_detection_impl_mac.h [modify] https://crrev.com/d09279c9b7cd06cc9d1fa91c03c3a49338674041/services/shape_detection/text_detection_impl_mac.h [modify] https://crrev.com/d09279c9b7cd06cc9d1fa91c03c3a49338674041/ui/base/cocoa/touch_bar_util.h
,
Aug 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b8e90b623d45c0588550935f29dc2c0e080798aa commit b8e90b623d45c0588550935f29dc2c0e080798aa Author: David Benjamin <davidben@chromium.org> Date: Mon Aug 14 21:13:27 2017 Remove dlsym indirection for SecKey APIs. Now that we are using the 10.12 SDK, we no longer need unsafe dlsym hacks to use SecKey APIs. Bug: 669240 Change-Id: I02ffed8e789f8db87ff5688181a5aff810387070 Reviewed-on: https://chromium-review.googlesource.com/614082 Reviewed-by: Erik Chen <erikchen@chromium.org> Commit-Queue: David Benjamin <davidben@chromium.org> Cr-Commit-Position: refs/heads/master@{#494191} [modify] https://crrev.com/b8e90b623d45c0588550935f29dc2c0e080798aa/net/ssl/ssl_platform_key_mac.cc
,
Aug 14 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/c1dd5bd181b2f3ff26bba13ffabc357de7bc9a9f commit c1dd5bd181b2f3ff26bba13ffabc357de7bc9a9f Author: Findit <findit-for-me@appspot.gserviceaccount.com> Date: Mon Aug 14 22:04:15 2017 Revert "Remove dlsym indirection for SecKey APIs." This reverts commit b8e90b623d45c0588550935f29dc2c0e080798aa. Reason for revert: Findit (https://goo.gl/kROfz5) identified CL at revision 494191 as the culprit for failures in the build cycles as shown on: https://findit-for-me.appspot.com/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtL2I4ZTkwYjYyM2Q0NWMwNTg4NTUwOTM1ZjI5ZGMyYzBlMDgwNzk4YWEM Sample Build: https://luci-milo.appspot.com/buildbot/chromium.webkit/WebKit%20Mac%20Builder/216314 Original change's description: > Remove dlsym indirection for SecKey APIs. > > Now that we are using the 10.12 SDK, we no longer need unsafe dlsym > hacks to use SecKey APIs. > > Bug: 669240 > Change-Id: I02ffed8e789f8db87ff5688181a5aff810387070 > Reviewed-on: https://chromium-review.googlesource.com/614082 > Reviewed-by: Erik Chen <erikchen@chromium.org> > Commit-Queue: David Benjamin <davidben@chromium.org> > Cr-Commit-Position: refs/heads/master@{#494191} No-Presubmit: true No-Tree-Checks: true No-Try: true Bug: 669240 Change-Id: I59fdef03a3b7ec98a644bf013c84d91551262b33 Reviewed-on: https://chromium-review.googlesource.com/614469 Reviewed-by: David Benjamin <davidben@chromium.org> Reviewed-by: Reilly Grant <reillyg@chromium.org> Commit-Queue: David Benjamin <davidben@chromium.org> Commit-Queue: Reilly Grant <reillyg@chromium.org> Cr-Commit-Position: refs/heads/master@{#494192} [modify] https://crrev.com/c1dd5bd181b2f3ff26bba13ffabc357de7bc9a9f/net/ssl/ssl_platform_key_mac.cc
,
Aug 14 2017
,
Oct 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7d7509a4ae7ff0decac81805c7727e86e083eac2 commit 7d7509a4ae7ff0decac81805c7727e86e083eac2 Author: erikchen <erikchen@chromium.org> Date: Mon Oct 02 23:40:36 2017 macOS: Update build instructions to reflect new build requirements. Chrome now requires Xcode 8, macOS 10.12, and 10.12 SDK. Bug: 669240 Change-Id: I71b0f4238ac3b7baa657bb469480c1a17eaf1e77 Reviewed-on: https://chromium-review.googlesource.com/696291 Reviewed-by: Dirk Pranke <dpranke@chromium.org> Commit-Queue: Erik Chen <erikchen@chromium.org> Cr-Commit-Position: refs/heads/master@{#505857} [modify] https://crrev.com/7d7509a4ae7ff0decac81805c7727e86e083eac2/docs/mac_build_instructions.md
,
Nov 2 2017
We now build with the 10.12 SDK everywhere...I think. Many thanks to tansell@ and dpranke@ for doing the last push and getting WebKit testers over to using the 10.12 SDK.
,
Nov 2 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/8418e098b9cbedf884878b61dcd3292c515845cf commit 8418e098b9cbedf884878b61dcd3292c515845cf Author: David Benjamin <davidben@chromium.org> Date: Thu Nov 02 21:44:54 2017 Reland "Remove dlsym indirection for SecKey APIs." This is a reland of b8e90b623d45c0588550935f29dc2c0e080798aa. Per https://crbug.com/669240#c52 , this should be okay now? Original change's description: > Remove dlsym indirection for SecKey APIs. > > Now that we are using the 10.12 SDK, we no longer need unsafe dlsym > hacks to use SecKey APIs. > > Bug: 669240 > Change-Id: I02ffed8e789f8db87ff5688181a5aff810387070 > Reviewed-on: https://chromium-review.googlesource.com/614082 > Reviewed-by: Erik Chen <erikchen@chromium.org> > Commit-Queue: David Benjamin <davidben@chromium.org> > Cr-Commit-Position: refs/heads/master@{#494191} Bug: 669240 Change-Id: I286a22ff0d3a4db4ed711e2b56d90b28e7032085 Reviewed-on: https://chromium-review.googlesource.com/752101 Reviewed-by: Erik Chen <erikchen@chromium.org> Commit-Queue: David Benjamin <davidben@chromium.org> Cr-Commit-Position: refs/heads/master@{#513608} [modify] https://crrev.com/8418e098b9cbedf884878b61dcd3292c515845cf/net/ssl/ssl_platform_key_mac.cc |
|||||||||||
►
Sign in to add a comment |
|||||||||||
Comment 1 by erikc...@chromium.org
, Jan 17 2017