Title: [227156] trunk
Revision
227156
Author
[email protected]
Date
2018-01-18 11:49:51 -0800 (Thu, 18 Jan 2018)

Log Message

[Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
https://bugs.webkit.org/show_bug.cgi?id=181803

Reviewed by Tim Horton.

Source/bmalloc:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.

Source/_javascript_Core:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
* Configurations/Version.xcconfig: Updated.
* Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
  useful for defining settings that depend on the target macOS version.

Source/ThirdParty/ANGLE:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.

Source/ThirdParty/libwebrtc:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
  useful for defining settings that depend on the target macOS version.
* Configurations/opus.xcconfig: Adopted macOSTargetConditionals helper.

Source/WebCore:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
* Configurations/Version.xcconfig: Updated.
* Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
  useful for defining settings that depend on the target macOS version.

Source/WebCore/PAL:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
* Configurations/Version.xcconfig: Updated.
* Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
  useful for defining settings that depend on the target macOS version.

Source/WebInspectorUI:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/Version.xcconfig: Ditto.

Source/WebKit:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
* Configurations/Version.xcconfig: Updated.
* Configurations/macOSTargetConditionals.xcconfig: Added.  Defines helper build settings
  useful for defining settings that depend on the target macOS version.

Source/WebKitLegacy/mac:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Ditto.
* Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
* Configurations/Version.xcconfig: Updated.
* Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
  useful for defining settings that depend on the target macOS version.

Source/WTF:

* Configurations/Base.xcconfig: Updated.
* Configurations/DebugRelease.xcconfig: Updated.

Tools:

* DumpRenderTree/mac/Configurations/Base.xcconfig: Updated.
* DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Ditto.
* ImageDiff/cg/Configurations/Base.xcconfig: Ditto.
* ImageDiff/cg/Configurations/DebugRelease.xcconfig: Ditto.
* MiniBrowser/Configurations/Base.xcconfig: Ditto.
* MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
* TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
* TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
* TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals
  helpers.
* TestWebKitAPI/Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build
  settings useful for defining settings that depend on the target macOS version.
* WebKitTestRunner/Configurations/Base.xcconfig: Updated.
* WebKitTestRunner/Configurations/DebugRelease.xcconfig: Updated.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (227155 => 227156)


--- trunk/Source/_javascript_Core/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/_javascript_Core/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,17 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+        * Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
+        * Configurations/Version.xcconfig: Updated.
+        * Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
+          useful for defining settings that depend on the target macOS version.
+
 2018-01-18  Michael Saboff  <[email protected]>
 
         REGRESSION (r226068): [X86] Crash in _javascript_Core ShadowChicken when handling exceptions

Modified: trunk/Source/_javascript_Core/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/_javascript_Core/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/_javascript_Core/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -98,6 +98,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 AD_HOC_CODE_SIGNING_ALLOWED = YES;
 CODE_SIGN_IDENTITY = -;

Modified: trunk/Source/_javascript_Core/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/_javascript_Core/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/_javascript_Core/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Modified: trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig (227155 => 227156)


--- trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/_javascript_Core/Configurations/FeatureDefines.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -31,13 +31,8 @@
 
 // Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_101100 = YES;
+#include "macOSTargetConditionals.xcconfig"
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101100 = YES;
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101200 = YES;
-
 ENABLE_3D_TRANSFORMS = ENABLE_3D_TRANSFORMS;
 ENABLE_ACCELERATED_2D_CANVAS = ;
 ENABLE_ACCELERATED_OVERFLOW_SCROLLING[sdk=iphone*] = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
@@ -46,11 +41,8 @@
 ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
 ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
 
-DISABLE_APPLE_PAY_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200);
-ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY_IF_NOT_$(DISABLE_APPLE_PAY_macosx));
-ENABLE_APPLE_PAY_IF_NOT_ = $(ENABLE_APPLE_PAY_IF_NOT_NO);
-ENABLE_APPLE_PAY_IF_NOT_NO = ENABLE_APPLE_PAY;
-ENABLE_APPLE_PAY_IF_NOT_YES = ;
+ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY$(WK_MACOS_1012));
+ENABLE_APPLE_PAY_MACOS_SINCE_1012 = ENABLE_APPLE_PAY;
 
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphone*] = $(ENABLE_APPLE_PAY_SESSION_V3_$(PLATFORM_NAME));
 ENABLE_APPLE_PAY_SESSION_V3_iphoneos = ENABLE_APPLE_PAY_SESSION_V3;
@@ -58,11 +50,8 @@
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphoneos10*] = ;
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphonesimulator10*] = ;
 
-DISABLE_APPLE_PAY_SESSION_V3_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_$(DISABLE_APPLE_PAY_SESSION_V3_macosx));
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_ = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO);
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO = ENABLE_APPLE_PAY_SESSION_V3;
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_YES = ;
+ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3$(WK_MACOS_1013));
+ENABLE_APPLE_PAY_SESSION_V3_MACOS_SINCE_1013 = ENABLE_APPLE_PAY_SESSION_V3;
 
 ENABLE_FULLSCREEN_API[sdk=iphone*] = $(ENABLE_FULLSCREEN_API_$(PLATFORM_NAME));
 ENABLE_FULLSCREEN_API_iphoneos = ENABLE_FULLSCREEN_API;
@@ -205,10 +194,8 @@
 ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;
 ENABLE_VIDEO = ENABLE_VIDEO;
 ENABLE_VIDEO_PRESENTATION_MODE[sdk=iphone*] = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR))
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101200 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101300 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101400 = ENABLE_VIDEO_PRESENTATION_MODE;
+ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE$(WK_MACOS_1012));
+ENABLE_VIDEO_PRESENTATION_MODE_MACOS_SINCE_1012 = ENABLE_VIDEO_PRESENTATION_MODE;
 ENABLE_VIDEO_TRACK = ENABLE_VIDEO_TRACK;
 ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
 ENABLE_WEBASSEMBLY = ;
@@ -236,11 +223,8 @@
 ENABLE_VARIATION_FONTS[sdk=iphoneos10*] = ;
 ENABLE_VARIATION_FONTS[sdk=iphonesimulator10*] = ;
 
