Title: [254676] trunk/Source/WTF
Revision
254676
Author
[email protected]
Date
2020-01-16 06:47:17 -0800 (Thu, 16 Jan 2020)

Log Message

Platform.h is out of control Part 5: Split HAVE_* macro definitions out of Platform.h and into a new PlatformHave.h
https://bugs.webkit.org/show_bug.cgi?id=206307

Reviewed by Anders Carlsson.

* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/Platform.h:
* wtf/PlatformHave.h: Copied from Source/WTF/wtf/Platform.h.

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WTF/ChangeLog (254675 => 254676)


--- trunk/Source/WTF/ChangeLog	2020-01-16 14:44:19 UTC (rev 254675)
+++ trunk/Source/WTF/ChangeLog	2020-01-16 14:47:17 UTC (rev 254676)
@@ -1,3 +1,15 @@
+2020-01-15  Sam Weinig  <[email protected]>
+
+        Platform.h is out of control Part 5: Split HAVE_* macro definitions out of Platform.h and into a new PlatformHave.h
+        https://bugs.webkit.org/show_bug.cgi?id=206307
+
+        Reviewed by Anders Carlsson.
+
+        * WTF.xcodeproj/project.pbxproj:
+        * wtf/CMakeLists.txt:
+        * wtf/Platform.h:
+        * wtf/PlatformHave.h: Copied from Source/WTF/wtf/Platform.h.
+
 2020-01-15  Keith Miller  <[email protected]>
 
         Revert bytecode checkpoints since it breaks watch

Modified: trunk/Source/WTF/WTF.xcodeproj/project.pbxproj (254675 => 254676)


--- trunk/Source/WTF/WTF.xcodeproj/project.pbxproj	2020-01-16 14:44:19 UTC (rev 254675)
+++ trunk/Source/WTF/WTF.xcodeproj/project.pbxproj	2020-01-16 14:47:17 UTC (rev 254676)
@@ -442,6 +442,7 @@
 		7C137941222326C700D7A824 /* AUTHORS */ = {isa = PBXFileReference; lastKnownFileType = text; path = AUTHORS; sourceTree = "<group>"; };
 		7C137942222326D500D7A824 /* ieee.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ieee.h; sourceTree = "<group>"; };
 		7C137943222326D500D7A824 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
+		7C3A45D023CFA883007DE3A6 /* PlatformHave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformHave.h; sourceTree = "<group>"; };
 		7C3F72391D78811900674E26 /* Brigand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Brigand.h; sourceTree = "<group>"; };
 		7C42307123CE2D8A006E54D0 /* PlatformEnable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformEnable.h; sourceTree = "<group>"; };
 		7C42307223CE2D8A006E54D0 /* PlatformCPU.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformCPU.h; sourceTree = "<group>"; };
@@ -1126,6 +1127,7 @@
 				A876DBD7151816E500DADB95 /* Platform.h */,
 				7C42307223CE2D8A006E54D0 /* PlatformCPU.h */,
 				7C42307123CE2D8A006E54D0 /* PlatformEnable.h */,
+				7C3A45D023CFA883007DE3A6 /* PlatformHave.h */,
 				7C42307423CEB187006E54D0 /* PlatformLegacy.h */,
 				7C42307323CE2D8B006E54D0 /* PlatformOS.h */,
 				FE1E2C41224187C600F6B729 /* PlatformRegisters.cpp */,

Modified: trunk/Source/WTF/wtf/CMakeLists.txt (254675 => 254676)


--- trunk/Source/WTF/wtf/CMakeLists.txt	2020-01-16 14:44:19 UTC (rev 254675)
+++ trunk/Source/WTF/wtf/CMakeLists.txt	2020-01-16 14:47:17 UTC (rev 254676)
@@ -172,6 +172,7 @@
     Platform.h
     PlatformCPU.h
     PlatformEnable.h
+    PlatformHave.h
     PlatformLegacy.h
     PlatformOS.h
     PlatformRegisters.h

Modified: trunk/Source/WTF/wtf/Platform.h (254675 => 254676)


--- trunk/Source/WTF/wtf/Platform.h	2020-01-16 14:44:19 UTC (rev 254675)
+++ trunk/Source/WTF/wtf/Platform.h	2020-01-16 14:47:17 UTC (rev 254676)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2006-2019 Apple Inc. All rights reserved.
+ * Copyright (C) 2006-2020 Apple Inc. All rights reserved.
  * Copyright (C) 2007-2009 Torch Mobile, Inc.
  * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.
  *
@@ -45,9 +45,8 @@
 #include <wtf/PlatformLegacy.h>
 
 /* HAVE() - specific system features (headers, functions or similar) that are present or not */
