// 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; // macOS WK_MACOS_BEFORE_1013 = $(WK_MACOS_BEFORE_1013_$(TARGET_MAC_OS_X_VERSION_MAJOR)); WK_MACOS_BEFORE_1013_101200 = YES; WK_MACOS_BEFORE_1014 = $(WK_MACOS_BEFORE_1014_$(TARGET_MAC_OS_X_VERSION_MAJOR)); 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_101200 = YES; WK_MACOS_BEFORE_1015_101300 = YES; WK_MACOS_BEFORE_1015_101400 = YES; 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; // iOS WK_IOS_BEFORE_12 = $(WK_IOS_BEFORE_12_$(IPHONEOS_DEPLOYMENT_TARGET:base)); WK_IOS_BEFORE_12_11 = YES; WK_IOS_BEFORE_13 = $(WK_IOS_BEFORE_13_$(IPHONEOS_DEPLOYMENT_TARGET:base)); WK_IOS_BEFORE_13_11 = YES; WK_IOS_BEFORE_13_12 = YES; WK_IOS_BEFORE_14 = $(WK_IOS_BEFORE_14_$(IPHONEOS_DEPLOYMENT_TARGET:base)); WK_IOS_BEFORE_14_11 = YES; WK_IOS_BEFORE_14_12 = YES; WK_IOS_BEFORE_14_13 = YES; WK_IOS_12 = $(WK_IOS_12_$(WK_IOS_BEFORE_12)); WK_IOS_12_ = _IOS_SINCE_12; WK_IOS_12_YES = _IOS_BEFORE_12; WK_IOS_12_13 = $(WK_IOS_12_13_$(WK_IOS_BEFORE_12)); WK_IOS_12_13_ = $(WK_IOS_13); WK_IOS_12_13_YES = _IOS_BEFORE_12; WK_IOS_12_14 = $(WK_IOS_12_14_$(WK_IOS_BEFORE_12)); WK_IOS_12_14_ = $(WK_IOS_14); WK_IOS_12_14_YES = _IOS_BEFORE_12; WK_IOS_13 = $(WK_IOS_13_$(WK_IOS_BEFORE_13)); WK_IOS_13_ = _IOS_SINCE_13; WK_IOS_13_YES = _IOS_BEFORE_13; WK_IOS_13_14 = $(WK_IOS_13_14_$(WK_IOS_BEFORE_13)); WK_IOS_13_14_ = $(WK_IOS_14); WK_IOS_13_14_YES = _IOS_BEFORE_13; WK_IOS_14 = $(WK_IOS_14_$(WK_IOS_BEFORE_14)); WK_IOS_14_ = _IOS_SINCE_14; WK_IOS_14_YES = _IOS_BEFORE_14;