-DISABLE_VARIATION_FONTS_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS_IF_NOT_$(DISABLE_VARIATION_FONTS_macosx));
-ENABLE_VARIATION_FONTS_IF_NOT_ = $(ENABLE_VARIATION_FONTS_IF_NOT_NO);
-ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
-ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
+ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS$(WK_MACOS_1013));
+ENABLE_VARIATION_FONTS_MACOS_SINCE_1013 = ENABLE_VARIATION_FONTS;
 
 ENABLE_DRAG_SUPPORT[sdk=iphone*] = $(ENABLE_DRAG_SUPPORT_$(PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;

Modified: trunk/Source/_javascript_Core/Configurations/Version.xcconfig (227155 => 227156)


--- trunk/Source/_javascript_Core/Configurations/Version.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/_javascript_Core/Configurations/Version.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -39,6 +39,7 @@
 SYSTEM_VERSION_PREFIX_macosx_101200 = 12;
 SYSTEM_VERSION_PREFIX_macosx_101300 = 13;
 SYSTEM_VERSION_PREFIX_macosx_101400 = 14;
+SYSTEM_VERSION_PREFIX_macosx_101500 = 15;
 
 // The production build always uses the full version with a system version prefix.
 BUNDLE_VERSION_Production = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);

Added: trunk/Source/_javascript_Core/Configurations/macOSTargetConditionals.xcconfig (0 => 227156)


--- trunk/Source/_javascript_Core/Configurations/macOSTargetConditionals.xcconfig	                        (rev 0)
+++ trunk/Source/_javascript_Core/Configurations/macOSTargetConditionals.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -0,0 +1,105 @@
+// Copyright (C) 2018 Apple Inc. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+//    notice, this list of conditions and the following disclaimer in the
+//    documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Use the following helpers to define build settings whose value depends on the target
+// macOS version in a succinct and future-proof way.
+//
+// Example 1: To give the SMOOTHNESS build setting the value 3 in macOS 10.12 and later and the
+// value 2 in earlier versions, write:
+//
+//     SMOOTHNESS = $(SMOOTHNESS$(WK_MACOS_1012));
+//     SMOOTHNESS_MACOS_BEFORE_1012 = 2;
+//     SMOOTHNESS_MACOS_SINCE_1012 = 3;
+//
+// Example 2: To define ENABLE_COLOR to ENABLE_COLOR in all platforms except macOS 10.12 and
+// earlier write:
+//
+//     ENABLE_COLOR = ENABLE_COLOR;
+//     ENABLE_COLOR[sdk=macosx*] = $(ENABLE_COLOR$(WK_MACOS_1013));
+//     ENABLE_COLOR_MACOS_SINCE_1013 = $(ENABLE_COLOR);
+//
+// Example 3: To give EXTRA_PATH one value before macOS 10.12, another value in macOS 10.12 and
+// macOS 10.13, and a third value in macOS 10.14 and later, write:
+//
+//     EXTRA_PATH = $(EXTRA_PATH$(WK_MACOS_1012_1014));
+//     EXTRA_PATH_MACOS_BEFORE_1012 = "/Library/Application Support/WebKit";
+//     EXTRA_PATH_MACOS_BEFORE_1014 = /System/Library/CoreServices;
+//     EXTRA_PATH_MACOS_SINCE_1014 = /System/Library/PrivateFrameworks;
+
+WK_MACOS_BEFORE_1012 = $(WK_MACOS_BEFORE_1012_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1012_101100 = YES;
+
+WK_MACOS_BEFORE_1013 = $(WK_MACOS_BEFORE_1013_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1013_101100 = YES;
+WK_MACOS_BEFORE_1013_101200 = YES;
+
+WK_MACOS_BEFORE_1014 = $(WK_MACOS_BEFORE_1014_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1014_101100 = YES;
+WK_MACOS_BEFORE_1014_101200 = YES;
+WK_MACOS_BEFORE_1014_101300 = YES;
+
+WK_MACOS_BEFORE_1015 = $(WK_MACOS_BEFORE_1015_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1015_101100 = YES;
+WK_MACOS_BEFORE_1015_101200 = YES;
+WK_MACOS_BEFORE_1015_101300 = YES;
+WK_MACOS_BEFORE_1015_101400 = YES;
+
+WK_MACOS_1012 = $(WK_MACOS_1012_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_ = _MACOS_SINCE_1012;
+WK_MACOS_1012_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1013 = $(WK_MACOS_1012_1013_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1013_ = $(WK_MACOS_1013);
+WK_MACOS_1012_1013_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1014 = $(WK_MACOS_1012_1014_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1012_1014_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1015 = $(WK_MACOS_1012_1015_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1012_1015_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1013 = $(WK_MACOS_1013_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_ = _MACOS_SINCE_1013;
+WK_MACOS_1013_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1014 = $(WK_MACOS_1013_1014_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1013_1014_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1015 = $(WK_MACOS_1013_1015_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1013_1015_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1014 = $(WK_MACOS_1014_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_ = _MACOS_SINCE_1014;
+WK_MACOS_1014_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1014_1015 = $(WK_MACOS_1014_1015_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1014_1015_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1015 = $(WK_MACOS_1015_$(WK_MACOS_BEFORE_1015));
+WK_MACOS_1015_ = _MACOS_SINCE_1015;
+WK_MACOS_1015_YES = _MACOS_BEFORE_1015;

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (227155 => 227156)


--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,13 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+
 2018-01-09  Dan Bernstein  <[email protected]>
 
         Removed some empty directories that were left behind

Modified: trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/ThirdParty/ANGLE/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -58,6 +58,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SDKROOT = macosx.internal;
 

Modified: trunk/Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/ThirdParty/ANGLE/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -11,6 +11,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Modified: trunk/Source/ThirdParty/libwebrtc/ChangeLog (227155 => 227156)


--- trunk/Source/ThirdParty/libwebrtc/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/ThirdParty/libwebrtc/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,16 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+        * Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
+          useful for defining settings that depend on the target macOS version.
+        * Configurations/opus.xcconfig: Adopted macOSTargetConditionals helper.
+
 2018-01-08  David Kilzer  <[email protected]>
 
         libwebrtc: Fix 'ld: warning: cannot export hidden symbol' messages

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -58,6 +58,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SDKROOT = macosx.internal;
 

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -11,6 +11,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Added: trunk/Source/ThirdParty/libwebrtc/Configurations/macOSTargetConditionals.xcconfig (0 => 227156)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/macOSTargetConditionals.xcconfig	                        (rev 0)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/macOSTargetConditionals.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -0,0 +1,82 @@
+// Use the following helpers to define build settings whose value depends on the target
+// macOS version in a succinct and future-proof way.
+//
+// Example 1: To give the SMOOTHNESS build setting the value 3 in macOS 10.12 and later and the
+// value 2 in earlier versions, write:
+//
+//     SMOOTHNESS = $(SMOOTHNESS$(WK_MACOS_1012));
+//     SMOOTHNESS_MACOS_BEFORE_1012 = 2;
+//     SMOOTHNESS_MACOS_SINCE_1012 = 3;
+//
+// Example 2: To define ENABLE_COLOR to ENABLE_COLOR in all platforms except macOS 10.12 and
+// earlier write:
+//
+//     ENABLE_COLOR = ENABLE_COLOR;
+//     ENABLE_COLOR[sdk=macosx*] = $(ENABLE_COLOR$(WK_MACOS_1013));
+//     ENABLE_COLOR_MACOS_SINCE_1013 = $(ENABLE_COLOR);
+//
+// Example 3: To give EXTRA_PATH one value before macOS 10.12, another value in macOS 10.12 and
+// macOS 10.13, and a third value in macOS 10.14 and later, write:
+//
+//     EXTRA_PATH = $(EXTRA_PATH$(WK_MACOS_1012_1014));
+//     EXTRA_PATH_MACOS_BEFORE_1012 = "/Library/Application Support/WebKit";
+//     EXTRA_PATH_MACOS_BEFORE_1014 = /System/Library/CoreServices;
+//     EXTRA_PATH_MACOS_SINCE_1014 = /System/Library/PrivateFrameworks;
+
+WK_MACOS_BEFORE_1012 = $(WK_MACOS_BEFORE_1012_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1012_101100 = YES;
+
+WK_MACOS_BEFORE_1013 = $(WK_MACOS_BEFORE_1013_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1013_101100 = YES;
+WK_MACOS_BEFORE_1013_101200 = YES;
+
+WK_MACOS_BEFORE_1014 = $(WK_MACOS_BEFORE_1014_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1014_101100 = YES;
+WK_MACOS_BEFORE_1014_101200 = YES;
+WK_MACOS_BEFORE_1014_101300 = YES;
+
+WK_MACOS_BEFORE_1015 = $(WK_MACOS_BEFORE_1015_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1015_101100 = YES;
+WK_MACOS_BEFORE_1015_101200 = YES;
+WK_MACOS_BEFORE_1015_101300 = YES;
+WK_MACOS_BEFORE_1015_101400 = YES;
+
+WK_MACOS_1012 = $(WK_MACOS_1012_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_ = _MACOS_SINCE_1012;
+WK_MACOS_1012_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1013 = $(WK_MACOS_1012_1013_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1013_ = $(WK_MACOS_1013);
+WK_MACOS_1012_1013_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1014 = $(WK_MACOS_1012_1014_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1012_1014_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1015 = $(WK_MACOS_1012_1015_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1012_1015_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1013 = $(WK_MACOS_1013_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_ = _MACOS_SINCE_1013;
+WK_MACOS_1013_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1014 = $(WK_MACOS_1013_1014_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1013_1014_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1015 = $(WK_MACOS_1013_1015_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1013_1015_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1014 = $(WK_MACOS_1014_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_ = _MACOS_SINCE_1014;
+WK_MACOS_1014_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1014_1015 = $(WK_MACOS_1014_1015_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1014_1015_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1015 = $(WK_MACOS_1015_$(WK_MACOS_BEFORE_1015));
+WK_MACOS_1015_ = _MACOS_SINCE_1015;
+WK_MACOS_1015_YES = _MACOS_BEFORE_1015;

Modified: trunk/Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig (227155 => 227156)


--- trunk/Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/ThirdParty/libwebrtc/Configurations/opus.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,5 @@
+#include "macOSTargetConditionals.xcconfig"
+
 PRODUCT_NAME = opus;
 
 CLANG_WARN_BOOL_CONVERSION = YES;
@@ -20,7 +22,5 @@
 
 // El Capitan and iossimulator can't use SSE4 intrinsics, but Sierra and newer can.
 EXCLUDED_SOURCE_FILE_NAMES_macosx_101100 = NSQ_sse.c VAD_sse.c VQ_WMat_EC_sse.c NSQ_del_dec_sse.c;
-SSE4_FLAG[sdk=macosx*] = $(SSE4_FLAG_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-SSE4_FLAG_macosx_101200 = OPUS_X86_MAY_HAVE_SSE4_1;
-SSE4_FLAG_macosx_101300 = OPUS_X86_MAY_HAVE_SSE4_1;
-SSE4_FLAG_macosx_101400 = OPUS_X86_MAY_HAVE_SSE4_1;
+SSE4_FLAG[sdk=macosx*] = $(SSE4_FLAG$(WK_MACOS_1012));
+SSE4_FLAG_MACOS_SINCE_1012 = OPUS_X86_MAY_HAVE_SSE4_1;

Modified: trunk/Source/WTF/ChangeLog (227155 => 227156)


--- trunk/Source/WTF/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WTF/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,13 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Updated.
+
 2018-01-17  Daniel Bates  <[email protected]>
 
         REGRESSION (r222795): Cardiogram never signs in

Modified: trunk/Source/WTF/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/WTF/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WTF/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -97,6 +97,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx appletvos appletvsimulator watchos watchsimulator;
 

Modified: trunk/Source/WTF/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/WTF/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WTF/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -33,6 +33,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Modified: trunk/Source/WebCore/ChangeLog (227155 => 227156)


--- trunk/Source/WebCore/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,17 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+        * Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
+        * Configurations/Version.xcconfig: Updated.
+        * Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
+          useful for defining settings that depend on the target macOS version.
+
 2018-01-18  Chris Dumez  <[email protected]>
 
         Service Workers restored from persistent storage have 'redundant' state

Modified: trunk/Source/WebCore/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/WebCore/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -87,6 +87,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 WK_TARGET_IOS_VERSION_MAJOR = $(IPHONEOS_DEPLOYMENT_TARGET:base); // iOS 9.3 => 9
 

Modified: trunk/Source/WebCore/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/WebCore/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Modified: trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig (227155 => 227156)


--- trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/Configurations/FeatureDefines.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -31,13 +31,8 @@
 
 // Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_101100 = YES;
+#include "macOSTargetConditionals.xcconfig"
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101100 = YES;
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101200 = YES;
-
 ENABLE_3D_TRANSFORMS = ENABLE_3D_TRANSFORMS;
 ENABLE_ACCELERATED_2D_CANVAS = ;
 ENABLE_ACCELERATED_OVERFLOW_SCROLLING[sdk=iphone*] = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
@@ -46,11 +41,8 @@
 ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
 ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
 
-DISABLE_APPLE_PAY_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200);
-ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY_IF_NOT_$(DISABLE_APPLE_PAY_macosx));
-ENABLE_APPLE_PAY_IF_NOT_ = $(ENABLE_APPLE_PAY_IF_NOT_NO);
-ENABLE_APPLE_PAY_IF_NOT_NO = ENABLE_APPLE_PAY;
-ENABLE_APPLE_PAY_IF_NOT_YES = ;
+ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY$(WK_MACOS_1012));
+ENABLE_APPLE_PAY_MACOS_SINCE_1012 = ENABLE_APPLE_PAY;
 
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphone*] = $(ENABLE_APPLE_PAY_SESSION_V3_$(PLATFORM_NAME));
 ENABLE_APPLE_PAY_SESSION_V3_iphoneos = ENABLE_APPLE_PAY_SESSION_V3;
@@ -58,11 +50,8 @@
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphoneos10*] = ;
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphonesimulator10*] = ;
 
-DISABLE_APPLE_PAY_SESSION_V3_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_$(DISABLE_APPLE_PAY_SESSION_V3_macosx));
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_ = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO);
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO = ENABLE_APPLE_PAY_SESSION_V3;
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_YES = ;
+ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3$(WK_MACOS_1013));
+ENABLE_APPLE_PAY_SESSION_V3_MACOS_SINCE_1013 = ENABLE_APPLE_PAY_SESSION_V3;
 
 ENABLE_FULLSCREEN_API[sdk=iphone*] = $(ENABLE_FULLSCREEN_API_$(PLATFORM_NAME));
 ENABLE_FULLSCREEN_API_iphoneos = ENABLE_FULLSCREEN_API;
@@ -205,10 +194,8 @@
 ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;
 ENABLE_VIDEO = ENABLE_VIDEO;
 ENABLE_VIDEO_PRESENTATION_MODE[sdk=iphone*] = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR))
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101200 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101300 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101400 = ENABLE_VIDEO_PRESENTATION_MODE;
+ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE$(WK_MACOS_1012));
+ENABLE_VIDEO_PRESENTATION_MODE_MACOS_SINCE_1012 = ENABLE_VIDEO_PRESENTATION_MODE;
 ENABLE_VIDEO_TRACK = ENABLE_VIDEO_TRACK;
 ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
 ENABLE_WEBASSEMBLY = ;
@@ -236,11 +223,8 @@
 ENABLE_VARIATION_FONTS[sdk=iphoneos10*] = ;
 ENABLE_VARIATION_FONTS[sdk=iphonesimulator10*] = ;
 
-DISABLE_VARIATION_FONTS_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS_IF_NOT_$(DISABLE_VARIATION_FONTS_macosx));
-ENABLE_VARIATION_FONTS_IF_NOT_ = $(ENABLE_VARIATION_FONTS_IF_NOT_NO);
-ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
-ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
+ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS$(WK_MACOS_1013));
+ENABLE_VARIATION_FONTS_MACOS_SINCE_1013 = ENABLE_VARIATION_FONTS;
 
 ENABLE_DRAG_SUPPORT[sdk=iphone*] = $(ENABLE_DRAG_SUPPORT_$(PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;

Modified: trunk/Source/WebCore/Configurations/Version.xcconfig (227155 => 227156)


--- trunk/Source/WebCore/Configurations/Version.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/Configurations/Version.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -39,6 +39,7 @@
 SYSTEM_VERSION_PREFIX_macosx_101200 = 12;
 SYSTEM_VERSION_PREFIX_macosx_101300 = 13;
 SYSTEM_VERSION_PREFIX_macosx_101400 = 14;
+SYSTEM_VERSION_PREFIX_macosx_101500 = 15;
 
 // The production build always uses the full version with a system version prefix.
 BUNDLE_VERSION_Production = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);

Added: trunk/Source/WebCore/Configurations/macOSTargetConditionals.xcconfig (0 => 227156)


--- trunk/Source/WebCore/Configurations/macOSTargetConditionals.xcconfig	                        (rev 0)
+++ trunk/Source/WebCore/Configurations/macOSTargetConditionals.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -0,0 +1,105 @@
+// Copyright (C) 2018 Apple Inc. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+//    notice, this list of conditions and the following disclaimer in the
+//    documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Use the following helpers to define build settings whose value depends on the target
+// macOS version in a succinct and future-proof way.
+//
+// Example 1: To give the SMOOTHNESS build setting the value 3 in macOS 10.12 and later and the
+// value 2 in earlier versions, write:
+//
+//     SMOOTHNESS = $(SMOOTHNESS$(WK_MACOS_1012));
+//     SMOOTHNESS_MACOS_BEFORE_1012 = 2;
+//     SMOOTHNESS_MACOS_SINCE_1012 = 3;
+//
+// Example 2: To define ENABLE_COLOR to ENABLE_COLOR in all platforms except macOS 10.12 and
+// earlier write:
+//
+//     ENABLE_COLOR = ENABLE_COLOR;
+//     ENABLE_COLOR[sdk=macosx*] = $(ENABLE_COLOR$(WK_MACOS_1013));
+//     ENABLE_COLOR_MACOS_SINCE_1013 = $(ENABLE_COLOR);
+//
+// Example 3: To give EXTRA_PATH one value before macOS 10.12, another value in macOS 10.12 and
+// macOS 10.13, and a third value in macOS 10.14 and later, write:
+//
+//     EXTRA_PATH = $(EXTRA_PATH$(WK_MACOS_1012_1014));
+//     EXTRA_PATH_MACOS_BEFORE_1012 = "/Library/Application Support/WebKit";
+//     EXTRA_PATH_MACOS_BEFORE_1014 = /System/Library/CoreServices;
+//     EXTRA_PATH_MACOS_SINCE_1014 = /System/Library/PrivateFrameworks;
+
+WK_MACOS_BEFORE_1012 = $(WK_MACOS_BEFORE_1012_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1012_101100 = YES;
+
+WK_MACOS_BEFORE_1013 = $(WK_MACOS_BEFORE_1013_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1013_101100 = YES;
+WK_MACOS_BEFORE_1013_101200 = YES;
+
+WK_MACOS_BEFORE_1014 = $(WK_MACOS_BEFORE_1014_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1014_101100 = YES;
+WK_MACOS_BEFORE_1014_101200 = YES;
+WK_MACOS_BEFORE_1014_101300 = YES;
+
+WK_MACOS_BEFORE_1015 = $(WK_MACOS_BEFORE_1015_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1015_101100 = YES;
+WK_MACOS_BEFORE_1015_101200 = YES;
+WK_MACOS_BEFORE_1015_101300 = YES;
+WK_MACOS_BEFORE_1015_101400 = YES;
+
+WK_MACOS_1012 = $(WK_MACOS_1012_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_ = _MACOS_SINCE_1012;
+WK_MACOS_1012_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1013 = $(WK_MACOS_1012_1013_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1013_ = $(WK_MACOS_1013);
+WK_MACOS_1012_1013_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1014 = $(WK_MACOS_1012_1014_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1012_1014_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1015 = $(WK_MACOS_1012_1015_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1012_1015_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1013 = $(WK_MACOS_1013_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_ = _MACOS_SINCE_1013;
+WK_MACOS_1013_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1014 = $(WK_MACOS_1013_1014_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1013_1014_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1015 = $(WK_MACOS_1013_1015_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1013_1015_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1014 = $(WK_MACOS_1014_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_ = _MACOS_SINCE_1014;
+WK_MACOS_1014_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1014_1015 = $(WK_MACOS_1014_1015_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1014_1015_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1015 = $(WK_MACOS_1015_$(WK_MACOS_BEFORE_1015));
+WK_MACOS_1015_ = _MACOS_SINCE_1015;
+WK_MACOS_1015_YES = _MACOS_BEFORE_1015;

Modified: trunk/Source/WebCore/PAL/ChangeLog (227155 => 227156)


--- trunk/Source/WebCore/PAL/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/PAL/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,17 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+        * Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
+        * Configurations/Version.xcconfig: Updated.
+        * Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
+          useful for defining settings that depend on the target macOS version.
+
 2018-01-17  John Wilander  <[email protected]>
 
         Resource Load Statistics: Block cookies for prevalent resources without user interaction

Modified: trunk/Source/WebCore/PAL/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/WebCore/PAL/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/PAL/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -87,6 +87,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 WK_TARGET_IOS_VERSION_MAJOR = $(IPHONEOS_DEPLOYMENT_TARGET:base); // iOS 9.3 => 9
 

Modified: trunk/Source/WebCore/PAL/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/WebCore/PAL/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/PAL/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Modified: trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig (227155 => 227156)


--- trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/PAL/Configurations/FeatureDefines.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -31,13 +31,8 @@
 
 // Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_101100 = YES;
+#include "macOSTargetConditionals.xcconfig"
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101100 = YES;
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101200 = YES;
-
 ENABLE_3D_TRANSFORMS = ENABLE_3D_TRANSFORMS;
 ENABLE_ACCELERATED_2D_CANVAS = ;
 ENABLE_ACCELERATED_OVERFLOW_SCROLLING[sdk=iphone*] = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
@@ -46,11 +41,8 @@
 ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
 ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
 
-DISABLE_APPLE_PAY_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200);
-ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY_IF_NOT_$(DISABLE_APPLE_PAY_macosx));
-ENABLE_APPLE_PAY_IF_NOT_ = $(ENABLE_APPLE_PAY_IF_NOT_NO);
-ENABLE_APPLE_PAY_IF_NOT_NO = ENABLE_APPLE_PAY;
-ENABLE_APPLE_PAY_IF_NOT_YES = ;
+ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY$(WK_MACOS_1012));
+ENABLE_APPLE_PAY_MACOS_SINCE_1012 = ENABLE_APPLE_PAY;
 
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphone*] = $(ENABLE_APPLE_PAY_SESSION_V3_$(PLATFORM_NAME));
 ENABLE_APPLE_PAY_SESSION_V3_iphoneos = ENABLE_APPLE_PAY_SESSION_V3;
@@ -58,11 +50,8 @@
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphoneos10*] = ;
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphonesimulator10*] = ;
 
-DISABLE_APPLE_PAY_SESSION_V3_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_$(DISABLE_APPLE_PAY_SESSION_V3_macosx));
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_ = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO);
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO = ENABLE_APPLE_PAY_SESSION_V3;
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_YES = ;
+ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3$(WK_MACOS_1013));
+ENABLE_APPLE_PAY_SESSION_V3_MACOS_SINCE_1013 = ENABLE_APPLE_PAY_SESSION_V3;
 
 ENABLE_FULLSCREEN_API[sdk=iphone*] = $(ENABLE_FULLSCREEN_API_$(PLATFORM_NAME));
 ENABLE_FULLSCREEN_API_iphoneos = ENABLE_FULLSCREEN_API;
@@ -205,10 +194,8 @@
 ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;
 ENABLE_VIDEO = ENABLE_VIDEO;
 ENABLE_VIDEO_PRESENTATION_MODE[sdk=iphone*] = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR))
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101200 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101300 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101400 = ENABLE_VIDEO_PRESENTATION_MODE;
+ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE$(WK_MACOS_1012));
+ENABLE_VIDEO_PRESENTATION_MODE_MACOS_SINCE_1012 = ENABLE_VIDEO_PRESENTATION_MODE;
 ENABLE_VIDEO_TRACK = ENABLE_VIDEO_TRACK;
 ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
 ENABLE_WEBASSEMBLY = ;
@@ -236,11 +223,8 @@
 ENABLE_VARIATION_FONTS[sdk=iphoneos10*] = ;
 ENABLE_VARIATION_FONTS[sdk=iphonesimulator10*] = ;
 
-DISABLE_VARIATION_FONTS_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS_IF_NOT_$(DISABLE_VARIATION_FONTS_macosx));
-ENABLE_VARIATION_FONTS_IF_NOT_ = $(ENABLE_VARIATION_FONTS_IF_NOT_NO);
-ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
-ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
+ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS$(WK_MACOS_1013));
+ENABLE_VARIATION_FONTS_MACOS_SINCE_1013 = ENABLE_VARIATION_FONTS;
 
 ENABLE_DRAG_SUPPORT[sdk=iphone*] = $(ENABLE_DRAG_SUPPORT_$(PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;

Modified: trunk/Source/WebCore/PAL/Configurations/Version.xcconfig (227155 => 227156)


--- trunk/Source/WebCore/PAL/Configurations/Version.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebCore/PAL/Configurations/Version.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -39,6 +39,7 @@
 SYSTEM_VERSION_PREFIX_macosx_101200 = 12;
 SYSTEM_VERSION_PREFIX_macosx_101300 = 13;
 SYSTEM_VERSION_PREFIX_macosx_101400 = 14;
+SYSTEM_VERSION_PREFIX_macosx_101500 = 15;
 
 // The production build always uses the full version with a system version prefix.
 BUNDLE_VERSION_Production = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);

Added: trunk/Source/WebCore/PAL/Configurations/macOSTargetConditionals.xcconfig (0 => 227156)


--- trunk/Source/WebCore/PAL/Configurations/macOSTargetConditionals.xcconfig	                        (rev 0)
+++ trunk/Source/WebCore/PAL/Configurations/macOSTargetConditionals.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -0,0 +1,105 @@
+// Copyright (C) 2018 Apple Inc. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+//    notice, this list of conditions and the following disclaimer in the
+//    documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Use the following helpers to define build settings whose value depends on the target
+// macOS version in a succinct and future-proof way.
+//
+// Example 1: To give the SMOOTHNESS build setting the value 3 in macOS 10.12 and later and the
+// value 2 in earlier versions, write:
+//
+//     SMOOTHNESS = $(SMOOTHNESS$(WK_MACOS_1012));
+//     SMOOTHNESS_MACOS_BEFORE_1012 = 2;
+//     SMOOTHNESS_MACOS_SINCE_1012 = 3;
+//
+// Example 2: To define ENABLE_COLOR to ENABLE_COLOR in all platforms except macOS 10.12 and
+// earlier write:
+//
+//     ENABLE_COLOR = ENABLE_COLOR;
+//     ENABLE_COLOR[sdk=macosx*] = $(ENABLE_COLOR$(WK_MACOS_1013));
+//     ENABLE_COLOR_MACOS_SINCE_1013 = $(ENABLE_COLOR);
+//
+// Example 3: To give EXTRA_PATH one value before macOS 10.12, another value in macOS 10.12 and
+// macOS 10.13, and a third value in macOS 10.14 and later, write:
+//
+//     EXTRA_PATH = $(EXTRA_PATH$(WK_MACOS_1012_1014));
+//     EXTRA_PATH_MACOS_BEFORE_1012 = "/Library/Application Support/WebKit";
+//     EXTRA_PATH_MACOS_BEFORE_1014 = /System/Library/CoreServices;
+//     EXTRA_PATH_MACOS_SINCE_1014 = /System/Library/PrivateFrameworks;
+
+WK_MACOS_BEFORE_1012 = $(WK_MACOS_BEFORE_1012_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1012_101100 = YES;
+
+WK_MACOS_BEFORE_1013 = $(WK_MACOS_BEFORE_1013_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1013_101100 = YES;
+WK_MACOS_BEFORE_1013_101200 = YES;
+
+WK_MACOS_BEFORE_1014 = $(WK_MACOS_BEFORE_1014_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1014_101100 = YES;
+WK_MACOS_BEFORE_1014_101200 = YES;
+WK_MACOS_BEFORE_1014_101300 = YES;
+
+WK_MACOS_BEFORE_1015 = $(WK_MACOS_BEFORE_1015_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1015_101100 = YES;
+WK_MACOS_BEFORE_1015_101200 = YES;
+WK_MACOS_BEFORE_1015_101300 = YES;
+WK_MACOS_BEFORE_1015_101400 = YES;
+
+WK_MACOS_1012 = $(WK_MACOS_1012_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_ = _MACOS_SINCE_1012;
+WK_MACOS_1012_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1013 = $(WK_MACOS_1012_1013_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1013_ = $(WK_MACOS_1013);
+WK_MACOS_1012_1013_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1014 = $(WK_MACOS_1012_1014_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1012_1014_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1015 = $(WK_MACOS_1012_1015_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1012_1015_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1013 = $(WK_MACOS_1013_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_ = _MACOS_SINCE_1013;
+WK_MACOS_1013_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1014 = $(WK_MACOS_1013_1014_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1013_1014_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1015 = $(WK_MACOS_1013_1015_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1013_1015_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1014 = $(WK_MACOS_1014_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_ = _MACOS_SINCE_1014;
+WK_MACOS_1014_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1014_1015 = $(WK_MACOS_1014_1015_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1014_1015_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1015 = $(WK_MACOS_1015_$(WK_MACOS_BEFORE_1015));
+WK_MACOS_1015_ = _MACOS_SINCE_1015;
+WK_MACOS_1015_YES = _MACOS_BEFORE_1015;

Modified: trunk/Source/WebInspectorUI/ChangeLog (227155 => 227156)


--- trunk/Source/WebInspectorUI/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebInspectorUI/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,14 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+        * Configurations/Version.xcconfig: Ditto.
+
 2018-01-18  Devin Rousso  <[email protected]>
 
         Web Inspector: Canvas Tab: record button on canvas card doesn't always show on hover, or is misplaced

Modified: trunk/Source/WebInspectorUI/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/WebInspectorUI/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebInspectorUI/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -65,6 +65,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SDKROOT = macosx.internal;
 

Modified: trunk/Source/WebInspectorUI/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/WebInspectorUI/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebInspectorUI/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -11,6 +11,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 ENGINEERING_BUILD = 1;
 

Modified: trunk/Source/WebInspectorUI/Configurations/Version.xcconfig (227155 => 227156)


--- trunk/Source/WebInspectorUI/Configurations/Version.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebInspectorUI/Configurations/Version.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -12,6 +12,7 @@
 SYSTEM_VERSION_PREFIX_macosx_101200 = 12;
 SYSTEM_VERSION_PREFIX_macosx_101300 = 13;
 SYSTEM_VERSION_PREFIX_macosx_101400 = 14;
+SYSTEM_VERSION_PREFIX_macosx_101500 = 15;
 
 BUNDLE_VERSION = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);
 SHORT_VERSION_STRING = $(SYSTEM_VERSION_PREFIX)$(MAJOR_VERSION);

Modified: trunk/Source/WebKit/ChangeLog (227155 => 227156)


--- trunk/Source/WebKit/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKit/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,17 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+        * Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
+        * Configurations/Version.xcconfig: Updated.
+        * Configurations/macOSTargetConditionals.xcconfig: Added.  Defines helper build settings
+          useful for defining settings that depend on the target macOS version.
+
 2018-01-18  Chris Dumez  <[email protected]>
 
         Service Workers restored from persistent storage have 'redundant' state

Modified: trunk/Source/WebKit/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/WebKit/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKit/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -87,6 +87,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 WK_TARGET_IOS_VERSION_MAJOR = $(IPHONEOS_DEPLOYMENT_TARGET:base); // iOS 9.3 => 9
 

Modified: trunk/Source/WebKit/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/WebKit/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKit/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Modified: trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig (227155 => 227156)


--- trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKit/Configurations/FeatureDefines.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -31,13 +31,8 @@
 
 // Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_101100 = YES;
+#include "macOSTargetConditionals.xcconfig"
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101100 = YES;
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101200 = YES;
-
 ENABLE_3D_TRANSFORMS = ENABLE_3D_TRANSFORMS;
 ENABLE_ACCELERATED_2D_CANVAS = ;
 ENABLE_ACCELERATED_OVERFLOW_SCROLLING[sdk=iphone*] = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
@@ -46,11 +41,8 @@
 ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
 ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
 
-DISABLE_APPLE_PAY_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200);
-ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY_IF_NOT_$(DISABLE_APPLE_PAY_macosx));
-ENABLE_APPLE_PAY_IF_NOT_ = $(ENABLE_APPLE_PAY_IF_NOT_NO);
-ENABLE_APPLE_PAY_IF_NOT_NO = ENABLE_APPLE_PAY;
-ENABLE_APPLE_PAY_IF_NOT_YES = ;
+ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY$(WK_MACOS_1012));
+ENABLE_APPLE_PAY_MACOS_SINCE_1012 = ENABLE_APPLE_PAY;
 
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphone*] = $(ENABLE_APPLE_PAY_SESSION_V3_$(PLATFORM_NAME));
 ENABLE_APPLE_PAY_SESSION_V3_iphoneos = ENABLE_APPLE_PAY_SESSION_V3;
@@ -58,11 +50,8 @@
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphoneos10*] = ;
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphonesimulator10*] = ;
 
-DISABLE_APPLE_PAY_SESSION_V3_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_$(DISABLE_APPLE_PAY_SESSION_V3_macosx));
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_ = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO);
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO = ENABLE_APPLE_PAY_SESSION_V3;
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_YES = ;
+ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3$(WK_MACOS_1013));
+ENABLE_APPLE_PAY_SESSION_V3_MACOS_SINCE_1013 = ENABLE_APPLE_PAY_SESSION_V3;
 
 ENABLE_FULLSCREEN_API[sdk=iphone*] = $(ENABLE_FULLSCREEN_API_$(PLATFORM_NAME));
 ENABLE_FULLSCREEN_API_iphoneos = ENABLE_FULLSCREEN_API;
@@ -205,10 +194,8 @@
 ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;
 ENABLE_VIDEO = ENABLE_VIDEO;
 ENABLE_VIDEO_PRESENTATION_MODE[sdk=iphone*] = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR))
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101200 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101300 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101400 = ENABLE_VIDEO_PRESENTATION_MODE;
+ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE$(WK_MACOS_1012));
+ENABLE_VIDEO_PRESENTATION_MODE_MACOS_SINCE_1012 = ENABLE_VIDEO_PRESENTATION_MODE;
 ENABLE_VIDEO_TRACK = ENABLE_VIDEO_TRACK;
 ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
 ENABLE_WEBASSEMBLY = ;
@@ -236,11 +223,8 @@
 ENABLE_VARIATION_FONTS[sdk=iphoneos10*] = ;
 ENABLE_VARIATION_FONTS[sdk=iphonesimulator10*] = ;
 
-DISABLE_VARIATION_FONTS_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS_IF_NOT_$(DISABLE_VARIATION_FONTS_macosx));
-ENABLE_VARIATION_FONTS_IF_NOT_ = $(ENABLE_VARIATION_FONTS_IF_NOT_NO);
-ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
-ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
+ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS$(WK_MACOS_1013));
+ENABLE_VARIATION_FONTS_MACOS_SINCE_1013 = ENABLE_VARIATION_FONTS;
 
 ENABLE_DRAG_SUPPORT[sdk=iphone*] = $(ENABLE_DRAG_SUPPORT_$(PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;

Modified: trunk/Source/WebKit/Configurations/Version.xcconfig (227155 => 227156)


--- trunk/Source/WebKit/Configurations/Version.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKit/Configurations/Version.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -39,6 +39,7 @@
 SYSTEM_VERSION_PREFIX_macosx_101200 = 12;
 SYSTEM_VERSION_PREFIX_macosx_101300 = 13;
 SYSTEM_VERSION_PREFIX_macosx_101400 = 14;
+SYSTEM_VERSION_PREFIX_macosx_101500 = 15;
 
 // The production build always uses the full version with a system version prefix.
 BUNDLE_VERSION_Production = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);

Added: trunk/Source/WebKit/Configurations/macOSTargetConditionals.xcconfig (0 => 227156)


--- trunk/Source/WebKit/Configurations/macOSTargetConditionals.xcconfig	                        (rev 0)
+++ trunk/Source/WebKit/Configurations/macOSTargetConditionals.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -0,0 +1,105 @@
+// Copyright (C) 2018 Apple Inc. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+//    notice, this list of conditions and the following disclaimer in the
+//    documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Use the following helpers to define build settings whose value depends on the target
+// macOS version in a succinct and future-proof way.
+//
+// Example 1: To give the SMOOTHNESS build setting the value 3 in macOS 10.12 and later and the
+// value 2 in earlier versions, write:
+//
+//     SMOOTHNESS = $(SMOOTHNESS$(WK_MACOS_1012));
+//     SMOOTHNESS_MACOS_BEFORE_1012 = 2;
+//     SMOOTHNESS_MACOS_SINCE_1012 = 3;
+//
+// Example 2: To define ENABLE_COLOR to ENABLE_COLOR in all platforms except macOS 10.12 and
+// earlier write:
+//
+//     ENABLE_COLOR = ENABLE_COLOR;
+//     ENABLE_COLOR[sdk=macosx*] = $(ENABLE_COLOR$(WK_MACOS_1013));
+//     ENABLE_COLOR_MACOS_SINCE_1013 = $(ENABLE_COLOR);
+//
+// Example 3: To give EXTRA_PATH one value before macOS 10.12, another value in macOS 10.12 and
+// macOS 10.13, and a third value in macOS 10.14 and later, write:
+//
+//     EXTRA_PATH = $(EXTRA_PATH$(WK_MACOS_1012_1014));
+//     EXTRA_PATH_MACOS_BEFORE_1012 = "/Library/Application Support/WebKit";
+//     EXTRA_PATH_MACOS_BEFORE_1014 = /System/Library/CoreServices;
+//     EXTRA_PATH_MACOS_SINCE_1014 = /System/Library/PrivateFrameworks;
+
+WK_MACOS_BEFORE_1012 = $(WK_MACOS_BEFORE_1012_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1012_101100 = YES;
+
+WK_MACOS_BEFORE_1013 = $(WK_MACOS_BEFORE_1013_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1013_101100 = YES;
+WK_MACOS_BEFORE_1013_101200 = YES;
+
+WK_MACOS_BEFORE_1014 = $(WK_MACOS_BEFORE_1014_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1014_101100 = YES;
+WK_MACOS_BEFORE_1014_101200 = YES;
+WK_MACOS_BEFORE_1014_101300 = YES;
+
+WK_MACOS_BEFORE_1015 = $(WK_MACOS_BEFORE_1015_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1015_101100 = YES;
+WK_MACOS_BEFORE_1015_101200 = YES;
+WK_MACOS_BEFORE_1015_101300 = YES;
+WK_MACOS_BEFORE_1015_101400 = YES;
+
+WK_MACOS_1012 = $(WK_MACOS_1012_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_ = _MACOS_SINCE_1012;
+WK_MACOS_1012_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1013 = $(WK_MACOS_1012_1013_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1013_ = $(WK_MACOS_1013);
+WK_MACOS_1012_1013_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1014 = $(WK_MACOS_1012_1014_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1012_1014_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1015 = $(WK_MACOS_1012_1015_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1012_1015_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1013 = $(WK_MACOS_1013_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_ = _MACOS_SINCE_1013;
+WK_MACOS_1013_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1014 = $(WK_MACOS_1013_1014_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1013_1014_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1015 = $(WK_MACOS_1013_1015_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1013_1015_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1014 = $(WK_MACOS_1014_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_ = _MACOS_SINCE_1014;
+WK_MACOS_1014_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1014_1015 = $(WK_MACOS_1014_1015_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1014_1015_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1015 = $(WK_MACOS_1015_$(WK_MACOS_BEFORE_1015));
+WK_MACOS_1015_ = _MACOS_SINCE_1015;
+WK_MACOS_1015_YES = _MACOS_BEFORE_1015;

Modified: trunk/Source/WebKitLegacy/mac/ChangeLog (227155 => 227156)


--- trunk/Source/WebKitLegacy/mac/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKitLegacy/mac/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,17 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+        * Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals helpers.
+        * Configurations/Version.xcconfig: Updated.
+        * Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build settings
+          useful for defining settings that depend on the target macOS version.
+
 2018-01-17  Youenn Fablet  <[email protected]>
 
         Put fetch Request.keepalive behind a runtime flag

Modified: trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKitLegacy/mac/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -88,6 +88,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 WK_TARGET_IOS_VERSION_MAJOR = $(IPHONEOS_DEPLOYMENT_TARGET:base); // iOS 9.3 => 9
 

Modified: trunk/Source/WebKitLegacy/mac/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/WebKitLegacy/mac/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKitLegacy/mac/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Modified: trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig (227155 => 227156)


--- trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKitLegacy/mac/Configurations/FeatureDefines.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -31,13 +31,8 @@
 
 // Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_101100 = YES;
+#include "macOSTargetConditionals.xcconfig"
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101100 = YES;
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101200 = YES;
-
 ENABLE_3D_TRANSFORMS = ENABLE_3D_TRANSFORMS;
 ENABLE_ACCELERATED_2D_CANVAS = ;
 ENABLE_ACCELERATED_OVERFLOW_SCROLLING[sdk=iphone*] = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
@@ -46,11 +41,8 @@
 ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
 ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
 
-DISABLE_APPLE_PAY_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200);
-ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY_IF_NOT_$(DISABLE_APPLE_PAY_macosx));
-ENABLE_APPLE_PAY_IF_NOT_ = $(ENABLE_APPLE_PAY_IF_NOT_NO);
-ENABLE_APPLE_PAY_IF_NOT_NO = ENABLE_APPLE_PAY;
-ENABLE_APPLE_PAY_IF_NOT_YES = ;
+ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY$(WK_MACOS_1012));
+ENABLE_APPLE_PAY_MACOS_SINCE_1012 = ENABLE_APPLE_PAY;
 
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphone*] = $(ENABLE_APPLE_PAY_SESSION_V3_$(PLATFORM_NAME));
 ENABLE_APPLE_PAY_SESSION_V3_iphoneos = ENABLE_APPLE_PAY_SESSION_V3;
@@ -58,11 +50,8 @@
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphoneos10*] = ;
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphonesimulator10*] = ;
 
-DISABLE_APPLE_PAY_SESSION_V3_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_$(DISABLE_APPLE_PAY_SESSION_V3_macosx));
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_ = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO);
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO = ENABLE_APPLE_PAY_SESSION_V3;
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_YES = ;
+ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3$(WK_MACOS_1013));
+ENABLE_APPLE_PAY_SESSION_V3_MACOS_SINCE_1013 = ENABLE_APPLE_PAY_SESSION_V3;
 
 ENABLE_FULLSCREEN_API[sdk=iphone*] = $(ENABLE_FULLSCREEN_API_$(PLATFORM_NAME));
 ENABLE_FULLSCREEN_API_iphoneos = ENABLE_FULLSCREEN_API;
@@ -205,10 +194,8 @@
 ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;
 ENABLE_VIDEO = ENABLE_VIDEO;
 ENABLE_VIDEO_PRESENTATION_MODE[sdk=iphone*] = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR))
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101200 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101300 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101400 = ENABLE_VIDEO_PRESENTATION_MODE;
+ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE$(WK_MACOS_1012));
+ENABLE_VIDEO_PRESENTATION_MODE_MACOS_SINCE_1012 = ENABLE_VIDEO_PRESENTATION_MODE;
 ENABLE_VIDEO_TRACK = ENABLE_VIDEO_TRACK;
 ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
 ENABLE_WEBASSEMBLY = ;
@@ -236,11 +223,8 @@
 ENABLE_VARIATION_FONTS[sdk=iphoneos10*] = ;
 ENABLE_VARIATION_FONTS[sdk=iphonesimulator10*] = ;
 
-DISABLE_VARIATION_FONTS_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS_IF_NOT_$(DISABLE_VARIATION_FONTS_macosx));
-ENABLE_VARIATION_FONTS_IF_NOT_ = $(ENABLE_VARIATION_FONTS_IF_NOT_NO);
-ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
-ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
+ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS$(WK_MACOS_1013));
+ENABLE_VARIATION_FONTS_MACOS_SINCE_1013 = ENABLE_VARIATION_FONTS;
 
 ENABLE_DRAG_SUPPORT[sdk=iphone*] = $(ENABLE_DRAG_SUPPORT_$(PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;

Modified: trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig (227155 => 227156)


--- trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/WebKitLegacy/mac/Configurations/Version.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -39,6 +39,7 @@
 SYSTEM_VERSION_PREFIX_macosx_101200 = 12;
 SYSTEM_VERSION_PREFIX_macosx_101300 = 13;
 SYSTEM_VERSION_PREFIX_macosx_101400 = 14;
+SYSTEM_VERSION_PREFIX_macosx_101500 = 15;
 
 // The production build always uses the full version with a system version prefix.
 BUNDLE_VERSION_Production = $(SYSTEM_VERSION_PREFIX)$(FULL_VERSION);

Added: trunk/Source/WebKitLegacy/mac/Configurations/macOSTargetConditionals.xcconfig (0 => 227156)


--- trunk/Source/WebKitLegacy/mac/Configurations/macOSTargetConditionals.xcconfig	                        (rev 0)
+++ trunk/Source/WebKitLegacy/mac/Configurations/macOSTargetConditionals.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -0,0 +1,105 @@
+// Copyright (C) 2018 Apple Inc. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+//    notice, this list of conditions and the following disclaimer in the
+//    documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Use the following helpers to define build settings whose value depends on the target
+// macOS version in a succinct and future-proof way.
+//
+// Example 1: To give the SMOOTHNESS build setting the value 3 in macOS 10.12 and later and the
+// value 2 in earlier versions, write:
+//
+//     SMOOTHNESS = $(SMOOTHNESS$(WK_MACOS_1012));
+//     SMOOTHNESS_MACOS_BEFORE_1012 = 2;
+//     SMOOTHNESS_MACOS_SINCE_1012 = 3;
+//
+// Example 2: To define ENABLE_COLOR to ENABLE_COLOR in all platforms except macOS 10.12 and
+// earlier write:
+//
+//     ENABLE_COLOR = ENABLE_COLOR;
+//     ENABLE_COLOR[sdk=macosx*] = $(ENABLE_COLOR$(WK_MACOS_1013));
+//     ENABLE_COLOR_MACOS_SINCE_1013 = $(ENABLE_COLOR);
+//
+// Example 3: To give EXTRA_PATH one value before macOS 10.12, another value in macOS 10.12 and
+// macOS 10.13, and a third value in macOS 10.14 and later, write:
+//
+//     EXTRA_PATH = $(EXTRA_PATH$(WK_MACOS_1012_1014));
+//     EXTRA_PATH_MACOS_BEFORE_1012 = "/Library/Application Support/WebKit";
+//     EXTRA_PATH_MACOS_BEFORE_1014 = /System/Library/CoreServices;
+//     EXTRA_PATH_MACOS_SINCE_1014 = /System/Library/PrivateFrameworks;
+
+WK_MACOS_BEFORE_1012 = $(WK_MACOS_BEFORE_1012_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1012_101100 = YES;
+
+WK_MACOS_BEFORE_1013 = $(WK_MACOS_BEFORE_1013_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1013_101100 = YES;
+WK_MACOS_BEFORE_1013_101200 = YES;
+
+WK_MACOS_BEFORE_1014 = $(WK_MACOS_BEFORE_1014_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1014_101100 = YES;
+WK_MACOS_BEFORE_1014_101200 = YES;
+WK_MACOS_BEFORE_1014_101300 = YES;
+
+WK_MACOS_BEFORE_1015 = $(WK_MACOS_BEFORE_1015_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1015_101100 = YES;
+WK_MACOS_BEFORE_1015_101200 = YES;
+WK_MACOS_BEFORE_1015_101300 = YES;
+WK_MACOS_BEFORE_1015_101400 = YES;
+
+WK_MACOS_1012 = $(WK_MACOS_1012_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_ = _MACOS_SINCE_1012;
+WK_MACOS_1012_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1013 = $(WK_MACOS_1012_1013_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1013_ = $(WK_MACOS_1013);
+WK_MACOS_1012_1013_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1014 = $(WK_MACOS_1012_1014_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1012_1014_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1015 = $(WK_MACOS_1012_1015_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1012_1015_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1013 = $(WK_MACOS_1013_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_ = _MACOS_SINCE_1013;
+WK_MACOS_1013_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1014 = $(WK_MACOS_1013_1014_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1013_1014_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1015 = $(WK_MACOS_1013_1015_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1013_1015_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1014 = $(WK_MACOS_1014_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_ = _MACOS_SINCE_1014;
+WK_MACOS_1014_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1014_1015 = $(WK_MACOS_1014_1015_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1014_1015_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1015 = $(WK_MACOS_1015_$(WK_MACOS_BEFORE_1015));
+WK_MACOS_1015_ = _MACOS_SINCE_1015;
+WK_MACOS_1015_YES = _MACOS_BEFORE_1015;

Modified: trunk/Source/bmalloc/ChangeLog (227155 => 227156)


--- trunk/Source/bmalloc/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/bmalloc/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,13 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * Configurations/Base.xcconfig: Updated.
+        * Configurations/DebugRelease.xcconfig: Ditto.
+
 2018-01-16  Michael Catanzaro  <[email protected]>
 
         mbmalloc should only be built in developer mode

Modified: trunk/Source/bmalloc/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Source/bmalloc/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/bmalloc/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -95,6 +95,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SUPPORTED_PLATFORMS = iphoneos iphonesimulator macosx appletvos appletvsimulator watchos watchsimulator;
 

Modified: trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Source/bmalloc/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -33,6 +33,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 DEBUG_INFORMATION_FORMAT = dwarf;

Modified: trunk/Tools/ChangeLog (227155 => 227156)


--- trunk/Tools/ChangeLog	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/ChangeLog	2018-01-18 19:49:51 UTC (rev 227156)
@@ -1,3 +1,25 @@
+2018-01-18  Dan Bernstein  <[email protected]>
+
+        [Xcode] Streamline and future-proof target-macOS-version-dependent build setting definitions
+        https://bugs.webkit.org/show_bug.cgi?id=181803
+
+        Reviewed by Tim Horton.
+
+        * DumpRenderTree/mac/Configurations/Base.xcconfig: Updated.
+        * DumpRenderTree/mac/Configurations/DebugRelease.xcconfig: Ditto.
+        * ImageDiff/cg/Configurations/Base.xcconfig: Ditto.
+        * ImageDiff/cg/Configurations/DebugRelease.xcconfig: Ditto.
+        * MiniBrowser/Configurations/Base.xcconfig: Ditto.
+        * MiniBrowser/Configurations/DebugRelease.xcconfig: Ditto.
+        * TestWebKitAPI/Configurations/Base.xcconfig: Ditto.
+        * TestWebKitAPI/Configurations/DebugRelease.xcconfig: Ditto.
+        * TestWebKitAPI/Configurations/FeatureDefines.xcconfig: Adopted macOSTargetConditionals
+          helpers.
+        * TestWebKitAPI/Configurations/macOSTargetConditionals.xcconfig: Added. Defines helper build
+          settings useful for defining settings that depend on the target macOS version.
+        * WebKitTestRunner/Configurations/Base.xcconfig: Updated.
+        * WebKitTestRunner/Configurations/DebugRelease.xcconfig: Updated.
+
 2018-01-18  Ling Ho  <[email protected]>
 
         Remove Opensource El Capitan queues from buildbot

Modified: trunk/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/DumpRenderTree/mac/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -90,6 +90,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SDKROOT = macosx.internal;
 

Modified: trunk/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/DumpRenderTree/mac/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 SDKROOT = $(SDKROOT_$(USE_INTERNAL_SDK));
 SDKROOT_ = macosx;

Modified: trunk/Tools/ImageDiff/cg/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Tools/ImageDiff/cg/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/ImageDiff/cg/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -72,6 +72,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SDKROOT = macosx.internal;
 

Modified: trunk/Tools/ImageDiff/cg/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Tools/ImageDiff/cg/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/ImageDiff/cg/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -35,6 +35,7 @@
 MACOSX_DEPLOYMENT_TARGET_macosx_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_macosx_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_macosx_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_macosx_101500 = 10.15;
 
 SDKROOT = $(SDKROOT_$(USE_INTERNAL_SDK));
 SDKROOT_ = macosx;

Modified: trunk/Tools/MiniBrowser/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Tools/MiniBrowser/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/MiniBrowser/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -68,6 +68,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SDKROOT = macosx.internal;
 

Modified: trunk/Tools/MiniBrowser/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Tools/MiniBrowser/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/MiniBrowser/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_101500 = 10.15;
 
 GCC_WARN_ABOUT_DEPRECATED_FUNCTIONS = YES;
 

Modified: trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/TestWebKitAPI/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -81,6 +81,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 SDKROOT = macosx.internal;
 

Modified: trunk/Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/TestWebKitAPI/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_101500 = 10.15;
 
 WEBKIT_UMBRELLA_FRAMEWORKS_DIR = $(BUILT_PRODUCTS_DIR);
 

Modified: trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig (227155 => 227156)


--- trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/TestWebKitAPI/Configurations/FeatureDefines.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -31,13 +31,8 @@
 
 // Set any ENABLE_FEATURE_NAME macro to an empty string to disable that feature.
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101200_101100 = YES;
+#include "macOSTargetConditionals.xcconfig"
 
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300 = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_$(TARGET_MAC_OS_X_VERSION_MAJOR));
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101100 = YES;
-TARGET_MAC_OS_X_VERSION_LESS_THAN_101300_101200 = YES;
-
 ENABLE_3D_TRANSFORMS = ENABLE_3D_TRANSFORMS;
 ENABLE_ACCELERATED_2D_CANVAS = ;
 ENABLE_ACCELERATED_OVERFLOW_SCROLLING[sdk=iphone*] = ENABLE_ACCELERATED_OVERFLOW_SCROLLING;
@@ -46,11 +41,8 @@
 ENABLE_APPLE_PAY_iphoneos = ENABLE_APPLE_PAY;
 ENABLE_APPLE_PAY_iphonesimulator = ENABLE_APPLE_PAY;
 
-DISABLE_APPLE_PAY_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101200);
-ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY_IF_NOT_$(DISABLE_APPLE_PAY_macosx));
-ENABLE_APPLE_PAY_IF_NOT_ = $(ENABLE_APPLE_PAY_IF_NOT_NO);
-ENABLE_APPLE_PAY_IF_NOT_NO = ENABLE_APPLE_PAY;
-ENABLE_APPLE_PAY_IF_NOT_YES = ;
+ENABLE_APPLE_PAY[sdk=macosx*] = $(ENABLE_APPLE_PAY$(WK_MACOS_1012));
+ENABLE_APPLE_PAY_MACOS_SINCE_1012 = ENABLE_APPLE_PAY;
 
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphone*] = $(ENABLE_APPLE_PAY_SESSION_V3_$(PLATFORM_NAME));
 ENABLE_APPLE_PAY_SESSION_V3_iphoneos = ENABLE_APPLE_PAY_SESSION_V3;
@@ -58,11 +50,8 @@
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphoneos10*] = ;
 ENABLE_APPLE_PAY_SESSION_V3[sdk=iphonesimulator10*] = ;
 
-DISABLE_APPLE_PAY_SESSION_V3_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_$(DISABLE_APPLE_PAY_SESSION_V3_macosx));
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_ = $(ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO);
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_NO = ENABLE_APPLE_PAY_SESSION_V3;
-ENABLE_APPLE_PAY_SESSION_V3_IF_NOT_YES = ;
+ENABLE_APPLE_PAY_SESSION_V3[sdk=macosx*] = $(ENABLE_APPLE_PAY_SESSION_V3$(WK_MACOS_1013));
+ENABLE_APPLE_PAY_SESSION_V3_MACOS_SINCE_1013 = ENABLE_APPLE_PAY_SESSION_V3;
 
 ENABLE_FULLSCREEN_API[sdk=iphone*] = $(ENABLE_FULLSCREEN_API_$(PLATFORM_NAME));
 ENABLE_FULLSCREEN_API_iphoneos = ENABLE_FULLSCREEN_API;
@@ -205,10 +194,8 @@
 ENABLE_USERSELECT_ALL = ENABLE_USERSELECT_ALL;
 ENABLE_VIDEO = ENABLE_VIDEO;
 ENABLE_VIDEO_PRESENTATION_MODE[sdk=iphone*] = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE_macosx_$(TARGET_MAC_OS_X_VERSION_MAJOR))
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101200 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101300 = ENABLE_VIDEO_PRESENTATION_MODE;
-ENABLE_VIDEO_PRESENTATION_MODE_macosx_101400 = ENABLE_VIDEO_PRESENTATION_MODE;
+ENABLE_VIDEO_PRESENTATION_MODE[sdk=macosx*] = $(ENABLE_VIDEO_PRESENTATION_MODE$(WK_MACOS_1012));
+ENABLE_VIDEO_PRESENTATION_MODE_MACOS_SINCE_1012 = ENABLE_VIDEO_PRESENTATION_MODE;
 ENABLE_VIDEO_TRACK = ENABLE_VIDEO_TRACK;
 ENABLE_DATACUE_VALUE = ENABLE_DATACUE_VALUE;
 ENABLE_WEBASSEMBLY = ;
@@ -236,11 +223,8 @@
 ENABLE_VARIATION_FONTS[sdk=iphoneos10*] = ;
 ENABLE_VARIATION_FONTS[sdk=iphonesimulator10*] = ;
 
-DISABLE_VARIATION_FONTS_macosx = $(TARGET_MAC_OS_X_VERSION_LESS_THAN_101300);
-ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS_IF_NOT_$(DISABLE_VARIATION_FONTS_macosx));
-ENABLE_VARIATION_FONTS_IF_NOT_ = $(ENABLE_VARIATION_FONTS_IF_NOT_NO);
-ENABLE_VARIATION_FONTS_IF_NOT_NO = ENABLE_VARIATION_FONTS;
-ENABLE_VARIATION_FONTS_IF_NOT_YES = ;
+ENABLE_VARIATION_FONTS[sdk=macosx*] = $(ENABLE_VARIATION_FONTS$(WK_MACOS_1013));
+ENABLE_VARIATION_FONTS_MACOS_SINCE_1013 = ENABLE_VARIATION_FONTS;
 
 ENABLE_DRAG_SUPPORT[sdk=iphone*] = $(ENABLE_DRAG_SUPPORT_$(PLATFORM_NAME));
 ENABLE_DRAG_SUPPORT_iphoneos = ENABLE_DRAG_SUPPORT;

Added: trunk/Tools/TestWebKitAPI/Configurations/macOSTargetConditionals.xcconfig (0 => 227156)


--- trunk/Tools/TestWebKitAPI/Configurations/macOSTargetConditionals.xcconfig	                        (rev 0)
+++ trunk/Tools/TestWebKitAPI/Configurations/macOSTargetConditionals.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -0,0 +1,105 @@
+// Copyright (C) 2018 Apple Inc. All rights reserved.
+//
+// Redistribution and use in source and binary forms, with or without
+// modification, are permitted provided that the following conditions
+// are met:
+// 1. Redistributions of source code must retain the above copyright
+//    notice, this list of conditions and the following disclaimer.
+// 2. Redistributions in binary form must reproduce the above copyright
+//    notice, this list of conditions and the following disclaimer in the
+//    documentation and/or other materials provided with the distribution.
+//
+// THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+// PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+// Use the following helpers to define build settings whose value depends on the target
+// macOS version in a succinct and future-proof way.
+//
+// Example 1: To give the SMOOTHNESS build setting the value 3 in macOS 10.12 and later and the
+// value 2 in earlier versions, write:
+//
+//     SMOOTHNESS = $(SMOOTHNESS$(WK_MACOS_1012));
+//     SMOOTHNESS_MACOS_BEFORE_1012 = 2;
+//     SMOOTHNESS_MACOS_SINCE_1012 = 3;
+//
+// Example 2: To define ENABLE_COLOR to ENABLE_COLOR in all platforms except macOS 10.12 and
+// earlier write:
+//
+//     ENABLE_COLOR = ENABLE_COLOR;
+//     ENABLE_COLOR[sdk=macosx*] = $(ENABLE_COLOR$(WK_MACOS_1013));
+//     ENABLE_COLOR_MACOS_SINCE_1013 = $(ENABLE_COLOR);
+//
+// Example 3: To give EXTRA_PATH one value before macOS 10.12, another value in macOS 10.12 and
+// macOS 10.13, and a third value in macOS 10.14 and later, write:
+//
+//     EXTRA_PATH = $(EXTRA_PATH$(WK_MACOS_1012_1014));
+//     EXTRA_PATH_MACOS_BEFORE_1012 = "/Library/Application Support/WebKit";
+//     EXTRA_PATH_MACOS_BEFORE_1014 = /System/Library/CoreServices;
+//     EXTRA_PATH_MACOS_SINCE_1014 = /System/Library/PrivateFrameworks;
+
+WK_MACOS_BEFORE_1012 = $(WK_MACOS_BEFORE_1012_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1012_101100 = YES;
+
+WK_MACOS_BEFORE_1013 = $(WK_MACOS_BEFORE_1013_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1013_101100 = YES;
+WK_MACOS_BEFORE_1013_101200 = YES;
+
+WK_MACOS_BEFORE_1014 = $(WK_MACOS_BEFORE_1014_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1014_101100 = YES;
+WK_MACOS_BEFORE_1014_101200 = YES;
+WK_MACOS_BEFORE_1014_101300 = YES;
+
+WK_MACOS_BEFORE_1015 = $(WK_MACOS_BEFORE_1015_$(TARGET_MAC_OS_X_VERSION_MAJOR));
+WK_MACOS_BEFORE_1015_101100 = YES;
+WK_MACOS_BEFORE_1015_101200 = YES;
+WK_MACOS_BEFORE_1015_101300 = YES;
+WK_MACOS_BEFORE_1015_101400 = YES;
+
+WK_MACOS_1012 = $(WK_MACOS_1012_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_ = _MACOS_SINCE_1012;
+WK_MACOS_1012_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1013 = $(WK_MACOS_1012_1013_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1013_ = $(WK_MACOS_1013);
+WK_MACOS_1012_1013_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1014 = $(WK_MACOS_1012_1014_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1012_1014_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1012_1015 = $(WK_MACOS_1012_1015_$(WK_MACOS_BEFORE_1012));
+WK_MACOS_1012_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1012_1015_YES = _MACOS_BEFORE_1012;
+
+WK_MACOS_1013 = $(WK_MACOS_1013_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_ = _MACOS_SINCE_1013;
+WK_MACOS_1013_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1014 = $(WK_MACOS_1013_1014_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1014_ = $(WK_MACOS_1014);
+WK_MACOS_1013_1014_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1013_1015 = $(WK_MACOS_1013_1015_$(WK_MACOS_BEFORE_1013));
+WK_MACOS_1013_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1013_1015_YES = _MACOS_BEFORE_1013;
+
+WK_MACOS_1014 = $(WK_MACOS_1014_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_ = _MACOS_SINCE_1014;
+WK_MACOS_1014_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1014_1015 = $(WK_MACOS_1014_1015_$(WK_MACOS_BEFORE_1014));
+WK_MACOS_1014_1015_ = $(WK_MACOS_1015);
+WK_MACOS_1014_1015_YES = _MACOS_BEFORE_1014;
+
+WK_MACOS_1015 = $(WK_MACOS_1015_$(WK_MACOS_BEFORE_1015));
+WK_MACOS_1015_ = _MACOS_SINCE_1015;
+WK_MACOS_1015_YES = _MACOS_BEFORE_1015;

Modified: trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig (227155 => 227156)


--- trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/WebKitTestRunner/Configurations/Base.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -64,6 +64,7 @@
 TARGET_MAC_OS_X_VERSION_MAJOR_12 = 101200;
 TARGET_MAC_OS_X_VERSION_MAJOR_13 = 101300;
 TARGET_MAC_OS_X_VERSION_MAJOR_14 = 101400;
+TARGET_MAC_OS_X_VERSION_MAJOR_15 = 101500;
 
 AD_HOC_CODE_SIGNING_ALLOWED = YES;
 

Modified: trunk/Tools/WebKitTestRunner/Configurations/DebugRelease.xcconfig (227155 => 227156)


--- trunk/Tools/WebKitTestRunner/Configurations/DebugRelease.xcconfig	2018-01-18 19:41:00 UTC (rev 227155)
+++ trunk/Tools/WebKitTestRunner/Configurations/DebugRelease.xcconfig	2018-01-18 19:49:51 UTC (rev 227156)
@@ -34,6 +34,7 @@
 MACOSX_DEPLOYMENT_TARGET_101200 = 10.12;
 MACOSX_DEPLOYMENT_TARGET_101300 = 10.13;
 MACOSX_DEPLOYMENT_TARGET_101400 = 10.14;
+MACOSX_DEPLOYMENT_TARGET_101500 = 10.15;
 
 SDKROOT = $(SDKROOT_$(USE_INTERNAL_SDK));
 SDKROOT_ = macosx;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to