-#define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE  && HAVE_##WTF_FEATURE)
+#include <wtf/PlatformHave.h>
 
-
 /* ==== Policy decision macros: these define policy choices for a particular port. ==== */
 
 /* USE() - use a particular third-party library or optional OS service */
@@ -56,6 +55,7 @@
 #define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE  && ENABLE_##WTF_FEATURE)
 
 
+
 #if PLATFORM(COCOA)
 #if defined __has_include && __has_include(<CoreFoundation/CFPriv.h>)
 #define USE_APPLE_INTERNAL_SDK 1
@@ -77,18 +77,7 @@
 #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 1
 #endif
 
-#if CPU(ARM_NEON)
-/* All NEON intrinsics usage can be disabled by this macro. */
-#define HAVE_ARM_NEON_INTRINSICS 1
-#endif
 
-/* FIXME: This should be renamed to WTF_CPU_ARM_IDIV_INSTRUCTIONS and moved to CPU.h */
-#if defined(__ARM_ARCH_EXT_IDIV__) || CPU(APPLE_ARMV7S)
-#define HAVE_ARM_IDIV_INSTRUCTIONS 1
-#endif
-
-
-
 /* Operating environments */
 
 
@@ -118,10 +107,6 @@
 #endif
 
 /* Standard libraries */
-#if defined(HAVE_FEATURES_H) && HAVE_FEATURES_H
-/* If the included features.h is glibc's one, __GLIBC__ is defined. */
-#include <features.h>
-#endif
 
 /* FIXME: ASSERT_ENABLED should defined in different, perhaps its own, file. */
 /* ASSERT_ENABLED should be true if we want the current compilation unit to
@@ -185,10 +170,6 @@
 #endif
 
 #if PLATFORM(COCOA)
-#define HAVE_OUT_OF_PROCESS_LAYER_HOSTING 1
-#endif
-
-#if PLATFORM(COCOA)
 #define USE_CF 1
 #endif
 
@@ -214,18 +195,6 @@
 #endif
 
 #if PLATFORM(MAC)
-#define HAVE_RUNLOOP_TIMER 1
-#endif
-
-#if PLATFORM(MAC)
-#define HAVE_SEC_KEYCHAIN 1
-#endif
-
-#if PLATFORM(MAC)
-#define HAVE_HISERVICES 1
-#endif
-
-#if PLATFORM(MAC)
 #define USE_APPKIT 1
 #endif
 
@@ -234,22 +203,10 @@
 #endif
 
 #if PLATFORM(MAC)
-#define HAVE_NETWORK_EXTENSION 1
-#endif
-
-#if PLATFORM(MAC)
 #define USE_PLUGIN_HOST_PROCESS 1
 #endif
 
 #if PLATFORM(IOS_FAMILY)
-#define HAVE_NETWORK_EXTENSION 1
-#endif
-
-#if PLATFORM(IOS_FAMILY)
-#define HAVE_READLINE 1
-#endif
-
-#if PLATFORM(IOS_FAMILY)
 #define USE_UIKIT_EDITING 1
 #endif
 
@@ -257,188 +214,18 @@
 #define USE_WEB_THREAD 1
 #endif
 
-#if PLATFORM(IOS_FAMILY) && CPU(ARM_NEON)
-#undef HAVE_ARM_NEON_INTRINSICS
-#define HAVE_ARM_NEON_INTRINSICS 0
-#endif
-
-#if !defined(HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING) && PLATFORM(IOS)
-#define HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING 1
-#endif
-
-#if !defined(HAVE_VISIBILITY_PROPAGATION_VIEW) && PLATFORM(IOS_FAMILY)
-#define HAVE_VISIBILITY_PROPAGATION_VIEW 1
-#endif
-
-#if !defined(HAVE_UISCENE) && PLATFORM(IOS_FAMILY)
-#define HAVE_UISCENE 1
-#endif
-
-#if !defined(HAVE_AVSTREAMSESSION) && PLATFORM(MAC)
-#define HAVE_AVSTREAMSESSION 1
-#endif
-
-#if !defined(HAVE_PASSKIT_API_TYPE) && (PLATFORM(IOS_FAMILY) || PLATFORM(MAC))
-#define HAVE_PASSKIT_API_TYPE 1
-#endif
-
-#if !defined(HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER) && (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))
-#define HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER 1
-#endif
-
 #if !defined(USE_UIKIT_KEYBOARD_ADDITIONS) && (PLATFORM(IOS) || PLATFORM(MACCATALYST))
 #define USE_UIKIT_KEYBOARD_ADDITIONS 1
 #endif
 
-
-#if !defined(HAVE_ACCESSIBILITY) && (PLATFORM(COCOA) || PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE))
-#define HAVE_ACCESSIBILITY 1
-#endif
-
-/* FIXME: Remove after CMake build enabled on Darwin */
-#if OS(DARWIN)
-#define HAVE_ERRNO_H 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_LANGINFO_H 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_LOCALTIME_R 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_MMAP 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_REGEX_H 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_SIGNAL_H 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_STAT_BIRTHTIME 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_STRINGS_H 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_STRNSTR 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_SYS_PARAM_H 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_SYS_TIME_H 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_TM_GMTOFF 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_TM_ZONE 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_TIMEGM 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_PTHREAD_MAIN_NP 1
-#endif
-
-#if OS(DARWIN) && (CPU(X86_64) || CPU(ARM64))
-#define HAVE_INT128_T 1
-#endif
-
 #if OS(UNIX)
 #define USE_PTHREADS 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)
