blob: a1c3d14a71db572f7e8630c7238fa94e35590d21 [file] [edit]
/*
* Copyright (C) 2006-2026 Apple Inc. All rights reserved.
* Copyright (C) 2007-2009 Torch Mobile, Inc.
* Copyright (C) 2010, 2011 Research In Motion Limited. 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.
*/
#pragma once
#ifndef WTF_PLATFORM_GUARD_AGAINST_INDIRECT_INCLUSION
#error "Please #include <wtf/Platform.h> instead of this file directly."
#endif
/* HAVE() - specific system features (headers, functions or similar) that are present or not */
#define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE)
#if defined(HAVE_FEATURES_H) && HAVE_FEATURES_H
/* If the included features.h is glibc's one, __GLIBC__ is defined. */
#include <features.h>
#endif
/* ==== Platform additions: additions to PlatformHave.h from outside the main repository ==== */
// This can't use USE(APPLE_INTERNAL_SDK) because this comes before PlatformUse.h.
#if PLATFORM(COCOA) && __has_include(<WebKitAdditions/AdditionalPlatformHave.h>)
/* FIXME: Properly support using WKA in modules. */
#if defined(__clang__) && defined(__has_feature) && __has_feature(modules)
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wnon-modular-include-in-module"
#endif
#include <WebKitAdditions/AdditionalPlatformHave.h>
#if defined(__clang__) && defined(__has_feature) && __has_feature(modules)
#pragma clang diagnostic pop
#endif
#endif
#if CPU(ARM_NEON)
/* All NEON intrinsics usage can be disabled by this macro. */
#define HAVE_ARM_NEON_INTRINSICS 1
#endif
#if CPU(ADDRESS64)
#if HAVE(36BIT_ADDRESS)
#define WTF_OS_CONSTANT_EFFECTIVE_ADDRESS_WIDTH 36
/* iOS simulators lie about the size of the address space */
#elif OS(DARWIN) && !PLATFORM(IOS_FAMILY_SIMULATOR)
#define WTF_OS_CONSTANT_EFFECTIVE_ADDRESS_WIDTH (WTF::getMSBSet(MACH_VM_MAX_ADDRESS) + 1)
#else
/* We strongly assume that effective address width is <= 48 in 64bit architectures (e.g. NaN boxing). */
#define WTF_OS_CONSTANT_EFFECTIVE_ADDRESS_WIDTH 48
#endif
#else /* not CPU(ADDRESS64 */
#define WTF_OS_CONSTANT_EFFECTIVE_ADDRESS_WIDTH 32
#endif
#if PLATFORM(COCOA)
#define HAVE_AUDIT_TOKEN 1
#endif
#if PLATFORM(COCOA)
#define HAVE_REMAP_JIT 1
#endif
#if PLATFORM(MAC)
#define HAVE_SEC_KEYCHAIN 1
#endif
#if PLATFORM(MAC)
#define HAVE_OPPORTUNISTIC_TASK_SCHEDULER 1
#endif
#if PLATFORM(MAC)
#define HAVE_HISERVICES 1
#endif
#if PLATFORM(IOS_FAMILY)
#define HAVE_READLINE 1
#endif
#if PLATFORM(IOS_FAMILY) && CPU(ARM_NEON)
#undef HAVE_ARM_NEON_INTRINSICS
#define HAVE_ARM_NEON_INTRINSICS 0
#endif
#if !defined(HAVE_VISIBILITY_PROPAGATION_VIEW) && PLATFORM(IOS_FAMILY)
#define HAVE_VISIBILITY_PROPAGATION_VIEW 1
#endif
#if !defined(HAVE_TIMINGSAFE_BCMP) && (PLATFORM(COCOA) || OS(OPENBSD) || OS(FREEBSD))
#define HAVE_TIMINGSAFE_BCMP 1
#endif
#if !defined(HAVE_STD_FILESYSTEM)
#if __has_include(<filesystem>)
#define HAVE_STD_FILESYSTEM 1
#else
#define HAVE_STD_FILESYSTEM 0
#endif
#endif
#if !defined(HAVE_STD_EXPERIMENTAL_FILESYSTEM)
#if __has_include(<experimental/filesystem>)
#define STD_EXPERIMENTAL_FILESYSTEM 1
#else
#define STD_EXPERIMENTAL_FILESYSTEM 0
#endif
#endif
#if !defined(HAVE_MISSING_U8STRING) && PLATFORM(PLAYSTATION)
#define HAVE_MISSING_U8STRING 1
#endif
#if OS(DARWIN)
#if !defined(HAVE_ERRNO_H)
#define HAVE_ERRNO_H 1
#endif
#if !defined(HAVE_LANGINFO_H)
#define HAVE_LANGINFO_H 1
#endif
#if !defined(HAVE_LOCALTIME_R)
#define HAVE_LOCALTIME_R 1
#endif
#if !defined(HAVE_MMAP)
#define HAVE_MMAP 1
#endif
#if !defined(HAVE_REGEX_H)
#define HAVE_REGEX_H 1
#endif
#if !defined(HAVE_SIGNAL_H)
#define HAVE_SIGNAL_H 1
#endif
#if !defined(HAVE_STAT_BIRTHTIME)
#define HAVE_STAT_BIRTHTIME 1
#endif
#if !defined(HAVE_SYS_PARAM_H)
#define HAVE_SYS_PARAM_H 1
#endif
#if !defined(HAVE_SYS_TIME_H)
#define HAVE_SYS_TIME_H 1
#endif
#if !defined(HAVE_TM_GMTOFF)
#define HAVE_TM_GMTOFF 1
#endif
#if !defined(HAVE_TM_ZONE)
#define HAVE_TM_ZONE 1
#endif
#if !defined(HAVE_TIMEGM)
#define HAVE_TIMEGM 1
#endif
#if !defined(HAVE_PTHREAD_MAIN_NP)
#define HAVE_PTHREAD_MAIN_NP 1
#endif
#endif // OS(DARWIN)
/* watchOS (ARM64_32) must not use int128_t because of wrong behavior. */
#if (OS(DARWIN) || OS(LINUX)) && CPU(ADDRESS64)
#define HAVE_INT128_T 1
#endif
// Work around a clang static analyzer crash modeling __builtin_*_overflow on a
// 128-bit result type (llvm/llvm-project#173795; fixed in
// apple-clang-2100.3.6.4 / macOS 27 / Xcode 27). Set only for older analyzers,
// so CheckedArithmetic.h takes its manual (non-builtin) 128-bit overflow path.
#if defined(__clang_analyzer__) && defined(__apple_build_version__) && __apple_build_version__ < 21000323
#define HAVE_BROKEN_STATIC_ANALYZER_INT128_OVERFLOW 1
#endif
#if OS(UNIX) && !OS(FUCHSIA)
#define HAVE_RESOURCE_H 1
#endif
#if OS(UNIX) && !OS(FUCHSIA)
#define HAVE_PTHREAD_SETSCHEDPARAM 1
#endif
#if OS(DARWIN)
#define HAVE_DISPATCH_H 1
#endif
#if OS(DARWIN) || OS(HAIKU)
#define HAVE_MADV_FREE 1
#endif
#if OS(DARWIN)
#define HAVE_MADV_FREE_REUSE 1
#endif
#if OS(DARWIN) || OS(HAIKU) || OS(QNX)
#define HAVE_MADV_DONTNEED 1
#endif
#if OS(DARWIN)
#define HAVE_PTHREAD_SETNAME_NP 1
#endif
#if OS(DARWIN)
#define HAVE_READLINE 1
#endif
#if OS(DARWIN)
#define HAVE_SYS_TIMEB_H 1
#endif
#if OS(DARWIN) && __has_include(<mach/mach_exc.defs>) && !PLATFORM(GTK)
#define HAVE_MACH_EXCEPTIONS 1
#endif
#if OS(DARWIN) && __has_include(<mach/memory_entry.h>)
#define HAVE_MACH_MEMORY_ENTRY 1
#endif
#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || OS(HAIKU) || OS(NETBSD) || OS(OPENBSD) || OS(LINUX) || OS(HURD) || OS(QNX)) && (CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(RISCV64)))
#define HAVE_MACHINE_CONTEXT 1
#endif
#if OS(DARWIN) || OS(HAIKU) || ((OS(LINUX) || OS(HURD)) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS))
#define HAVE_BACKTRACE 1
#define HAVE_BACKTRACE_SYMBOLS 1
#endif
#if OS(DARWIN) || OS(HAIKU) || OS(LINUX) || OS(HURD)
#define HAVE_DLADDR 1
#endif
#if OS(LINUX)
#define HAVE_FALLOCATE 1
#endif
#if OS(WINDOWS)
#define HAVE_ISDEBUGGERPRESENT 1
#endif
#if __has_include(<pthread/tsd_private.h>)
#define HAVE_FAST_TLS 1
#if PLATFORM(MAC) \
|| ((PLATFORM(IOS) || PLATFORM(VISION)) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(MACCATALYST))
#define HAVE_SIMPLIFIED_FAST_TLS_BASE 1
#endif
#endif
#define HAVE_COMPUTED_GOTO 1
#if (CPU(ARM64E) && OS(DARWIN)) || (CPU(ARM64) && OS(MACOS)) || (COMPILER(CLANG) && defined(__ARM_FEATURE_JCVT) && __ARM_FEATURE_JCVT)
#define HAVE_FJCVTZS_INSTRUCTION 1
#endif
#if (CPU(ARM64E) && OS(DARWIN)) || (CPU(ARM64) && OS(MACOS)) || (COMPILER(CLANG) && defined(__ARM_FEATURE_ATOMICS) && __ARM_FEATURE_ATOMICS)
#define HAVE_LSE_INSTRUCTION 1
#endif
#if (CPU(ARM64E) && OS(DARWIN)) || (CPU(ARM64) && OS(MACOS)) || (COMPILER(CLANG) && defined(__ARM_FEATURE_FP16_SCALAR_ARITHMETIC) && __ARM_FEATURE_FP16_SCALAR_ARITHMETIC)
#define HAVE_FLOAT16_INSTRUCTION 1
#endif
#if COMPILER(CLANG) && defined(__ARM_FEATURE_FRINT) && __ARM_FEATURE_FRINT
#define HAVE_FRINT_INSTRUCTION 1
#endif
#if COMPILER(CLANG) && defined(__ARM_FEATURE_SHA3) && __ARM_FEATURE_SHA3
#define HAVE_SHA3_INSTRUCTION 1
#endif
#if OS(DARWIN) && CPU(ARM64)
#define HAVE_FLOAT16 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV) && !PLATFORM(MACCATALYST)
#define HAVE_APP_LINKS 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
#define HAVE_CELESTIAL 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
#define HAVE_CORE_ANIMATION_RENDER_SERVER 1
#endif
#if !defined(HAVE_DDSCANNER_QOS_CONFIGURATION) \
&& (PLATFORM(IOS_FAMILY) \
|| (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 150000))
#define HAVE_DDSCANNER_QOS_CONFIGURATION 1
#endif
#if !defined(HAVE_WEBCONTENTANALYSIS_FRAMEWORK) && !PLATFORM(APPLETV)
#define HAVE_WEBCONTENTANALYSIS_FRAMEWORK 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV) && HAVE(WEBCONTENTANALYSIS_FRAMEWORK)
#define HAVE_PARENTAL_CONTROLS_WITH_UNBLOCK_HANDLER 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS)
#define HAVE_CORE_ANIMATION_FRAME_RATE_RANGE 1
#endif
#if PLATFORM(MACCATALYST)
#define HAVE_UITOOLTIPINTERACTION 1
#endif
// FIXME: Why not APPLETV?
#if PLATFORM(COCOA) && !PLATFORM(APPLETV)
#define HAVE_PARENTAL_CONTROLS 1
#endif
#if PLATFORM(COCOA)
#define HAVE_AVKIT 1
#endif
#if PLATFORM(COCOA)
#define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK 1
#endif
#if PLATFORM(COCOA) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(MACCATALYST) || PLATFORM(IOS) \
|| PLATFORM(APPLETV) \
|| PLATFORM(VISION))
#define HAVE_MEDIA_ACCESSIBILITY_PROFILES_API 1
#endif
#if PLATFORM(COCOA) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(MACCATALYST) \
|| PLATFORM(IOS_FAMILY))
#define HAVE_LOCALHOST_TIED_TO_LOOPBACK 1
#endif
#if PLATFORM(MAC) || PLATFORM(MACCATALYST)
#define HAVE_APPLE_GRAPHICS_CONTROL 1
#endif
#if PLATFORM(MAC) || PLATFORM(MACCATALYST)
#define HAVE_NSCURSOR 1
#endif
#if !defined(HAVE_QOS_CLASSES) && PLATFORM(COCOA)
#define HAVE_QOS_CLASSES 1
#endif
#if !defined(HAVE_SCHEDULING_POLICIES) && PLATFORM(COCOA)
#define HAVE_SCHEDULING_POLICIES 1
#endif
#if !defined(HAVE_THREAD_TIME_CONSTRAINTS) && OS(DARWIN)
#define HAVE_THREAD_TIME_CONSTRAINTS 1
#endif
#if PLATFORM(COCOA)
#define HAVE_AVASSETREADER 1
#endif
#if PLATFORM(COCOA)
#define HAVE_IOSURFACE 1
#endif
#if PLATFORM(MAC) || PLATFORM(GTK) || PLATFORM(WPE)
#define HAVE_DISPLAY_LINK 1
#endif
#if PLATFORM(MAC)
#define HAVE_RUBBER_BANDING 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR)
#define HAVE_IOSURFACE_COREIMAGE_SUPPORT 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(MACCATALYST)
#define HAVE_IOSURFACE_ACCELERATOR 1
#endif
#if PLATFORM(MAC) && !PLATFORM(IOS_FAMILY_SIMULATOR)
#define HAVE_IOSURFACE_SET_OWNERSHIP 1
#endif
#if PLATFORM(MAC) \
|| (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
// FIXME: Is this really unavailable in the iOS Simulator?
#define HAVE_IOSURFACE_SET_OWNERSHIP_IDENTITY 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(IOS_FAMILY_SIMULATOR)
#define HAVE_TASK_IDENTITY_TOKEN 1
#endif
#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
#define HAVE_CG_CONTEXT_SET_OWNER_IDENTITY 1
#endif
#if PLATFORM(MAC)
#define HAVE_NS_ACTIVITY 1
#endif
#if PLATFORM(MAC)
#define HAVE_TOUCH_BAR 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
#define HAVE_HSTS_STORAGE_PATH 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_URL_FORMATTING 1
#endif
#if !OS(WINDOWS) && !OS(QNX)
#define HAVE_STACK_BOUNDS_FOR_NEW_THREAD 1
#endif
#if !OS(WINDOWS) && !PLATFORM(PLAYSTATION)
#define HAVE_MEMMEM 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION) || PLATFORM(APPLETV)
#define HAVE_AVCONTENTKEYSESSION 1
#endif
#if !PLATFORM(IOS_FAMILY_SIMULATOR)
#define HAVE_AVCONTENTKEYREPORTGROUP 1
#endif
#if PLATFORM(MAC) \
|| ((PLATFORM(IOS) || PLATFORM(VISION)) && !PLATFORM(IOS_FAMILY_SIMULATOR)) \
|| PLATFORM(MACCATALYST)
#define HAVE_AVCONTENTKEYSESSIONWILLOUTPUTBEOBSCURED 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_SEC_KEY_PROXY 1
#endif
/* FIXME: Should this be enabled for IOS_FAMILY, not just IOS? */
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_FOUNDATION_WITH_SAME_SITE_COOKIE_SUPPORT 1
#endif
#if PLATFORM(MAC)
#define HAVE_READ_ONLY_SYSTEM_VOLUME 1
#endif
#ifdef __APPLE__
#define HAVE_FUNC_USLEEP 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
/* FIXME: SafariServices.framework exists on macOS. It is only used by WebKit on iOS, so the behavior is correct, but the name is misleading. */
#define HAVE_SAFARI_SERVICES_FRAMEWORK 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(WATCHOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_SAFE_BROWSING 1
#endif
#if HAVE(SAFE_BROWSING) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 270000) \
|| ((PLATFORM(MACCATALYST) || PLATFORM(IOS)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 270000))
#define HAVE_SAFARI_SAFE_BROWSING_NAMESPACED_LISTS 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_LINK_PREVIEW 1
#endif
#if PLATFORM(COCOA) || (defined(USE_CURL) && USE_CURL)
#define HAVE_ALTERNATIVE_SERVICE 1
#endif
#if PLATFORM(MAC)
#define HAVE_CSCHECKFIXDISABLE 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
#define HAVE_MDNS_FAST_REGISTRATION 1
#endif
#if (PLATFORM(IOS) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)) || PLATFORM(VISION)
#define HAVE_ARKIT 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1
#endif
#if PLATFORM(VISION)
#define HAVE_COMPOSITOR_SERVICES 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST)
#define HAVE_UI_IMPACT_FEEDBACK_GENERATOR 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION) || PLATFORM(APPLETV)
#define HAVE_UI_WK_DOCUMENT_CONTEXT 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UIDATEPICKER_STYLE 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_UI_POINTER_INTERACTION 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UIKIT_WITH_MOUSE_SUPPORT 1
#define HAVE_UI_PARALLAX_TRANSITION_GESTURE_RECOGNIZER 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UIKIT_BAR_BUTTON_LAYOUT_CUSTOMIZATION 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_MOUSE_DEVICE_OBSERVATION 1
#endif
#if PLATFORM(MACCATALYST)
#define HAVE_LOOKUP_GESTURE_RECOGNIZER 1
#endif
#if PLATFORM(COCOA)
#define HAVE_FAIRPLAYSTREAMING_CENC_INITDATA 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
#define HAVE_APP_LINKS_WITH_ISENABLED 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_ROUTE_SHARING_POLICY_LONG_FORM_VIDEO 1
#endif
#if (PLATFORM(IOS) || PLATFORM(VISION)) && !PLATFORM(IOS_SIMULATOR)
#define HAVE_DEVICE_MANAGEMENT 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(MACCATALYST)
#define HAVE_AVPLAYER_RESOURCE_CONSERVATION_LEVEL 1
#endif
#if PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(VISION)
#define HAVE_APP_SSO 1
#endif
#if PLATFORM(COCOA) || PLATFORM(GTK) || PLATFORM(WPE)
#define HAVE_COOKIE_CHANGE_LISTENER_API 1
#endif
#if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(APPLETV))
#define HAVE_NEAR_FIELD 1
#endif
#if PLATFORM(COCOA)
#define HAVE_OS_SIGNPOST 1
#endif
#if PLATFORM(MAC)
#define HAVE_AVPLAYER_VIDEORANGEOVERRIDE 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
#define HAVE_CG_PATH_UNEVEN_CORNERS_ROUNDEDRECT 1
#endif
#if PLATFORM(WATCHOS) || PLATFORM(APPLETV) || (PLATFORM(IOS_FAMILY) && !(defined __has_include && __has_include(<CoreFoundation/CFPriv.h>)))
#define HAVE_NSPROGRESS_PUBLISHING_SPI 1
#endif
#if PLATFORM(MAC)
#define HAVE_MULTIGAMEPADPROVIDER_SUPPORT 1
#endif
#if PLATFORM(MAC)
#define HAVE_WIDE_GAMECONTROLLER_SUPPORT 1
#endif
#if PLATFORM(MAC)
#define HAVE_GCCONTROLLER_HID_DEVICE_CHECK 1
#endif
#if PLATFORM(COCOA)
#define HAVE_INCREMENTAL_PDF_APIS 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_UICONTEXTMENU_LOCATION 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_AVOBSERVATIONCONTROLLER 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_UISCENE_BASED_VIEW_SERVICE_STATE_NOTIFICATIONS 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(MACCATALYST)
#define HAVE_IOS_JIT_RESTRICTIONS 1
#endif
#if (PLATFORM(MAC) || PLATFORM(MACCATALYST)) && CPU(ARM64)
#define HAVE_MAC_JIT_RESTRICTIONS 1
#endif
#if PLATFORM(MAC)
#define HAVE_AVAUDIO_ROUTING_ARBITER 1
#endif
#if PLATFORM(MAC) || PLATFORM(MACCATALYST)
#define HAVE_MEDIA_USAGE_FRAMEWORK 1
#endif
#if PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(VISION)
#define HAVE_PASSKIT_FRAMEWORK 1
#endif
#if HAVE(PASSKIT_FRAMEWORK)
#define HAVE_PASSKIT_INSTALLMENTS 1
#define HAVE_PASSKIT_NEW_BUTTON_TYPES 1
#define HAVE_PASSKIT_RECURRING_SUMMARY_ITEM 1
#define HAVE_PASSKIT_DEFERRED_SUMMARY_ITEM 1
#define HAVE_PASSKIT_SHIPPING_METHOD_DATE_COMPONENTS_RANGE 1
#define HAVE_PASSKIT_COUPON_CODE 1
#define HAVE_PASSKIT_SHIPPING_CONTACT_EDITING_MODE 1
#define HAVE_PASSKIT_UPDATE_SHIPPING_METHODS_WHEN_CHANGING_SUMMARY_ITEMS 1
#define HAVE_PASSKIT_MODULARIZATION 1
#define HAVE_PASSKIT_AUTOMATIC_RELOAD_SUMMARY_ITEM 1
#define HAVE_PASSKIT_RECURRING_PAYMENTS 1
#define HAVE_PASSKIT_AUTOMATIC_RELOAD_PAYMENTS 1
#define HAVE_PASSKIT_MULTI_MERCHANT_PAYMENTS 1
#define HAVE_PASSKIT_PAYMENT_ORDER_DETAILS 1
#define HAVE_PASSKIT_DEFERRED_PAYMENTS 1
#define HAVE_PASSKIT_DEFAULT_SHIPPING_METHOD 1
#endif
#if __has_include(<PassKitMacHelperTemp/PKPaymentAuthorizationViewController_Private.h>)
#define HAVE_PASSKIT_MAC_HELPER_TEMP 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_PASSKIT_APPLE_PAY_LATER_AVAILABILITY 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
#define HAVE_FRONTBOARD_SYSTEM_APP_SERVICES 1
#endif
#if !defined(HAVE_CPU_TRANSLATION_CAPABILITY) && OS(DARWIN) && CPU(X86_64) && (PLATFORM(MAC) || PLATFORM(MACCATALYST))
#define HAVE_CPU_TRANSLATION_CAPABILITY 1
#endif
#if PLATFORM(MAC) || PLATFORM(GTK)
#define HAVE_APP_ACCENT_COLORS 1
#endif
#if PLATFORM(MAC)
#define HAVE_AVROUTEPICKERVIEW 1
#endif
#if PLATFORM(MAC)
#define HAVE_AUDIO_OUTPUT_DEVICE_UNIQUE_ID 1
#endif
#if PLATFORM(COCOA)
#define HAVE_LSDATABASECONTEXT 1
#define HAVE_CGS_FIX_FOR_RADAR_97530095 0
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UI_EVENT_ATTRIBUTION 1
#define HAVE_UI_FOCUS_EFFECT 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
#define HAVE_OS_LAUNCHD_JOB 1
#define HAVE_NSURL_EMPTY_PUNYCODE_CHECK 1
#endif
#if PLATFORM(VISION)
#define HAVE_CORE_ANIMATION_SEPARATED_LAYERS 1
#define HAVE_CORE_ANIMATION_SEPARATED_PORTALS 1
#define HAVE_PIP_CONTROLLER 1
#endif
#if !defined(HAVE_UI_TEXT_SELECTION_DISPLAY_INTERACTION) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION) || PLATFORM(APPLETV))
#define HAVE_UI_TEXT_SELECTION_DISPLAY_INTERACTION 1
#endif
#if !defined(HAVE_NETWORK_RESOLUTION_FAILURE_REPORT) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_NETWORK_RESOLUTION_FAILURE_REPORT 1
#endif
#if PLATFORM(MACCATALYST)
#define HAVE_CATALYST_USER_INTERFACE_IDIOM_AND_SCALE_FACTOR 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_PENCILKIT_TEXT_INPUT 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_STYLUS_DEVICE_OBSERVATION 1
#endif
#if PLATFORM(IOS) || PLATFORM(MAC) || PLATFORM(VISION) || PLATFORM(APPLETV)
#if !defined(HAVE_TCC_IOS_14_BIG_SUR_SPI)
#define HAVE_TCC_IOS_14_BIG_SUR_SPI 1
#endif
#endif
#if !defined(HAVE_NS_DIRECT_SUPPORT) && COMPILER_HAS_ATTRIBUTE(objc_direct)
#define HAVE_NS_DIRECT_SUPPORT 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
#define HAVE_CONTACTSUI 1
#define HAVE_CONTACTS 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
#define HAVE_CNCONTACTPICKERVIEWCONTROLLER 1
#endif
#if !defined(HAVE_DDSCANNER_QOS_CONFIGURATION) && PLATFORM(COCOA)
#define HAVE_DDSCANNER_QOS_CONFIGURATION 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
#define HAVE_SPEECHRECOGNIZER 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(MAC) || PLATFORM(VISION) || PLATFORM(APPLETV)
#define HAVE_AVCAPTUREDEVICE 1
#endif
#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 140000) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(APPLETV)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 170000)
#define HAVE_AVCAPTUREPHOTOOUTPUT_READINESS_COORDINATOR 1
#endif
#if PLATFORM(MAC) && defined __has_include && __has_include(<CoreFoundation/CFPriv.h>)
#define HAVE_SANDBOX_MESSAGE_FILTERING 1
#endif
#if ((PLATFORM(IOS) || PLATFORM(VISION)) && !PLATFORM(IOS_FAMILY_SIMULATOR)) || PLATFORM(MAC)
#define HAVE_COREVIDEO_COMPRESSED_PIXEL_FORMAT_TYPES 1
#endif
#if PLATFORM(COCOA)
#define HAVE_APPLE_LOW_POWER_MODE_SUPPORT 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_ASC_AUTH_UI 1
#endif
#if PLATFORM(IOS) \
|| PLATFORM(MAC) \
|| PLATFORM(VISION)
#define HAVE_ASC_WEBKIT_SPI 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(VISION) || PLATFORM(APPLETV)
#define HAVE_AVCONTENTKEYREQUEST_PENDING_PROTECTION_STATUS 1
#endif
#if !defined(HAVE_AVCONTENTKEYREQUEST_RANDOMIZATION_API) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS) \
|| PLATFORM(VISION))
#define HAVE_AVCONTENTKEYREQUEST_RANDOMIZATION_API 1
#endif
#if __has_include(<AVFoundation/AVPlayerInterstitialEventController.h>)
#if !defined(HAVE_AVFOUNDATION_INTERSTITIAL_EVENTS)
#define HAVE_AVFOUNDATION_INTERSTITIAL_EVENTS 1
#endif
#endif
#if PLATFORM(WATCHOS)
#define HAVE_PEPPER_UI_CORE 1
#endif
#if PLATFORM(WATCHOS)
#define HAVE_QUICKBOARD_COLLECTION_VIEWS 1
#define HAVE_QUICKBOARD_CONTROLLER 1
#define HAVE_PUIC_BUTTON_TYPE_PILL 1
#endif
#if PLATFORM(MAC)
#define HAVE_STATIC_FONT_REGISTRY 1
#define HAVE_DATA_DETECTORS_MAC_ACTION 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(IOS) \
|| PLATFORM(VISION)
// FIXME: Does this intend to exclude macCatalyst?
#define HAVE_RSA_BSSA 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
#define HAVE_NSURL_TITLE 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION) || (PLATFORM(APPLETV) && __has_include(<PDFKit/PDFKit.h>))
#define HAVE_PDFKIT 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS)
#define HAVE_VISION 1
#endif
#if PLATFORM(COCOA)
#define HAVE_RSA_PSS_OID 1
#endif
#if PLATFORM(COCOA)
#define HAVE_VIDEO_RESTRICTED_DECODING 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(IOS_FAMILY)
#define HAVE_CFNETWORK_NSURLSESSION_HSTS_WITH_UNTRUSTED_ROOT 1
#define HAVE_NSURLSESSION_TASK_DELEGATE 1
#define HAVE_IMAGE_RESTRICTED_DECODING 1
#define HAVE_XPC_CONNECTION_COPY_INVALIDATION_REASON 1
#endif
#if ((PLATFORM(IOS) || PLATFORM(VISION)) && !PLATFORM(IOS_SIMULATOR)) \
|| PLATFORM(MACCATALYST) \
|| PLATFORM(MAC)
#define HAVE_ASV_INLINE_PREVIEW 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(MAC) || PLATFORM(VISION)
#define HAVE_NSURLPROTOCOL_WITH_SKIPAPPSSO 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(MAC) || PLATFORM(VISION)
#define HAVE_UPDATE_WEB_ACCESSIBILITY_SETTINGS 1
#endif
#if PLATFORM(COCOA)
#define HAVE_CORE_TEXT_SBIX_IMAGE_SIZE_FUNCTIONS 1
#define HAVE_WOFF_SUPPORT 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#if !defined(HAVE_VK_IMAGE_ANALYSIS)
#define HAVE_VK_IMAGE_ANALYSIS 1
#endif
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#if !defined(HAVE_VK_IMAGE_ANALYSIS_FOR_MACHINE_READABLE_CODES)
#define HAVE_VK_IMAGE_ANALYSIS_FOR_MACHINE_READABLE_CODES 1
#endif
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(IOS_FAMILY_SIMULATOR)
#define HAVE_IOSURFACE_RGB10 1
#endif
#if !defined(HAVE_VK_IMAGE_ANALYSIS_TYPE_IMAGE_SEGMENTATION) \
&& (PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION))
#define HAVE_VK_IMAGE_ANALYSIS_TYPE_IMAGE_SEGMENTATION 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION) || PLATFORM(APPLETV)
#define HAVE_PER_APP_ACCESSIBILITY_PREFERENCES 1
#endif
#if (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR)) || PLATFORM(MACCATALYST) || PLATFORM(MAC)
#define HAVE_PAC_SHARED_REGION_ID 1
#endif
#if !defined(HAVE_QUICKLOOK_PREVIEW_ITEM_DATA_PROVIDER) \
&& PLATFORM(MAC)
#define HAVE_QUICKLOOK_PREVIEW_ITEM_DATA_PROVIDER 1
#define HAVE_QUICKLOOK_ITEM_PREVIEW_OPTIONS 1
#define HAVE_QUICKLOOK_PREVIEW_ACTIVITY 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UITOOLBAR_STANDARD_APPEARANCE 1
#endif
#if !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(WATCHOS)
#define HAVE_SYMPTOMS_FRAMEWORK 1
#endif
#if !defined(HAVE_GROUP_ACTIVITIES) && PLATFORM(MAC)
#define HAVE_GROUP_ACTIVITIES 1
#endif
#if PLATFORM(IOS_FAMILY) || PLATFORM(MAC)
#define HAVE_WEBGL_COMPATIBLE_METAL 1
#endif
#if PLATFORM(MAC)
#define HAVE_CMPHOTO_TILE_DECODER_AVAILABLE 1
#endif
#if (PLATFORM(IOS) || PLATFORM(VISION)) && !PLATFORM(IOS_FAMILY_SIMULATOR)
#define HAVE_SYSTEM_STATUS 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION) || PLATFORM(APPLETV)
#define HAVE_AVSAMPLEBUFFERVIDEOOUTPUT 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_PHOTOS_UI 1
// FIXME (102246762): Remove this have (and make it true everywhere) when possible.
#if __has_include(<PhotosUICore/PXActivityProgressController.h>)
#define HAVE_PX_ACTIVITY_PROGRESS_CONTROLLER 1
#endif
#endif
#if PLATFORM(MAC) \
|| (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
#define HAVE_CVBUFFERCOPYATTACHMENTS 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
#define HAVE_AUDIOSESSION_PROCESSASSERTION 1
#endif
// FIXME: Why no catalyst?
#if PLATFORM(IOS) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV) \
|| PLATFORM(VISION)
#define HAVE_CORE_LOCATION_WEBSITE_IDENTIFIERS 1
#define HAVE_UIKIT_BAR_BUTTON_LAYOUT_CUSTOMIZATION 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION) || PLATFORM(APPLETV)
#if !defined(HAVE_UI_EDIT_MENU_INTERACTION)
#define HAVE_UI_EDIT_MENU_INTERACTION 1
#endif
#endif
#if PLATFORM(COCOA)
#define HAVE_CORE_LOCATION 1
#endif
#if PLATFORM(COCOA)
#define HAVE_WEBGPU_IMPLEMENTATION 1
// FIXME: PlatformHave.h should not depend or defined ENABLE macros.
#if !defined(ENABLE_WEBGPU_SWIFT)
#define ENABLE_WEBGPU_SWIFT 0
#endif
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS)
#define HAVE_SHAPE_DETECTION_API_IMPLEMENTATION 1
#endif
#if HAVE(WEBGPU_IMPLEMENTATION) && (PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(VISION))
#define HAVE_COREVIDEO_METAL_SUPPORT COREVIDEO_SUPPORTS_METAL
#endif
#if PLATFORM(MAC)
#define HAVE_UNIFIED_SPEECHSYNTHESIS_FIX_FOR_81465164 1
#endif
#if PLATFORM(MAC)
#define HAVE_SCREEN_CAPTURE_KIT 1
#endif
#if PLATFORM(MAC)
#define HAVE_WINDOW_CAPTURE 1
#endif
#if PLATFORM(COCOA) && __has_include(<CoreFoundation/CFPriv.h>) && !PLATFORM(IOS_FAMILY_SIMULATOR)
#define HAVE_SANDBOX_STATE_FLAGS 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UIFINDINTERACTION 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UIACTIVITYTYPE_SHAREPLAY 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
#define HAVE_SHARE_SHEET_UI 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_SKADNETWORK_v4 1
#endif
// FIXME: Why no catalyst?
#if PLATFORM(IOS) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV) \
|| PLATFORM(VISION)
#define HAVE_IMAGEIO_CREATE_UNPREMULTIPLIED_PNG 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_DDRESULT_DISABLE_URL_SCHEME_CHECKING 1
#endif
#if (PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(VISION))
#define HAVE_SYSTEM_CONTENT_LS_DATABASE 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#if !defined(HAVE_UIKIT_RESIZABLE_WINDOWS)
#define HAVE_UIKIT_RESIZABLE_WINDOWS 1
#endif
#if !defined(HAVE_UI_WINDOW_SCENE_GEOMETRY_PREFERENCES)
#define HAVE_UI_WINDOW_SCENE_GEOMETRY_PREFERENCES 1
#endif
#endif
#if !defined(HAVE_AUDIO_COMPONENT_SERVER_REGISTRATIONS) \
&& (PLATFORM(MAC) || PLATFORM(MACCATALYST))
#define HAVE_AUDIO_COMPONENT_SERVER_REGISTRATIONS 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_VOICEACTIVITYDETECTION 1
#endif
#if PLATFORM(MAC)
#define HAVE_ADDITIONAL_APPLE_CAMERA_SERVICE 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_APPLE_PUSH_SERVICE_URL_TOKEN_SUPPORT 1
#endif
#if PLATFORM(COCOA)
#define HAVE_AVIF 1
#endif
#if PLATFORM(IOS_SIMULATOR)
#define HAVE_CG_IMAGE_SOURCE_AVIF_IMAGE_TYPES_BUG 1
#endif
#if PLATFORM(MAC)
#define HAVE_POWERLOG_TASK_MODE_QUERY 1
#endif
#if !defined(HAVE_LOCKDOWN_MODE_PDF_ADDITIONS) && \
(PLATFORM(MAC) || (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR)))
#define HAVE_LOCKDOWN_MODE_PDF_ADDITIONS 1
#endif
#if PLATFORM(COCOA)
#define HAVE_ACCESSIBILITY_FRAMEWORK 1
#endif
#if __has_include(<chirp/chirp.h>)
#define HAVE_CHIRP_SPI 1
#endif
#if __has_include(<mach/shared_region.h>)
#define HAVE_SHARED_REGION_SPI 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
#define HAVE_MEDIAEXPERIENCE_AVSYSTEMCONTROLLER 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UISCROLLVIEW_ASYNCHRONOUS_SCROLL_EVENT_HANDLING 1
#endif
#if PLATFORM(IOS_FAMILY)
#define HAVE_UI_TEXT_SELECTION_RECT_CUSTOM_HANDLE_INFO 1
#endif
#if !defined(HAVE_UI_WINDOW_SCENE_LIVE_RESIZE) && (PLATFORM(IOS) || PLATFORM(VISION))
#define HAVE_UI_WINDOW_SCENE_LIVE_RESIZE 1
#endif
#if !defined(HAVE_UI_WINDOW_SCENE_LIVE_RESIZE_API_143004359) \
&& (PLATFORM(IOS) \
|| PLATFORM(VISION))
#define HAVE_UI_WINDOW_SCENE_LIVE_RESIZE_API_143004359 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_CONTINUITY_CAMERA 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_VPIO_DUCKING_LEVEL_API 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_NON_HOSTING_VISIBILITY_PROPAGATION_VIEW 1
#define HAVE_ASD_INSTALL_WEB_ATTRIBUTION_SERVICE 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_AD_ATTRIBUTION_KIT_PRIVATE_BROWSING 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(IOS_SIMULATOR) && __has_include(<apfs/apfs_fsctl.h>)
#define HAVE_APFS_CACHEDELETE_PURGEABLE 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
#define HAVE_AVCAPTUREDEVICE_MINFOCUSLENGTH 1
#endif
#if (PLATFORM(GTK) || PLATFORM(WPE)) && defined(__has_include)
#if __has_include(<gio/gdesktopappinfo.h>)
#define HAVE_GDESKTOPAPPINFO 1
#endif
#endif
#if PLATFORM(IOS) || PLATFORM(VISION) || PLATFORM(MAC)
#define HAVE_TRANSLATION_UI_SERVICES 1
#endif
#if PLATFORM(COCOA)
#define HAVE_MACH_BOOTSTRAP_EXTENSION 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#if defined __has_include && __has_include(<CoreFoundation/CFPriv.h>)
// FIXME: PlatformHave.h should not depend or defined ENABLE macros.
#define ENABLE_SYSTEM_CONTENT_PATH_SANDBOX_RULES 1
#endif
#endif
#if PLATFORM(IOS) || PLATFORM(VISION) || PLATFORM(MACCATALYST)
#define HAVE_PICTUREINPICTUREPLAYERLAYERVIEW 1
#endif
#if (PLATFORM(IOS) || PLATFORM(VISION)) \
&& !PLATFORM(IOS_SIMULATOR)
#define HAVE_BCS_LIVE_CAMERA_ONLY_ACTION_SPI 1
#endif
#if PLATFORM(COCOA)
#if __has_include(<Network/proxy_config.h>)
#define HAVE_NW_PROXY_CONFIG 1
#endif
#endif
#if (PLATFORM(COCOA) && !PLATFORM(WATCHOS))
#define HAVE_CFNETWORK_HOSTOVERRIDE 1
#endif
#if PLATFORM(MAC) \
|| (PLATFORM(IOS) && !PLATFORM(IOS_FAMILY_SIMULATOR)) \
|| PLATFORM(MACCATALYST) \
|| PLATFORM(WATCHOS) && !PLATFORM(IOS_FAMILY_SIMULATOR)
#if __has_include(<LockdownMode/LockdownMode.h>)
#define HAVE_LOCKDOWN_MODE_FRAMEWORK 1
#endif
#endif
#if PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION)
// Only used inside ENABLE(DATA_DETECTION)
#define HAVE_SECURE_ACTION_CONTEXT 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
// Only used inside ENABLE(DATA_DETECTION)
#define HAVE_WK_SECURE_CODING_DATA_DETECTORS 1
#endif
#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV)
#define HAVE_WK_SECURE_CODING_AVOUTPUTCONTEXT 1
#endif
#if PLATFORM(COCOA)
#define HAVE_WK_SECURE_CODING_NSURLREQUEST 1
#endif
#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV)
#define HAVE_WK_SECURE_CODING_PKDATECOMPONENTSRANGE 1
#endif
#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 150400) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 180400) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 20400)) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 110400) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 180400)
#define HAVE_WK_SECURE_CODING_NSURLPROTECTIONSPACE 1
#endif
#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 150400) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 180400) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 20400)) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 110400) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 180400)
#define HAVE_WK_SECURE_CODING_NSURLCREDENTIAL 1
#endif
#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 160000) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 190000) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 30000)) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 120000) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 190000)
#define HAVE_WK_SECURE_CODING_SECTRUST 1
#endif
#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 160000) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 190000) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 30000)) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 120000) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 190000)
#define HAVE_WK_SECURE_CODING_AVOUTPUTCONTEXT 1
#endif
#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 270000) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 270000)) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 270000)
#define HAVE_WK_SECURE_CODING_PKPAYMENTMETHOD 1
#define HAVE_WK_SECURE_CODING_PKPAYMENTTOKEN 1
#define HAVE_WK_SECURE_CODING_PKSHIPPINGMETHOD 1
#define HAVE_WK_SECURE_CODING_PKPAYMENTMERCHANTSESSION 1
#define HAVE_WK_SECURE_CODING_PKPAYMENT 1
#define HAVE_WK_SECURE_CODING_PKPAYMENTSETUPFEATURE 1
#endif
#if PLATFORM(COCOA)
#define HAVE_CFNETWORK_SEPARATE_CREDENTIAL_STORAGE 1
#define HAVE_STRICT_DECODABLE_CNCONTACT 1
#define HAVE_STRICT_DECODABLE_PKCONTACT 1
#define HAVE_GB_18030_2022 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(MACCATALYST) \
|| PLATFORM(IOS) || PLATFORM(WATCHOS) || PLATFORM(VISION)
#define HAVE_AVAUDIOSESSION_SMARTROUTING 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS)
#define HAVE_AVAUDIOAPPLICATION 1
#endif
#if PLATFORM(MAC)
#define HAVE_NSCOLOR_FILL_COLOR_HIERARCHY 1
#endif
#if !defined(HAVE_NSTEXTPLACEHOLDER_RECTS) && PLATFORM(MAC)
#define HAVE_NSTEXTPLACEHOLDER_RECTS 1
#endif
#if !defined(HAVE_ADDITIONAL_NS_ACCESSIBILITY_CONSTANTS) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000))
#define HAVE_ADDITIONAL_NS_ACCESSIBILITY_CONSTANTS 1
#endif
#if PLATFORM(MAC)
#define HAVE_APPLE_CAMERA_USER_CLIENT 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(IOS) \
|| PLATFORM(MACCATALYST) \
|| PLATFORM(VISION)
#define HAVE_MACH_RANGE_CREATE 1
#endif
#if !defined(HAVE_MACH_EVENTLINK) && PLATFORM(MAC)
#define HAVE_MACH_EVENTLINK 1
#endif
#if !defined(HAVE_INLINE_PREDICTIONS) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION))
#define HAVE_INLINE_PREDICTIONS 1
#endif
#if !defined(HAVE_REDESIGNED_TEXT_CURSOR) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION))
#define HAVE_REDESIGNED_TEXT_CURSOR 1
#endif
#if !defined(HAVE_AUTOCORRECTION_ENHANCEMENTS) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION))
#define HAVE_AUTOCORRECTION_ENHANCEMENTS 1
#endif
#if !defined(HAVE_WEB_PRIVACY_FRAMEWORK) && __has_include(<WebPrivacy/WebPrivacy.h>)
#define HAVE_WEB_PRIVACY_FRAMEWORK 1
#endif
#if !defined(HAVE_SYSTEM_SUPPORT_FOR_ADVANCED_PRIVACY_PROTECTIONS) \
&& PLATFORM(COCOA)
#define HAVE_SYSTEM_SUPPORT_FOR_ADVANCED_PRIVACY_PROTECTIONS 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(MACCATALYST) \
|| PLATFORM(IOS) \
|| PLATFORM(APPLETV) \
|| PLATFORM(WATCHOS)
#define HAVE_JPEGXL 1
#endif
#if PLATFORM(COCOA)
#define HAVE_HEIC 1
#endif
#if PLATFORM(COCOA)
#define HAVE_CTFONTMANAGER_CREATEMEMORYSAFEFONTDESCRIPTORFROMDATA 1
#endif
#if PLATFORM(MAC)
#define HAVE_NSWINDOW_SNAPSHOT_READINESS_HANDLER 1
#endif
#if PLATFORM(MACCATALYST) || PLATFORM(IOS) \
|| PLATFORM(APPLETV) \
|| PLATFORM(WATCHOS) || PLATFORM(VISION)
#define HAVE_UI_USER_INTERFACE_IDIOM_VISION 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(MACCATALYST) || PLATFORM(IOS) \
|| PLATFORM(APPLETV) \
|| PLATFORM(WATCHOS)
#define HAVE_AVSPEECHSYNTHESIS_VOICES_CHANGE_NOTIFICATION 1
#endif
#if PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_APPLE_THERMAL_MITIGATION_SUPPORT 1
#endif
#if !PLATFORM(VISION)
#define HAVE_IDLE_SLEEP_STATE 1
#endif
#if PLATFORM(COCOA)
#define HAVE_CGSTYLE_COLORMATRIX_BLUR 1
#endif
#if !defined(HAVE_WEB_AUTHN_AS_MODERN) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(VISION) || PLATFORM(APPLETV))
#define HAVE_WEB_AUTHN_AS_MODERN 1
#endif
#if !defined(HAVE_UNIFIED_ASC_AUTH_UI) && (PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(VISION))
#define HAVE_UNIFIED_ASC_AUTH_UI 1
#endif
#if !defined(HAVE_SECURITY_KEY_API) && (PLATFORM(MAC) || PLATFORM(IOS))
#define HAVE_SECURITY_KEY_API 1
#endif
#if !defined(HAVE_WEB_AUTHN_PRF_API) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) \
|| PLATFORM(VISION))
#define HAVE_WEB_AUTHN_PRF_API 1
#endif
#if !defined(HAVE_WEB_AUTHN_PUBLIC_KEY_CREDENTIAL_MANAGER) \
&& (PLATFORM(MAC) || PLATFORM(MACCATALYST) || PLATFORM(IOS))
#define HAVE_WEB_AUTHN_PUBLIC_KEY_CREDENTIAL_MANAGER 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(MACCATALYST) || PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_AUDIOFORMATPROPERTY_VARIABLEPACKET_SUPPORTED 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(MACCATALYST) || PLATFORM(IOS) || PLATFORM(VISION)
#define HAVE_AVASSETWRITER_WITH_OPUS_SUPPORTED 1
#endif
#if !defined(HAVE_CREDENTIAL_UPDATE_API) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 160000) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST))
#define HAVE_CREDENTIAL_UPDATE_API 1
#endif
#if PLATFORM(COCOA)
#define HAVE_CORE_CRYPTO_SIGNATURES_INT_RETURN_VALUE 1
#endif
#if HAVE(AVKIT) && !PLATFORM(APPLETV)
#define HAVE_AVPLAYERCONTROLLER 1
#endif
#if HAVE(AVKIT) && !PLATFORM(APPLETV)
#define HAVE_AVPLAYERLAYERVIEW 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| (PLATFORM(VISION) && __has_include(<CoreTelephony/CoreTelephony.h>))
#define HAVE_CORE_TELEPHONY 1
#endif
#if PLATFORM(COCOA)
#define HAVE_CORE_MATERIAL 1
#endif
#if PLATFORM(IOS_FAMILY) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
#define HAVE_UI_PASTE_CONFIGURATION 1
#endif
#if PLATFORM(COCOA)
#define HAVE_NSURL_ENCODING_INVALID_CHARACTERS 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_UISCROLLVIEW_ALLOWS_KEYBOARD_SCROLLING 1
#endif
#if !PLATFORM(APPLETV) && !PLATFORM(WATCHOS) && __has_include(<UIKit/UITextCursorDropPositionAnimator.h>)
#define HAVE_UI_TEXT_CURSOR_DROP_POSITION_ANIMATOR 1
#endif
#if CPU(ARM64)
#define HAVE_FP16_HALF_SUPPORT 1
#endif
#if PLATFORM(MAC)
#define HAVE_MOUSE_UNACCELERATED_MOVEMENT 1
#endif
#if !defined(HAVE_PKPAYMENTPASS) && PLATFORM(COCOA) && !PLATFORM(APPLETV)
#define HAVE_PKPAYMENTPASS 1
#endif
#if !defined(HAVE_STRICT_DECODABLE_PKPAYMENTPASS) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(WATCHOS) \
|| PLATFORM(VISION))
#define HAVE_STRICT_DECODABLE_PKPAYMENTPASS 1
#endif
#if !defined(HAVE_MARKETPLACE_KIT) && PLATFORM(IOS)
#define HAVE_MARKETPLACE_KIT 1
#endif
#if !defined(HAVE_XPC_API) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 260400) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 260400) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 260400))
#define HAVE_XPC_API 1
#endif
#if !defined(HAVE_BROWSER_ENGINE_SUPPORTING_API) && PLATFORM(COCOA)
#define HAVE_BROWSER_ENGINE_SUPPORTING_API 1
#endif
#if !defined(HAVE_FAIRPLAYSTREAMING_MTPS_INITDATA) \
&& (PLATFORM(IOS) \
|| PLATFORM(MAC) \
|| PLATFORM(VISION)) \
|| PLATFORM(APPLETV)
#define HAVE_FAIRPLAYSTREAMING_MTPS_INITDATA 1
#endif
#if !defined(HAVE_SPATIAL_TRACKING_LABEL) \
&& PLATFORM(VISION)
#define HAVE_SPATIAL_TRACKING_LABEL 1
#endif
#if !defined(HAVE_SPATIAL_FORMAT_DESCRIPTION_API) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS) \
|| PLATFORM(VISION))
#define HAVE_SPATIAL_FORMAT_DESCRIPTION_API 1
#endif
#if !defined(HAVE_AVSAMPLEBUFFERVIDEORENDERER) && PLATFORM(COCOA)
#define HAVE_AVSAMPLEBUFFERVIDEORENDERER 1
#endif
// See enablement check in SystemMalloc.h.
#if COMPILER(CLANG) && PLATFORM(COCOA)
#define HAVE_TYPE_AWARE_MALLOC 1
#define WTF_TYPE_AWARE_MALLOC_FUNCTION(function, index) _MALLOC_TYPED(function, index)
#else
#define WTF_TYPE_AWARE_MALLOC_FUNCTION(function, index)
#endif
#if !defined(HAVE_SECTRUST_COPYPROPERTIES) \
&& PLATFORM(COCOA) && !PLATFORM(MACCATALYST)
#define HAVE_SECTRUST_COPYPROPERTIES 1
#endif
#if !defined(HAVE_OBJC_CUSTOM_DEALLOC) && PLATFORM(COCOA)
#define HAVE_OBJC_CUSTOM_DEALLOC 1
#endif
#if !defined(HAVE_COREGRAPHICS_WITH_PDF_AREA_OF_INTEREST_SUPPORT) && PLATFORM(COCOA)
#define HAVE_COREGRAPHICS_WITH_PDF_AREA_OF_INTEREST_SUPPORT 1
#endif
#if !defined(HAVE_ESIM_AUTOFILL_SYSTEM_SUPPORT) && PLATFORM(IOS)
#define HAVE_ESIM_AUTOFILL_SYSTEM_SUPPORT 1
#endif
#if !defined(HAVE_AUDIO_DEVICE_PROPERTY_REFERENCE_STREAM_ENABLED) && PLATFORM(MAC)
#define HAVE_AUDIO_DEVICE_PROPERTY_REFERENCE_STREAM_ENABLED 1
#endif
#if !defined(HAVE_AUDIO_CONVERTER_SERVICE) && PLATFORM(MAC)
#define HAVE_AUDIO_CONVERTER_SERVICE 1
#endif
#if PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR)
#define HAVE_MOBILE_KEY_BAG 1
#endif
#if !defined(HAVE_UIINTELLIGENCESUPPORT_FRAMEWORK) \
&& __has_include(<UIIntelligenceSupport/UIIntelligenceSupport.h>) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(APPLETV) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(VISION) \
|| PLATFORM(MAC))
#define HAVE_UIINTELLIGENCESUPPORT_FRAMEWORK 1
#endif
#if !defined(HAVE_NS_TEXT_CHECKING_TYPE_MATH_COMPLETION) && PLATFORM(MAC)
#define HAVE_NS_TEXT_CHECKING_TYPE_MATH_COMPLETION 1
#endif
#if !defined(HAVE_PASSKIT_MERCHANT_CATEGORY_CODE) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) \
|| PLATFORM(VISION))
#define HAVE_PASSKIT_MERCHANT_CATEGORY_CODE 1
#endif
#if !defined(HAVE_PASSKIT_DISBURSEMENTS) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) \
|| PLATFORM(VISION))
#define HAVE_PASSKIT_DISBURSEMENTS 1
#endif
#if !defined(HAVE_PASSKIT_PAYMENT_SERVICES_MERCHANT_URL_IS_DELEGATED) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260500) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 260500) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 260500) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 260500))
#define HAVE_PASSKIT_PAYMENT_SERVICES_MERCHANT_URL_IS_DELEGATED 1
#endif
#if !defined(HAVE_NSRESPONDER_WRITING_TOOLS_SUPPORT) && PLATFORM(MAC)
#define HAVE_NSRESPONDER_WRITING_TOOLS_SUPPORT 1
#endif
#if !defined(HAVE_APPKIT_SIRI_AFFORDANCE) \
&& (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 270000)
#define HAVE_APPKIT_SIRI_AFFORDANCE 1
#endif
#if PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV) \
|| PLATFORM(VISION)
#define HAVE_AVMETRICS 1
#endif
#if !defined(HAVE_FULL_FEATURED_USER_NOTIFICATIONS) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS))
#define HAVE_FULL_FEATURED_USER_NOTIFICATIONS 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(APPLETV)
#define HAVE_PDFDOCUMENT_ANNOTATIONS_FOR_FIELD_NAME 1
#define HAVE_PDFDOCUMENT_ENABLE_DATA_DETECTORS 1
#define HAVE_PDFDOCUMENT_RESET_FORM_FIELDS 1
#define HAVE_PDFDOCUMENT_SELECTION_WITH_GRANULARITY 1
#define HAVE_PDFKIT_WITH_NEXT_ACTIONS 1
#define HAVE_PDFPAGE_AREA_OF_INTEREST_AT_POINT 1
#define HAVE_PDFPAGE_DATA_DETECTOR_RESULTS 1
#define HAVE_PDFSELECTION_ENUMERATE_RECTS_AND_TRANSFORMS 1
#endif
#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION)
#define HAVE_SUPPORT_HDR_DISPLAY 1
#endif
#if !defined(HAVE_PDFSELECTION_HTMLDATA_RTFDATA) \
&& (PLATFORM(APPLETV) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(MAC) \
|| PLATFORM(VISION))
#define HAVE_PDFSELECTION_HTMLDATA_RTFDATA 1
#endif
#if !defined(HAVE_UI_CALENDAR_SELECTION_WEEK_OF_YEAR) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION))
#define HAVE_UI_CALENDAR_SELECTION_WEEK_OF_YEAR 1
#endif
#if !defined(HAVE_NS_EMOJI_IMAGE_STRIKE_PROVENANCE) \
&& (PLATFORM(MAC) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION)) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV)
#define HAVE_NS_EMOJI_IMAGE_STRIKE_PROVENANCE 1
#endif
#if PLATFORM(MAC) \
|| PLATFORM(IOS) \
|| PLATFORM(VISION)
#define HAVE_PKPAYMENTREQUEST_USERAGENT 1
#endif
#if !defined(HAVE_WEBFILTEREVALUATOR_AUDIT_TOKEN) && HAVE(AUDIT_TOKEN) && PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
#define HAVE_WEBFILTEREVALUATOR_AUDIT_TOKEN 1
#endif
#if !defined(HAVE_X25519_ZERO_CHECKS) && PLATFORM(COCOA)
#define HAVE_X25519_ZERO_CHECKS 1
#endif
#if !defined(HAVE_CG_PATH_CONTINUOUS_ROUNDED_RECT) && PLATFORM(COCOA)
#define HAVE_CG_PATH_CONTINUOUS_ROUNDED_RECT 1
#endif
#if !defined(HAVE_CONTENT_SWIPE_GESTURE_RECOGNIZER) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_CONTENT_SWIPE_GESTURE_RECOGNIZER 1
#endif
#if !defined(HAVE_CORE_RE)
#if __has_include(<CoreRE/CoreRE.h>)
#define HAVE_CORE_RE 1
#else
#define HAVE_CORE_RE 0
#endif
#endif
#if PLATFORM(VISION) && __has_include(<CoreRE/CoreRE_SPI_WebKit.h>)
#define HAVE_RE_STEREO_CONTENT_SUPPORT RE_FEATURE_EMBEDDED_STEREO_CONTENT_COMPONENT
#else
#define HAVE_RE_STEREO_CONTENT_SUPPORT 0
#endif
// FIXME: PlatformHave.h should not depend or defined ENABLE macros.
#if !defined(ENABLE_UNPREFIXED_BACKDROP_FILTER)
#define ENABLE_UNPREFIXED_BACKDROP_FILTER 1
#endif
#if !defined(HAVE_NWSETTINGS_UNIFIED_HTTP)
#define HAVE_NWSETTINGS_UNIFIED_HTTP 1
#endif
#if !defined(HAVE_MATERIAL_HOSTING) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 160000) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST))
#define HAVE_MATERIAL_HOSTING 1
#endif
#if !defined(HAVE_UI_CONVERSATION_CONTEXT) && PLATFORM(IOS)
#define HAVE_UI_CONVERSATION_CONTEXT 1
#endif
#if !defined(HAVE_UI_GLASS_EFFECT) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(APPLETV))
#define HAVE_UI_GLASS_EFFECT 1
#endif
#if !defined(HAVE_CGCONTEXT_INIT_WITH_BITMAP_INFO_AND_NULLABLE_COLORSPACE) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 160000) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION))
#define HAVE_CGCONTEXT_INIT_WITH_BITMAP_INFO_AND_NULLABLE_COLORSPACE 1
#endif
#if !defined(HAVE_CVPIXELFORMATTYPE_30RGBLE_8A_BIPLANAR) && PLATFORM(COCOA)
#define HAVE_CVPIXELFORMATTYPE_30RGBLE_8A_BIPLANAR 1
#endif
// FIXME: This should include Catalyst, but so should HAVE_COREVIDEO_COMPRESSED_PIXEL_FORMAT_TYPES: rdar://156954321
#if !defined(HAVE_LOSSLESS_COMPRESSED_IOSURFACE_CG_SUPPORT) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS))
#define HAVE_LOSSLESS_COMPRESSED_IOSURFACE_CG_SUPPORT 1
#endif
#if !defined(HAVE_DRAGGING_ITEM_INIT_WITH_PASTEBOARD_ITEM) \
&& PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000
#define HAVE_DRAGGING_ITEM_INIT_WITH_PASTEBOARD_ITEM 1
#endif
#if !defined(HAVE_LIQUID_GLASS) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_LIQUID_GLASS 1
#endif
#if !defined(HAVE_UI_WINDOW_SCENE_GEOMETRY_COORDINATE_SPACE) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_UI_WINDOW_SCENE_GEOMETRY_COORDINATE_SPACE 1
#endif
#if !defined(HAVE_STRICT_FAIL_CLOSED) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_STRICT_FAIL_CLOSED 1
#endif
#if !defined(HAVE_APPKIT_SCROLLBAR_COLOR_SPI) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000))
#define HAVE_APPKIT_SCROLLBAR_COLOR_SPI 1
#endif
#if !defined(HAVE_UIKIT_SCROLLBAR_COLOR_SPI) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_UIKIT_SCROLLBAR_COLOR_SPI 1
#endif
#if !defined(HAVE_ALLOW_NUMBERPAD_POPOVER_TEXT_INPUT_TRAITS) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_ALLOW_NUMBERPAD_POPOVER_TEXT_INPUT_TRAITS 1
#endif
#if !defined(HAVE_IMMOVABLE_MACH_PORT) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_IMMOVABLE_MACH_PORT 1
#endif
#if !defined(HAVE_WEBCONTENTRESTRICTIONS) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260200) \
|| PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS))
#define HAVE_WEBCONTENTRESTRICTIONS 1
#endif
#if PLATFORM(COCOA) && !PLATFORM(WATCHOS)
#define HAVE_CI_KERNEL 1
#endif
#if !defined(HAVE_UITOUCH_ROLLANGLE) && (PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(VISION))
#define HAVE_UITOUCH_ROLLANGLE 1
#endif
#if !defined(HAVE_WK_SECURE_CODING_NSURLPROTECTIONSPACE) && PLATFORM(COCOA)
#define HAVE_WK_SECURE_CODING_NSURLPROTECTIONSPACE 1
#endif
#if !defined(HAVE_WK_SECURE_CODING_NSURLCREDENTIAL) && PLATFORM(COCOA)
#define HAVE_WK_SECURE_CODING_NSURLCREDENTIAL 1
#endif
#if !defined(HAVE_SUPPORT_HDR_DISPLAY_APIS) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS) \
|| PLATFORM(VISION))
#define HAVE_SUPPORT_HDR_DISPLAY_APIS 1
#endif
#if !defined(HAVE_DIGITAL_CREDENTIALS_UI) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000) \
|| PLATFORM(IOS))
#define HAVE_DIGITAL_CREDENTIALS_UI 1
#endif
#if !defined(HAVE_BROWSERENGINEKIT_WEBCONTENTFILTER) \
&& PLATFORM(IOS) && __has_include(<BrowserEngineKit/BEWebContentFilter.h>)
#define HAVE_BROWSERENGINEKIT_WEBCONTENTFILTER 1
#endif
#if !defined(HAVE_IMMERSIVE_VIDEO_METADATA_SUPPORT) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 160000) \
|| PLATFORM(IOS_FAMILY))
#define HAVE_IMMERSIVE_VIDEO_METADATA_SUPPORT 1
#endif
#if !defined(HAVE_NSVIEW_CORNER_CONFIGURATION) \
&& (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260100)
#define HAVE_NSVIEW_CORNER_CONFIGURATION 1
#endif
#if !defined(HAVE_LIBPROC) \
&& __has_include(<libproc.h>)
#define HAVE_LIBPROC 1
#endif
#if !defined(HAVE_UISCROLLVIEW_DECELERATION_TRACKING_BEHAVIOR) \
&& (PLATFORM(IOS) || PLATFORM(MACCATALYST) \
|| PLATFORM(VISION) \
|| PLATFORM(WATCHOS) \
|| PLATFORM(APPLETV))
#define HAVE_UISCROLLVIEW_DECELERATION_TRACKING_BEHAVIOR 1
#endif
#if !defined(HAVE_NSGESTURERECOGNIZER_NAME) && PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000
#define HAVE_NSGESTURERECOGNIZER_NAME 1
#endif
#if !defined(HAVE_NSGESTURERECOGNIZER_MODIFIER_FLAGS) && PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260000
#define HAVE_NSGESTURERECOGNIZER_MODIFIER_FLAGS 1
#endif
#if !defined(HAVE_CGCONTEXT_STROKE_ARC)
#define HAVE_CGCONTEXT_STROKE_ARC 0
#endif
#if !defined(HAVE_CGPATTERN_CREATE_WITH_IMAGE_TRANSFORM_STEP)
#define HAVE_CGPATTERN_CREATE_WITH_IMAGE_TRANSFORM_STEP 0
#endif
#if !defined(HAVE_CGIOSURFACECONTEXT_FLUSH_QUEUE)
#define HAVE_CGIOSURFACECONTEXT_FLUSH_QUEUE 0
#endif
#if !defined(HAVE_CORE_TEXT_BIDI_MIRRORING)
#define HAVE_CORE_TEXT_BIDI_MIRRORING 0
#endif
#if !defined(HAVE_SUPPORTS_WRITING_TOOLS_ACTION) && PLATFORM(MAC)
#define HAVE_SUPPORTS_WRITING_TOOLS_ACTION 1
#endif
#if !defined(HAVE_AX_TEXT_MARKER_RANGE_FOR_INTERSECTION_WITH_SELECTION_RANGE) && PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED > 260400
#define HAVE_AX_TEXT_MARKER_RANGE_FOR_INTERSECTION_WITH_SELECTION_RANGE 1
#endif
#if !defined(HAVE_UICONTEXTMENUCONFIGURATION_ALLOWTYPESELECT_SUPPORT)
#define HAVE_UICONTEXTMENUCONFIGURATION_ALLOWTYPESELECT_SUPPORT 0
#endif
#if !defined(HAVE_ALLOW_ONLY_PARTITIONED_COOKIES) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260200) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 260200) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 260200) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 260200) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 260200))
#define HAVE_ALLOW_ONLY_PARTITIONED_COOKIES 1
#if !defined(CFN_COOKIE_ACCEPTS_POLICY_PARTITION)
#define CFN_COOKIE_ACCEPTS_POLICY_PARTITION 1
#endif
#endif
#if !defined(HAVE_NSREFRESHCONTROLLER) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 270000))
#define HAVE_NSREFRESHCONTROLLER 1
#endif
#if ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260400) \
|| (PLATFORM(IOS) || (PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 260400) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 260400) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 260400))
#define HAVE_CORE_TEXT_GLYPHHASCOMPLEXCOLOR_FUNCTION 1
#endif
#if !defined(HAVE_PASSKIT_DELEGATED_REQUEST) \
&& (((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 260400) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 260400) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 260400) \
|| (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260400))
#define HAVE_PASSKIT_DELEGATED_REQUEST 1
#endif
#if !defined(HAVE_DC_ISSUER_IDENTIFIER_SUPPORT) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 270000))
#define HAVE_DC_ISSUER_IDENTIFIER_SUPPORT 1
#endif
#if !defined(HAVE_NSGLASSEFFECTVIEW_EFFECT_IS_INTERACTIVE) && PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 270000
#define HAVE_NSGLASSEFFECTVIEW_EFFECT_IS_INTERACTIVE 1
#endif
#if !defined(HAVE_ADDITIONAL_ESIM_AUTOFILL_IDENTIFIERS) && PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 270000
#define HAVE_ADDITIONAL_ESIM_AUTOFILL_IDENTIFIERS 1
#endif
#if PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 260000 && HAVE(CORE_RE)
#define HAVE_MODEL_MEMORY_ATTRIBUTION 1
#endif
#if !defined(HAVE_ENHANCED_SECURITY_LINKS) \
&& ((PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 270000) \
|| ((PLATFORM(MACCATALYST) || PLATFORM(IOS)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(APPLETV) && __TV_OS_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(WATCHOS) && __WATCH_OS_VERSION_MIN_REQUIRED >= 270000) \
|| (PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 270000)) \
&& __has_include(<LinkSecurity/LinkSecurity.h>)
#define HAVE_ENHANCED_SECURITY_LINKS 1
#endif
#if !defined(HAVE_FULLSCREEN_LIGHTSPILL) && PLATFORM(VISION) && __VISION_OS_VERSION_MIN_REQUIRED >= 270000
#define HAVE_FULLSCREEN_LIGHTSPILL 1
#endif
#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260400) \
|| ((PLATFORM(IOS) || PLATFORM(MACCATALYST)) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 260400) \
|| PLATFORM(APPLETV) || PLATFORM(WATCHOS) || PLATFORM(VISION)
#define HAVE_WEBTRANSPORT 1
#endif
#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 260400) \
|| PLATFORM(IOS_FAMILY)
#define HAVE_NETWORK_FRAMEWORK_HTTP_MESSAGING 1
#endif
// The CFNetwork network loader delivers multipart/x-mixed-replace parts, their data and the end of the load without
// waiting for the previous part's response completion handler, which NetworkResourceLoader has to serialize itself.
// FIXME: Turn this off on platforms that have the CFNetwork fix (rdar://185073080).
#if !defined(HAVE_BROKEN_MULTIPART_RESPONSE_FLOW_CONTROL) && PLATFORM(COCOA)
#define HAVE_BROKEN_MULTIPART_RESPONSE_FLOW_CONTROL 1
#endif
#if !defined(HAVE_AVSYSTEMROUTING_FRAMEWORK) \
&& (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 270000)
#define HAVE_AVSYSTEMROUTING_FRAMEWORK 1
#endif