-#define HAVE_MADV_FREE 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_MADV_FREE_REUSE 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_MADV_DONTNEED 1
-#endif
-
-#if OS(DARWIN)
-#define HAVE_MERGESORT 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)
-#define HAVE_AUDIT_TOKEN 1
-#endif
-
-#if OS(DARWIN) && __has_include(<mach/mach_exc.defs>) && !PLATFORM(GTK)
-#define HAVE_MACH_EXCEPTIONS 1
-#endif
-
 #if OS(DARWIN) && !PLATFORM(GTK)
 #define USE_ACCELERATE 1
 #endif
 
-#if OS(DARWIN) && !PLATFORM(IOS_FAMILY)
-#define HAVE_HOSTED_CORE_ANIMATION 1
-#endif
-
-
-#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
-#define HAVE_MACHINE_CONTEXT 1
-#endif
-
-#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS))
-#define HAVE_BACKTRACE 1
-#endif
-
-#if OS(DARWIN) || OS(LINUX)
-#if PLATFORM(GTK)
-#if defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS)
-#define HAVE_BACKTRACE_SYMBOLS 1
-#endif
-#endif /* PLATFORM(GTK) */
-#define HAVE_DLADDR 1
-#endif /* OS(DARWIN) || OS(LINUX) */
-
-
 #if OS(WINDOWS)
 #define USE_SYSTEM_MALLOC 1
 #endif
@@ -451,14 +238,6 @@
 #endif
 #endif /* !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) */
 
-#if __has_include(<System/pthread_machdep.h>)
-#define HAVE_FAST_TLS 1
-#endif
-
-#if COMPILER(GCC_COMPATIBLE)
-#define HAVE_COMPUTED_GOTO 1
-#endif
-
 /* FIXME: This name should be more specific if it is only for use with CallFrame* */
 /* Use __builtin_frame_address(1) to get CallFrame* */
 #if COMPILER(GCC_COMPATIBLE) && (CPU(ARM64) || CPU(X86_64))
@@ -465,15 +244,7 @@
 #define USE_BUILTIN_FRAME_ADDRESS 1
 #endif
 
-#if CPU(ARM64E) && OS(DARWIN)
-#define HAVE_FJCVTZS_INSTRUCTION 1
-#endif
-
 #if PLATFORM(IOS)
-#define HAVE_APP_LINKS 1
-#endif
-
-#if PLATFORM(IOS)
 #define USE_PASSKIT 1
 #endif
 
@@ -485,18 +256,6 @@
 #define USE_SYSTEM_PREVIEW 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 PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)
-#define HAVE_PARENTAL_CONTROLS_WITH_UNBLOCK_HANDLER 1
-#endif
-
 #if PLATFORM(COCOA)
 #define USE_AVFOUNDATION 1
 #endif
@@ -505,20 +264,10 @@
 #define USE_PROTECTION_SPACE_AUTH_CALLBACK 1
 #endif
 
-/* FIXME: Enable HAVE_PARENTAL_CONTROLS for watchOS Simulator once rdar://problem/54608386 is resolved */
-#if PLATFORM(COCOA) && (!PLATFORM(APPLETV) && (!PLATFORM(WATCHOS) || !PLATFORM(IOS_FAMILY_SIMULATOR)))
-#define HAVE_PARENTAL_CONTROLS 1
-#endif
-
-#if PLATFORM(COCOA) && !PLATFORM(APPLETV)
-#define HAVE_AVKIT 1
-#endif
-
 #if PLATFORM(COCOA)
 #define USE_METAL 1
 #endif
 
-
 #if USE(GLIB)
 #include <wtf/glib/GTypedefs.h>
 #endif
@@ -543,46 +292,10 @@
 #define USE_VIDEOTOOLBOX 1
 #endif
 
-#if PLATFORM(COCOA)
-#define HAVE_AVFOUNDATION_VIDEO_OUTPUT 1
-#endif
-
-#if PLATFORM(COCOA)
-#define HAVE_CORE_VIDEO 1
-#endif
-
-#if PLATFORM(COCOA)
-#define HAVE_MEDIA_PLAYER 1
-#endif
-
-#if PLATFORM(COCOA)
-#define HAVE_AVFOUNDATION_MEDIA_SELECTION_GROUP 1
-#endif
-
-#if PLATFORM(COCOA)
-#define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT 1
-#endif
-
-#if PLATFORM(COCOA)
-#define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK 1
-#endif
-
-#if PLATFORM(COCOA)
-#define HAVE_AVFOUNDATION_LOADER_DELEGATE 1
-#endif
-
 #if !PLATFORM(WIN)
 #define USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR 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 PLATFORM(MAC)
 #define USE_COREAUDIO 1
 #endif
@@ -591,14 +304,6 @@
 #define USE_ZLIB 1
 #endif
 
-#if !defined(HAVE_QOS_CLASSES) && PLATFORM(COCOA)
-#define HAVE_QOS_CLASSES 1
-#endif
-
-#if !defined(HAVE_VOUCHERS) && PLATFORM(COCOA)
-#define HAVE_VOUCHERS 1
-#endif
-
 #define USE_GRAMMAR_CHECKING 1
 
 #if PLATFORM(COCOA) || PLATFORM(GTK)
@@ -624,25 +329,9 @@
 #endif
 
 #if PLATFORM(COCOA)
-#define HAVE_AVASSETREADER 1
-#endif
-
-#if PLATFORM(COCOA)
 #define USE_AUDIO_SESSION 1
 #endif
 
-#if PLATFORM(COCOA)
-#define HAVE_IOSURFACE 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 COMPILER(MSVC)
 #undef __STDC_FORMAT_MACROS
 #define __STDC_FORMAT_MACROS
@@ -650,12 +339,7 @@
 #define __STDC_LIMIT_MACROS
 #endif
 
-#if PLATFORM(MAC)
-#define HAVE_NS_ACTIVITY 1
-#endif
-
-
-/* Set TARGET_OS_IPHONE to 0 by default to allow using it as a guard 
+/* Set TARGET_OS_IPHONE to 0 by default to allow using it as a guard
  * in cross-platform the same way as it is used in OS(DARWIN) code. */ 
 #if !defined(TARGET_OS_IPHONE) && !OS(DARWIN)
 #define TARGET_OS_IPHONE 0
@@ -673,10 +357,6 @@
 #define USE_OS_STATE 1
 #endif
 
-#if PLATFORM(COCOA)
-#define HAVE_SEC_TRUST_SERIALIZATION 1
-#endif
-
 #if !defined(WTF_DEFAULT_EVENT_LOOP)
 #define WTF_DEFAULT_EVENT_LOOP 1
 #endif
@@ -711,282 +391,44 @@
 #endif
 
 #if PLATFORM(MAC)
-#define HAVE_TOUCH_BAR 1
-#endif
-
-#if PLATFORM(MAC)
 #define USE_DICTATION_ALTERNATIVES 1
 #endif
 
-
-#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT)
-#define HAVE_RSA_PSS 1
-#endif
-
 #if (PLATFORM(MAC) && USE(APPLE_INTERNAL_SDK) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
 #define USE_SOURCE_APPLICATION_AUDIT_DATA 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
-#define HAVE_HSTS_STORAGE_PATH 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
-#define HAVE_URL_FORMATTING 1
-#endif
-
-#if !OS(WINDOWS)
-#define HAVE_STACK_BOUNDS_FOR_NEW_THREAD 1
-#endif
-
-#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
-#define HAVE_AVCONTENTKEYSESSION 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
-#define HAVE_SEC_KEY_PROXY 1
-#endif
-
 #if PLATFORM(COCOA) && USE(CA)
 #define USE_IOSURFACE_CANVAS_BACKING_STORE 1
 #endif
 
-/* FIXME: Should this be enabled or IOS_FAMILY, not just IOS? */
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)
-#define HAVE_FOUNDATION_WITH_SAVE_COOKIES_WITH_COMPLETION_HANDLER 1
-#endif
-
-/* FIXME: Should this be enabled for IOS_FAMILY, not just IOS? */
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)
-#define HAVE_FOUNDATION_WITH_SAME_SITE_COOKIE_SUPPORT 1
-#endif
-
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101400
-#define HAVE_NSHTTPCOOKIESTORAGE__INITWITHIDENTIFIER_WITH_INACCURATE_NULLABILITY 1
-#endif
-
-#if PLATFORM(COCOA)
-#define HAVE_CFNETWORK_WITH_CONTENT_ENCODING_SNIFFING_OVERRIDE 1
 /* The override isn't needed on iOS family, as the default behavior is to not sniff. */
 /* FIXME: This should probably be enabled on 10.13.2 and newer, not just 10.14 and newer. */
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
 #define USE_CFNETWORK_CONTENT_ENCODING_SNIFFING_OVERRIDE 1
 #endif
-#endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(GTK)
-#define HAVE_OS_DARK_MODE_SUPPORT 1
-#endif
-
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
-#define HAVE_CG_FONT_RENDERING_GET_FONT_SMOOTHING_DISABLED 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
-#define HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED 1
-#endif
-
-#ifdef __APPLE__
-#define HAVE_FUNC_USLEEP 1
-#endif
-
 #if PLATFORM(MAC) || PLATFORM(WPE)
 /* FIXME: This really needs a descriptive name, this "new theme" was added in 2008. */
 #define USE_NEW_THEME 1
 #endif
 
-#if PLATFORM(MAC)
-#define HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS 1
-#endif
-
-#if PLATFORM(COCOA)
-#define HAVE_SEC_ACCESS_CONTROL 1
-#endif
-
-#if PLATFORM(IOS)
-/* 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)
-#define HAVE_SAFE_BROWSING 1
-#endif
-
-#if PLATFORM(IOS)
-#define HAVE_LINK_PREVIEW 1
-#endif
-
-#if (PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))
-#define HAVE_ACCESSIBILITY_SUPPORT 1
-#endif
-
-#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130100
-#define HAVE_ACCESSIBILITY_BUNDLES_PATH 1
-#endif
-
-#if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400)
-#define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE 1
-#endif
-
-#if (PLATFORM(MAC) && (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101404)) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 120200) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
-#define HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
-#define HAVE_CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
-#define HAVE_CFNETWORK_NEGOTIATED_SSL_PROTOCOL_CIPHER 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)
-#define HAVE_CFNETWORK_METRICS_APIS_V4 1
-#endif
-
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
-#define HAVE_CSCHECKFIXDISABLE 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
-#define HAVE_SANDBOX_ISSUE_MACH_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
-#define HAVE_SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
-#define HAVE_MDNS_FAST_REGISTRATION 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
-#define HAVE_DISALLOWABLE_USER_INSTALLED_FONTS 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
-#define HAVE_CTFONTCREATEFORCHARACTERSWITHLANGUAGEANDOPTION 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
-#define HAVE_CTFONTTRANSFORMGLYPHSWITHLANGUAGE 1
-#endif
-
-#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
-#define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1
-#endif
-
-#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
-#define HAVE_UI_WK_DOCUMENT_CONTEXT 1
-#endif
-
-#if PLATFORM(MACCATALYST)
-#define HAVE_HOVER_GESTURE_RECOGNIZER 1
-#endif
-
-#if PLATFORM(MACCATALYST)
-#define HAVE_UI_PARALLAX_TRANSITION_GESTURE_RECOGNIZER 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
-#define HAVE_ALLOWS_SENSITIVE_LOGGING 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
-#define HAVE_FAIRPLAYSTREAMING_CENC_INITDATA 1
-#endif
-
-#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
-#define HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI 1
-#endif
-
-#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
-#define HAVE_APP_LINKS_WITH_ISENABLED 1
-#endif
-
-#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
-#define HAVE_ROUTE_SHARING_POLICY_LONG_FORM_VIDEO 1
-#endif
-
-#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000 && !PLATFORM(IOS_SIMULATOR))
-#define HAVE_DEVICE_MANAGEMENT 1
-#endif
-
 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101500
 #define USE_REALPATH_FOR_DLOPEN_PREFLIGHT 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
-#define HAVE_NSURLSESSION_WEBSOCKET 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
-#define HAVE_AVPLAYER_RESOURCE_CONSERVATION_LEVEL 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
-#define HAVE_CORETEXT_AUTO_OPTICAL_SIZING 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000)
-#define HAVE_NSFONT_WITH_OPTICAL_SIZING_BUG 1
-#endif
-
-#if (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500))
-#define HAVE_APP_SSO 1
-#endif
-
-#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 || PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)
-#define HAVE_TLS_PROTOCOL_VERSION_T 1
-#endif
-
-#if PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)
-#define HAVE_SEC_TRUST_EVALUATE_WITH_ERROR 1
-#endif
-
 #if PLATFORM(IOS) || PLATFORM(MACCATALYST)
 #define USE_UICONTEXTMENU 1
 #endif
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
-#define HAVE_SUBVIEWS_IVAR_SPI 1
-#endif
-
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101500
-#define HAVE_SUBVIEWS_IVAR_DECLARED_BY_SDK 1
-#endif
-
 #if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
 #define USE_PLATFORM_SYSTEM_FALLBACK_LIST 1
 #endif
 
-#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500
-#define HAVE_AX_CLIENT_TYPE 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
-#define HAVE_DESIGN_SYSTEM_UI_FONTS 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR))
-#define HAVE_DEVICE_IDENTITY 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
-#define HAVE_DATA_PROTECTION_KEYCHAIN 1
-#endif
-
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
-#define HAVE_NEAR_FIELD 1
-#endif
-
 #if PLATFORM(IOS_FAMILY) || (!(defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC) && (OS(LINUX) && (PLATFORM(GTK) || PLATFORM(WPE))))
 #define USE_BMALLOC_MEMORY_FOOTPRINT_API 1
 #endif
 
-#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
-#define HAVE_OS_SIGNPOST 1
-#endif
 
 
 
@@ -1008,8 +450,13 @@
 
 
 
-/* FIXME: The following are currenly positioned at the bottom of this file as they are currently dependent on ENABLE macros. */
+/* FIXME: The following are currenly positioned at the bottom of this file as they are currently dependent on ENABLE or USE macros. */
 
+/* FIXME: The availability of RSA_PSS should not depend on the policy decision to USE(GCRYPT). */
+#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT)
+#define HAVE_RSA_PSS 1
+#endif
+
 /* FIXME: Remove dependence on ENABLE(WEB_RTC). */
 #if PLATFORM(COCOA) && ENABLE(WEB_RTC)
 #define USE_LIBWEBRTC 1

Copied: trunk/Source/WTF/wtf/PlatformHave.h (from rev 254626, trunk/Source/WTF/wtf/Platform.h) (0 => 254676)


--- trunk/Source/WTF/wtf/PlatformHave.h	                        (rev 0)
+++ trunk/Source/WTF/wtf/PlatformHave.h	2020-01-16 14:47:17 UTC (rev 254676)
@@ -0,0 +1,582 @@
+/*
+ * Copyright (C) 2006-2020 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
+
+/* 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
+
+
+#if CPU(ARM_NEON)
+/* All NEON intrinsics usage can be disabled by this macro. */
+#define HAVE_ARM_NEON_INTRINSICS 1
+#endif
+
+/* FIXME: This should be renamed to WTF_CPU_ARM_IDIV_INSTRUCTIONS and moved to CPU.h */
+#if defined(__ARM_ARCH_EXT_IDIV__) || CPU(APPLE_ARMV7S)
+#define HAVE_ARM_IDIV_INSTRUCTIONS 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_OUT_OF_PROCESS_LAYER_HOSTING 1
+#endif
+
+#if PLATFORM(MAC)
+#define HAVE_RUNLOOP_TIMER 1
+#endif
+
+#if PLATFORM(MAC)
+#define HAVE_SEC_KEYCHAIN 1
+#endif
+
+#if PLATFORM(MAC)
+#define HAVE_HISERVICES 1
+#endif
+
+#if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
+#define HAVE_NETWORK_EXTENSION 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_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING) && PLATFORM(IOS)
+#define HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING 1
+#endif
+
+#if !defined(HAVE_VISIBILITY_PROPAGATION_VIEW) && PLATFORM(IOS_FAMILY)
+#define HAVE_VISIBILITY_PROPAGATION_VIEW 1
+#endif
+
+#if !defined(HAVE_UISCENE) && PLATFORM(IOS_FAMILY)
+#define HAVE_UISCENE 1
+#endif
+
+#if !defined(HAVE_AVSTREAMSESSION) && PLATFORM(MAC)
+#define HAVE_AVSTREAMSESSION 1
+#endif
+
+#if !defined(HAVE_PASSKIT_API_TYPE) && (PLATFORM(IOS_FAMILY) || PLATFORM(MAC))
+#define HAVE_PASSKIT_API_TYPE 1
+#endif
+
+#if !defined(HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER) && (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))
+#define HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER 1
+#endif
+
+#if !defined(USE_UIKIT_KEYBOARD_ADDITIONS) && (PLATFORM(IOS) || PLATFORM(MACCATALYST))
+#define USE_UIKIT_KEYBOARD_ADDITIONS 1
+#endif
+
+#if !defined(HAVE_ACCESSIBILITY) && (PLATFORM(COCOA) || PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE))
+#define HAVE_ACCESSIBILITY 1
+#endif
+
+/* FIXME: Remove after CMake build enabled on Darwin */
+#if OS(DARWIN)
+#define HAVE_ERRNO_H 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_LANGINFO_H 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_LOCALTIME_R 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_MMAP 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_REGEX_H 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_SIGNAL_H 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_STAT_BIRTHTIME 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_STRINGS_H 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_STRNSTR 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_SYS_PARAM_H 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_SYS_TIME_H 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_TM_GMTOFF 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_TM_ZONE 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_TIMEGM 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_PTHREAD_MAIN_NP 1
+#endif
+
+#if OS(DARWIN) && (CPU(X86_64) || CPU(ARM64))
+#define HAVE_INT128_T 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)
+#define HAVE_MADV_FREE 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_MADV_FREE_REUSE 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_MADV_DONTNEED 1
+#endif
+
+#if OS(DARWIN)
+#define HAVE_MERGESORT 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)
+#define HAVE_AUDIT_TOKEN 1
+#endif
+
+#if OS(DARWIN) && __has_include(<mach/mach_exc.defs>) && !PLATFORM(GTK)
+#define HAVE_MACH_EXCEPTIONS 1
+#endif
+
+#if OS(DARWIN) && !PLATFORM(IOS_FAMILY)
+#define HAVE_HOSTED_CORE_ANIMATION 1
+#endif
+
+#if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
+#define HAVE_MACHINE_CONTEXT 1
+#endif
+
+#if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS))
+#define HAVE_BACKTRACE 1
+#endif
+
+#if (OS(DARWIN) || OS(LINUX)) && PLATFORM(GTK) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS)
+#define HAVE_BACKTRACE_SYMBOLS 1
+#endif
+
+#if OS(DARWIN) || OS(LINUX)
+#define HAVE_DLADDR 1
+#endif
+
+#if __has_include(<System/pthread_machdep.h>)
+#define HAVE_FAST_TLS 1
+#endif
+
+#if COMPILER(GCC_COMPATIBLE)
+#define HAVE_COMPUTED_GOTO 1
+#endif
+
+#if CPU(ARM64E) && OS(DARWIN)
+#define HAVE_FJCVTZS_INSTRUCTION 1
+#endif
+
+#if PLATFORM(IOS)
+#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 PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)
+#define HAVE_PARENTAL_CONTROLS_WITH_UNBLOCK_HANDLER 1
+#endif
+
+/* FIXME: Enable HAVE_PARENTAL_CONTROLS for watchOS Simulator once rdar://problem/54608386 is resolved */
+#if PLATFORM(COCOA) && (!PLATFORM(APPLETV) && (!PLATFORM(WATCHOS) || !PLATFORM(IOS_FAMILY_SIMULATOR)))
+#define HAVE_PARENTAL_CONTROLS 1
+#endif
+
+#if PLATFORM(COCOA) && !PLATFORM(APPLETV)
+#define HAVE_AVKIT 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_AVFOUNDATION_VIDEO_OUTPUT 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_CORE_VIDEO 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_MEDIA_PLAYER 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_AVFOUNDATION_MEDIA_SELECTION_GROUP 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_AVFOUNDATION_LOADER_DELEGATE 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_VOUCHERS) && PLATFORM(COCOA)
+#define HAVE_VOUCHERS 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_AVASSETREADER 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_IOSURFACE 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)
+#define HAVE_NS_ACTIVITY 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_SEC_TRUST_SERIALIZATION 1
+#endif
+
+#if PLATFORM(MAC)
+#define HAVE_TOUCH_BAR 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
+#define HAVE_HSTS_STORAGE_PATH 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
+#define HAVE_URL_FORMATTING 1
+#endif
+
+#if !OS(WINDOWS)
+#define HAVE_STACK_BOUNDS_FOR_NEW_THREAD 1
+#endif
+
+#if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
+#define HAVE_AVCONTENTKEYSESSION 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
+#define HAVE_SEC_KEY_PROXY 1
+#endif
+
+/* FIXME: Should this be enabled or IOS_FAMILY, not just IOS? */
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)
+#define HAVE_FOUNDATION_WITH_SAVE_COOKIES_WITH_COMPLETION_HANDLER 1
+#endif
+
+/* FIXME: Should this be enabled for IOS_FAMILY, not just IOS? */
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)
+#define HAVE_FOUNDATION_WITH_SAME_SITE_COOKIE_SUPPORT 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101400
+#define HAVE_NSHTTPCOOKIESTORAGE__INITWITHIDENTIFIER_WITH_INACCURATE_NULLABILITY 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_CFNETWORK_WITH_CONTENT_ENCODING_SNIFFING_OVERRIDE 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(GTK)
+#define HAVE_OS_DARK_MODE_SUPPORT 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
+#define HAVE_CG_FONT_RENDERING_GET_FONT_SMOOTHING_DISABLED 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
+#define HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED 1
+#endif
+
+#ifdef __APPLE__
+#define HAVE_FUNC_USLEEP 1
+#endif
+
+#if PLATFORM(MAC)
+#define HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS 1
+#endif
+
+#if PLATFORM(COCOA)
+#define HAVE_SEC_ACCESS_CONTROL 1
+#endif
+
+#if PLATFORM(IOS)
+/* 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)
+#define HAVE_SAFE_BROWSING 1
+#endif
+
+#if PLATFORM(IOS)
+#define HAVE_LINK_PREVIEW 1
+#endif
+
+#if (PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))
+#define HAVE_ACCESSIBILITY_SUPPORT 1
+#endif
+
+#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130100
+#define HAVE_ACCESSIBILITY_BUNDLES_PATH 1
+#endif
+
+#if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400)
+#define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE 1
+#endif
+
+#if (PLATFORM(MAC) && (__MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101404)) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 120200) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
+#define HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
+#define HAVE_CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
+#define HAVE_CFNETWORK_NEGOTIATED_SSL_PROTOCOL_CIPHER 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)
+#define HAVE_CFNETWORK_METRICS_APIS_V4 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
+#define HAVE_CSCHECKFIXDISABLE 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
+#define HAVE_SANDBOX_ISSUE_MACH_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
+#define HAVE_SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
+#define HAVE_MDNS_FAST_REGISTRATION 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
+#define HAVE_DISALLOWABLE_USER_INSTALLED_FONTS 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
+#define HAVE_CTFONTCREATEFORCHARACTERSWITHLANGUAGEANDOPTION 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
+#define HAVE_CTFONTTRANSFORMGLYPHSWITHLANGUAGE 1
+#endif
+
+#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
+#define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1
+#endif
+
+#if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000
+#define HAVE_UI_WK_DOCUMENT_CONTEXT 1
+#endif
+
+#if PLATFORM(MACCATALYST)
+#define HAVE_HOVER_GESTURE_RECOGNIZER 1
+#endif
+
+#if PLATFORM(MACCATALYST)
+#define HAVE_UI_PARALLAX_TRANSITION_GESTURE_RECOGNIZER 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
+#define HAVE_ALLOWS_SENSITIVE_LOGGING 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
+#define HAVE_FAIRPLAYSTREAMING_CENC_INITDATA 1
+#endif
+
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
+#define HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI 1
+#endif
+
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
+#define HAVE_APP_LINKS_WITH_ISENABLED 1
+#endif
+
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)
+#define HAVE_ROUTE_SHARING_POLICY_LONG_FORM_VIDEO 1
+#endif
+
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000 && !PLATFORM(IOS_SIMULATOR))
+#define HAVE_DEVICE_MANAGEMENT 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
+#define HAVE_NSURLSESSION_WEBSOCKET 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
+#define HAVE_AVPLAYER_RESOURCE_CONSERVATION_LEVEL 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
+#define HAVE_CORETEXT_AUTO_OPTICAL_SIZING 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000)
+#define HAVE_NSFONT_WITH_OPTICAL_SIZING_BUG 1
+#endif
+
+#if (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500))
+#define HAVE_APP_SSO 1
+#endif
+
+#if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 || PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)
+#define HAVE_TLS_PROTOCOL_VERSION_T 1
+#endif
+
+#if PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)
+#define HAVE_SEC_TRUST_EVALUATE_WITH_ERROR 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
+#define HAVE_SUBVIEWS_IVAR_SPI 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101500
+#define HAVE_SUBVIEWS_IVAR_DECLARED_BY_SDK 1
+#endif
+
+#if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500
+#define HAVE_AX_CLIENT_TYPE 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)
+#define HAVE_DESIGN_SYSTEM_UI_FONTS 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR))
+#define HAVE_DEVICE_IDENTITY 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
+#define HAVE_DATA_PROTECTION_KEYCHAIN 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
+#define HAVE_NEAR_FIELD 1
+#endif
+
+#if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
+#define HAVE_OS_SIGNPOST 1
+#endif
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to