Changeset 254572 in webkit
- Timestamp:
- Jan 15, 2020, 9:48:50 AM (7 years ago)
- Location:
- trunk/Source/WTF
- Files:
-
- 4 edited
- 1 copied
-
ChangeLog (modified) (1 diff)
-
WTF.xcodeproj/project.pbxproj (modified) (2 diffs)
-
wtf/CMakeLists.txt (modified) (1 diff)
-
wtf/Platform.h (modified) (3 diffs)
-
wtf/PlatformLegacy.h (copied) (copied from trunk/Source/WTF/wtf/Platform.h ) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r254544 r254572 1 2020-01-14 Sam Weinig <weinig@apple.com> 2 3 Platform.h is out of control Part 4: Split PLATFORM_* macro definitions out of Platform.h and into a new PlatformLegacy.h 4 https://bugs.webkit.org/show_bug.cgi?id=206272 5 6 Reviewed by Anders Carlsson. 7 8 As a another step towards cleaning up Platform.h, split out all the legacy platform 9 macros into their own file. 10 11 * WTF.xcodeproj/project.pbxproj: 12 * wtf/CMakeLists.txt: 13 * wtf/Platform.h: 14 * wtf/PlatformLegacy.h: Copied from Source/WTF/wtf/Platform.h. 15 1 16 2020-01-14 Sam Weinig <weinig@apple.com> 2 17 -
trunk/Source/WTF/WTF.xcodeproj/project.pbxproj
r254544 r254572 448 448 7C42307223CE2D8A006E54D0 /* PlatformCPU.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformCPU.h; sourceTree = "<group>"; }; 449 449 7C42307323CE2D8B006E54D0 /* PlatformOS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformOS.h; sourceTree = "<group>"; }; 450 7C42307423CEB187006E54D0 /* PlatformLegacy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformLegacy.h; sourceTree = "<group>"; }; 450 451 7C9692941F66306E00267A9E /* KeyValuePair.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KeyValuePair.h; sourceTree = "<group>"; }; 451 452 7CBBA07319BB7FDC00BBF025 /* OSObjectPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OSObjectPtr.h; sourceTree = "<group>"; }; … … 1128 1129 7C42307223CE2D8A006E54D0 /* PlatformCPU.h */, 1129 1130 7C42307123CE2D8A006E54D0 /* PlatformEnable.h */, 1131 7C42307423CEB187006E54D0 /* PlatformLegacy.h */, 1130 1132 7C42307323CE2D8B006E54D0 /* PlatformOS.h */, 1131 1133 FE1E2C41224187C600F6B729 /* PlatformRegisters.cpp */, -
trunk/Source/WTF/wtf/CMakeLists.txt
r254544 r254572 174 174 PlatformCPU.h 175 175 PlatformEnable.h 176 PlatformLegacy.h 176 177 PlatformOS.h 177 178 PlatformRegisters.h -
trunk/Source/WTF/wtf/Platform.h
r254544 r254572 31 31 #include <wtf/Compiler.h> 32 32 33 /* Include CPU specific macros */ 33 /* ==== Platform adaptation macros: these describe properties of the target environment. ==== */ 34 35 /* CPU() - the target CPU architecture */ 34 36 #include <wtf/PlatformCPU.h> 35 37 36 /* Include underlying operating system specific macros */ 38 /* OS() - underlying operating system; only to be used for mandated low-level services like 39 virtual memory, not to choose a GUI toolkit */ 37 40 #include <wtf/PlatformOS.h> 38 41 39 /* ==== PLATFORMhandles OS, operating environment, graphics API, and42 /* PLATFORM() - handles OS, operating environment, graphics API, and 40 43 CPU. This macro will be phased out in favor of platform adaptation 41 macros, policy decision macros, and top-level port definitions. ==== */ 42 #define PLATFORM(WTF_FEATURE) (defined WTF_PLATFORM_##WTF_FEATURE && WTF_PLATFORM_##WTF_FEATURE) 43 44 45 /* ==== Platform adaptation macros: these describe properties of the target environment. ==== */ 44 macros, policy decision macros, and top-level port definitions. */ 45 #include <wtf/PlatformLegacy.h> 46 46 47 47 /* HAVE() - specific system features (headers, functions or similar) that are present or not */ … … 56 56 #define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE && ENABLE_##WTF_FEATURE) 57 57 58 59 #if PLATFORM(COCOA) 60 #if defined __has_include && __has_include(<CoreFoundation/CFPriv.h>) 61 #define USE_APPLE_INTERNAL_SDK 1 62 #endif 63 #endif 58 64 59 65 /* MIPS requires allocators to use aligned memory */ … … 116 122 /* If the included features.h is glibc's one, __GLIBC__ is defined. */ 117 123 #include <features.h> 118 #endif119 120 /* FIXME: these are all mixes of OS, operating environment and policy choices. */121 /* PLATFORM(GTK) */122 /* PLATFORM(MAC) */123 /* PLATFORM(IOS) */124 /* PLATFORM(IOS_FAMILY) */125 /* PLATFORM(IOS_SIMULATOR) */126 /* PLATFORM(IOS_FAMILY_SIMULATOR) */127 /* PLATFORM(WIN) */128 #if defined(BUILDING_GTK__)129 #define WTF_PLATFORM_GTK 1130 #elif defined(BUILDING_WPE__)131 #define WTF_PLATFORM_WPE 1132 #elif defined(BUILDING_JSCONLY__)133 /* JSCOnly does not provide PLATFORM() macro */134 #elif OS(MAC_OS_X)135 #define WTF_PLATFORM_MAC 1136 #elif OS(IOS_FAMILY)137 #if OS(IOS)138 #define WTF_PLATFORM_IOS 1139 #endif140 #define WTF_PLATFORM_IOS_FAMILY 1141 #if TARGET_OS_SIMULATOR142 #if OS(IOS)143 #define WTF_PLATFORM_IOS_SIMULATOR 1144 #endif145 #define WTF_PLATFORM_IOS_FAMILY_SIMULATOR 1146 #endif147 #if defined(TARGET_OS_MACCATALYST) && TARGET_OS_MACCATALYST148 #define WTF_PLATFORM_MACCATALYST 1149 #endif150 #elif OS(WINDOWS)151 #define WTF_PLATFORM_WIN 1152 #endif153 154 /* PLATFORM(COCOA) */155 #if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)156 #define WTF_PLATFORM_COCOA 1157 #endif158 159 #if PLATFORM(COCOA)160 #if defined __has_include && __has_include(<CoreFoundation/CFPriv.h>)161 #define USE_APPLE_INTERNAL_SDK 1162 #endif163 #endif164 165 /* PLATFORM(APPLETV) */166 #if defined(TARGET_OS_TV) && TARGET_OS_TV167 #define WTF_PLATFORM_APPLETV 1168 #endif169 170 /* PLATFORM(WATCHOS) */171 #if defined(TARGET_OS_WATCH) && TARGET_OS_WATCH172 #define WTF_PLATFORM_WATCHOS 1173 124 #endif 174 125 -
trunk/Source/WTF/wtf/PlatformLegacy.h
r254550 r254572 28 28 #pragma once 29 29 30 /* Include compiler specific macros */ 31 #include <wtf/Compiler.h> 30 /* PLATFORM() - handles OS, operating environment, graphics API, and 31 CPU. This macro will be phased out in favor of platform adaptation 32 macros, policy decision macros, and top-level port definitions. */ 33 #define PLATFORM(WTF_FEATURE) (defined WTF_PLATFORM_##WTF_FEATURE && WTF_PLATFORM_##WTF_FEATURE) 32 34 33 /* Include CPU specific macros */34 #include <wtf/PlatformCPU.h>35 36 /* Include underlying operating system specific macros */37 #include <wtf/PlatformOS.h>38 39 /* ==== PLATFORM handles OS, operating environment, graphics API, and40 CPU. This macro will be phased out in favor of platform adaptation41 macros, policy decision macros, and top-level port definitions. ==== */42 #define PLATFORM(WTF_FEATURE) (defined WTF_PLATFORM_##WTF_FEATURE && WTF_PLATFORM_##WTF_FEATURE)43 44 45 /* ==== Platform adaptation macros: these describe properties of the target environment. ==== */46 47 /* HAVE() - specific system features (headers, functions or similar) that are present or not */48 #define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE)49 50 51 /* ==== Policy decision macros: these define policy choices for a particular port. ==== */52 53 /* USE() - use a particular third-party library or optional OS service */54 #define USE(WTF_FEATURE) (defined USE_##WTF_FEATURE && USE_##WTF_FEATURE)55 /* ENABLE() - turn on a specific feature of WebKit */56 #define ENABLE(WTF_FEATURE) (defined ENABLE_##WTF_FEATURE && ENABLE_##WTF_FEATURE)57 58 59 /* MIPS requires allocators to use aligned memory */60 #if CPU(MIPS) || CPU(MIPS64)61 #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 162 #endif63 64 /*ARMv5TE requires allocators to use aligned memory*/65 #if defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__)66 #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 167 #endif68 69 /*ARMv5TE requires allocators to use aligned memory*/70 #if defined(__TARGET_ARCH_5E) || defined(__TARGET_ARCH_5TE) || defined(__TARGET_ARCH_5TEJ)71 #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 172 #endif73 74 #if CPU(ARM_NEON)75 /* All NEON intrinsics usage can be disabled by this macro. */76 #define HAVE_ARM_NEON_INTRINSICS 177 #endif78 79 /* FIXME: This should be renamed to WTF_CPU_ARM_IDIV_INSTRUCTIONS and moved to CPU.h */80 #if defined(__ARM_ARCH_EXT_IDIV__) || CPU(APPLE_ARMV7S)81 #define HAVE_ARM_IDIV_INSTRUCTIONS 182 #endif83 84 85 86 /* Operating environments */87 88 89 /* FIXME: Rename WTF_CPU_EFFECTIVE_ADDRESS_WIDTH to WTF_OS_EFFECTIVE_ADDRESS_WIDTH, as it is an OS feature, not a CPU feature. */90 #if CPU(ADDRESS64)91 #if OS(DARWIN) && CPU(ARM64)92 #define WTF_CPU_EFFECTIVE_ADDRESS_WIDTH 3693 #else94 /* We strongly assume that effective address width is <= 48 in 64bit architectures (e.g. NaN boxing). */95 #define WTF_CPU_EFFECTIVE_ADDRESS_WIDTH 4896 #endif97 #else98 #define WTF_CPU_EFFECTIVE_ADDRESS_WIDTH 3299 #endif100 101 /* Export macro support. Detects the attributes available for shared library symbol export102 decorations. */103 #if OS(WINDOWS) || (COMPILER_HAS_CLANG_DECLSPEC(dllimport) && COMPILER_HAS_CLANG_DECLSPEC(dllexport))104 #define USE_DECLSPEC_ATTRIBUTE 1105 #define USE_VISIBILITY_ATTRIBUTE 0106 #elif defined(__GNUC__)107 #define USE_DECLSPEC_ATTRIBUTE 0108 #define USE_VISIBILITY_ATTRIBUTE 1109 #else110 #define USE_DECLSPEC_ATTRIBUTE 0111 #define USE_VISIBILITY_ATTRIBUTE 0112 #endif113 114 /* Standard libraries */115 #if defined(HAVE_FEATURES_H) && HAVE_FEATURES_H116 /* If the included features.h is glibc's one, __GLIBC__ is defined. */117 #include <features.h>118 #endif119 35 120 36 /* FIXME: these are all mixes of OS, operating environment and policy choices. */ … … 157 73 #endif 158 74 159 #if PLATFORM(COCOA)160 #if defined __has_include && __has_include(<CoreFoundation/CFPriv.h>)161 #define USE_APPLE_INTERNAL_SDK 1162 #endif163 #endif164 165 75 /* PLATFORM(APPLETV) */ 166 76 #if defined(TARGET_OS_TV) && TARGET_OS_TV … … 172 82 #define WTF_PLATFORM_WATCHOS 1 173 83 #endif 174 175 /* FIXME: ASSERT_ENABLED should defined in different, perhaps its own, file. */176 /* ASSERT_ENABLED should be true if we want the current compilation unit to177 do debug assertion checks unconditionally (e.g. treat a debug ASSERT178 like a RELEASE_ASSERT.179 */180 #ifndef ASSERT_ENABLED181 #ifdef NDEBUG182 #define ASSERT_ENABLED 0183 #else184 #define ASSERT_ENABLED 1185 #endif186 #endif187 188 189 190 #if PLATFORM(COCOA)191 #define USE_CG 1192 #endif193 194 #if PLATFORM(COCOA)195 #define USE_CA 1196 #endif197 198 #if PLATFORM(GTK) || PLATFORM(WPE)199 #define USE_GLIB 1200 #endif201 202 #if PLATFORM(GTK) || PLATFORM(WPE)203 #define USE_FREETYPE 1204 #endif205 206 #if PLATFORM(GTK) || PLATFORM(WPE)207 #define USE_HARFBUZZ 1208 #endif209 210 #if PLATFORM(GTK) || PLATFORM(WPE)211 #define USE_SOUP 1212 #endif213 214 #if PLATFORM(GTK) || PLATFORM(WPE)215 #define USE_WEBP 1216 #endif217 218 #if PLATFORM(GTK)219 #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_36220 #define GDK_VERSION_MIN_REQUIRED GDK_VERSION_3_6221 #endif222 223 #if PLATFORM(WPE)224 #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_40225 #endif226 227 #if USE(SOUP)228 #define SOUP_VERSION_MIN_REQUIRED SOUP_VERSION_2_42229 #endif230 231 /* On Windows, use QueryPerformanceCounter by default */232 #if OS(WINDOWS)233 #define USE_QUERY_PERFORMANCE_COUNTER 1234 #endif235 236 #if PLATFORM(COCOA)237 #define HAVE_OUT_OF_PROCESS_LAYER_HOSTING 1238 #endif239 240 #if PLATFORM(COCOA)241 #define USE_CF 1242 #endif243 244 #if PLATFORM(COCOA) || (PLATFORM(GTK) || PLATFORM(WPE))245 #define USE_FILE_LOCK 1246 #endif247 248 #if PLATFORM(COCOA)249 #define USE_FOUNDATION 1250 #endif251 252 #if PLATFORM(COCOA)253 #define USE_NETWORK_CFDATA_ARRAY_CALLBACK 1254 #endif255 256 257 #if PLATFORM(COCOA)258 /* Cocoa defines a series of platform macros for debugging. */259 /* Some of them are really annoying because they use common names (e.g. check()). */260 /* Disable those macros so that we are not limited in how we name methods and functions. */261 #undef __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES262 #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0263 #endif264 265 #if PLATFORM(MAC)266 #define HAVE_RUNLOOP_TIMER 1267 #endif268 269 #if PLATFORM(MAC)270 #define HAVE_SEC_KEYCHAIN 1271 #endif272 273 #if PLATFORM(MAC)274 #define HAVE_HISERVICES 1275 #endif276 277 #if PLATFORM(MAC)278 #define USE_APPKIT 1279 #endif280 281 #if PLATFORM(MAC)282 #define USE_PASSKIT 1283 #endif284 285 #if PLATFORM(MAC)286 #define HAVE_NETWORK_EXTENSION 1287 #endif288 289 #if PLATFORM(MAC)290 #define USE_PLUGIN_HOST_PROCESS 1291 #endif292 293 #if PLATFORM(IOS_FAMILY)294 #define HAVE_NETWORK_EXTENSION 1295 #endif296 297 #if PLATFORM(IOS_FAMILY)298 #define HAVE_READLINE 1299 #endif300 301 #if PLATFORM(IOS_FAMILY)302 #define USE_UIKIT_EDITING 1303 #endif304 305 #if PLATFORM(IOS_FAMILY)306 #define USE_WEB_THREAD 1307 #endif308 309 #if PLATFORM(IOS_FAMILY) && CPU(ARM_NEON)310 #undef HAVE_ARM_NEON_INTRINSICS311 #define HAVE_ARM_NEON_INTRINSICS 0312 #endif313 314 #if !defined(HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING) && PLATFORM(IOS)315 #define HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING 1316 #endif317 318 #if !defined(HAVE_VISIBILITY_PROPAGATION_VIEW) && PLATFORM(IOS_FAMILY)319 #define HAVE_VISIBILITY_PROPAGATION_VIEW 1320 #endif321 322 #if !defined(HAVE_UISCENE) && PLATFORM(IOS_FAMILY)323 #define HAVE_UISCENE 1324 #endif325 326 #if !defined(HAVE_AVSTREAMSESSION) && PLATFORM(MAC)327 #define HAVE_AVSTREAMSESSION 1328 #endif329 330 #if !defined(HAVE_PASSKIT_API_TYPE) && (PLATFORM(IOS_FAMILY) || PLATFORM(MAC))331 #define HAVE_PASSKIT_API_TYPE 1332 #endif333 334 #if !defined(HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER) && (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))335 #define HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER 1336 #endif337 338 #if !defined(USE_UIKIT_KEYBOARD_ADDITIONS) && (PLATFORM(IOS) || PLATFORM(MACCATALYST))339 #define USE_UIKIT_KEYBOARD_ADDITIONS 1340 #endif341 342 343 #if !defined(HAVE_ACCESSIBILITY) && (PLATFORM(COCOA) || PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE))344 #define HAVE_ACCESSIBILITY 1345 #endif346 347 /* FIXME: Remove after CMake build enabled on Darwin */348 #if OS(DARWIN)349 #define HAVE_ERRNO_H 1350 #endif351 352 #if OS(DARWIN)353 #define HAVE_LANGINFO_H 1354 #endif355 356 #if OS(DARWIN)357 #define HAVE_LOCALTIME_R 1358 #endif359 360 #if OS(DARWIN)361 #define HAVE_MMAP 1362 #endif363 364 #if OS(DARWIN)365 #define HAVE_REGEX_H 1366 #endif367 368 #if OS(DARWIN)369 #define HAVE_SIGNAL_H 1370 #endif371 372 #if OS(DARWIN)373 #define HAVE_STAT_BIRTHTIME 1374 #endif375 376 #if OS(DARWIN)377 #define HAVE_STRINGS_H 1378 #endif379 380 #if OS(DARWIN)381 #define HAVE_STRNSTR 1382 #endif383 384 #if OS(DARWIN)385 #define HAVE_SYS_PARAM_H 1386 #endif387 388 #if OS(DARWIN)389 #define HAVE_SYS_TIME_H 1390 #endif391 392 #if OS(DARWIN)393 #define HAVE_TM_GMTOFF 1394 #endif395 396 #if OS(DARWIN)397 #define HAVE_TM_ZONE 1398 #endif399 400 #if OS(DARWIN)401 #define HAVE_TIMEGM 1402 #endif403 404 #if OS(DARWIN)405 #define HAVE_PTHREAD_MAIN_NP 1406 #endif407 408 #if OS(DARWIN) && (CPU(X86_64) || CPU(ARM64))409 #define HAVE_INT128_T 1410 #endif411 412 #if OS(UNIX)413 #define USE_PTHREADS 1414 #endif415 416 #if OS(UNIX) && !OS(FUCHSIA)417 #define HAVE_RESOURCE_H 1418 #endif419 420 #if OS(UNIX) && !OS(FUCHSIA)421 #define HAVE_PTHREAD_SETSCHEDPARAM 1422 #endif423 424 #if OS(DARWIN)425 #define HAVE_DISPATCH_H 1426 #endif427 428 #if OS(DARWIN)429 #define HAVE_MADV_FREE 1430 #endif431 432 #if OS(DARWIN)433 #define HAVE_MADV_FREE_REUSE 1434 #endif435 436 #if OS(DARWIN)437 #define HAVE_MADV_DONTNEED 1438 #endif439 440 #if OS(DARWIN)441 #define HAVE_MERGESORT 1442 #endif443 444 #if OS(DARWIN)445 #define HAVE_PTHREAD_SETNAME_NP 1446 #endif447 448 #if OS(DARWIN)449 #define HAVE_READLINE 1450 #endif451 452 #if OS(DARWIN)453 #define HAVE_SYS_TIMEB_H 1454 #endif455 456 #if OS(DARWIN)457 #define HAVE_AUDIT_TOKEN 1458 #endif459 460 #if OS(DARWIN) && __has_include(<mach/mach_exc.defs>) && !PLATFORM(GTK)461 #define HAVE_MACH_EXCEPTIONS 1462 #endif463 464 #if OS(DARWIN) && !PLATFORM(GTK)465 #define USE_ACCELERATE 1466 #endif467 468 #if OS(DARWIN) && !PLATFORM(IOS_FAMILY)469 #define HAVE_HOSTED_CORE_ANIMATION 1470 #endif471 472 473 #if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))474 #define HAVE_MACHINE_CONTEXT 1475 #endif476 477 #if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS))478 #define HAVE_BACKTRACE 1479 #endif480 481 #if OS(DARWIN) || OS(LINUX)482 #if PLATFORM(GTK)483 #if defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS)484 #define HAVE_BACKTRACE_SYMBOLS 1485 #endif486 #endif /* PLATFORM(GTK) */487 #define HAVE_DLADDR 1488 #endif /* OS(DARWIN) || OS(LINUX) */489 490 491 #if OS(WINDOWS)492 #define USE_SYSTEM_MALLOC 1493 #endif494 495 #if !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64)496 #if CPU(ADDRESS64) || CPU(ARM64)497 #define USE_JSVALUE64 1498 #else499 #define USE_JSVALUE32_64 1500 #endif501 #endif /* !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) */502 503 #if __has_include(<System/pthread_machdep.h>)504 #define HAVE_FAST_TLS 1505 #endif506 507 #if COMPILER(GCC_COMPATIBLE)508 #define HAVE_COMPUTED_GOTO 1509 #endif510 511 /* FIXME: This name should be more specific if it is only for use with CallFrame* */512 /* Use __builtin_frame_address(1) to get CallFrame* */513 #if COMPILER(GCC_COMPATIBLE) && (CPU(ARM64) || CPU(X86_64))514 #define USE_BUILTIN_FRAME_ADDRESS 1515 #endif516 517 #if CPU(ARM64E) && OS(DARWIN)518 #define HAVE_FJCVTZS_INSTRUCTION 1519 #endif520 521 #if PLATFORM(IOS)522 #define HAVE_APP_LINKS 1523 #endif524 525 #if PLATFORM(IOS)526 #define USE_PASSKIT 1527 #endif528 529 #if PLATFORM(IOS)530 #define USE_QUICK_LOOK 1531 #endif532 533 #if PLATFORM(IOS)534 #define USE_SYSTEM_PREVIEW 1535 #endif536 537 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)538 #define HAVE_CELESTIAL 1539 #endif540 541 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)542 #define HAVE_CORE_ANIMATION_RENDER_SERVER 1543 #endif544 545 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)546 #define HAVE_PARENTAL_CONTROLS_WITH_UNBLOCK_HANDLER 1547 #endif548 549 #if PLATFORM(COCOA)550 #define USE_AVFOUNDATION 1551 #endif552 553 #if PLATFORM(COCOA)554 #define USE_PROTECTION_SPACE_AUTH_CALLBACK 1555 #endif556 557 /* FIXME: Enable HAVE_PARENTAL_CONTROLS for watchOS Simulator once rdar://problem/54608386 is resolved */558 #if PLATFORM(COCOA) && (!PLATFORM(APPLETV) && (!PLATFORM(WATCHOS) || !PLATFORM(IOS_FAMILY_SIMULATOR)))559 #define HAVE_PARENTAL_CONTROLS 1560 #endif561 562 #if PLATFORM(COCOA) && !PLATFORM(APPLETV)563 #define HAVE_AVKIT 1564 #endif565 566 #if PLATFORM(COCOA)567 #define USE_METAL 1568 #endif569 570 571 #if USE(GLIB)572 #include <wtf/glib/GTypedefs.h>573 #endif574 575 #if !defined(USE_EXPORT_MACROS) && (PLATFORM(COCOA) || OS(WINDOWS))576 #define USE_EXPORT_MACROS 1577 #endif578 579 #if PLATFORM(GTK) || PLATFORM(WPE)580 #define USE_UNIX_DOMAIN_SOCKETS 1581 #endif582 583 #if !defined(USE_IMLANG_FONT_LINK2)584 #define USE_IMLANG_FONT_LINK2 1585 #endif586 587 #if PLATFORM(COCOA)588 #define USE_COREMEDIA 1589 #endif590 591 #if PLATFORM(COCOA)592 #define USE_VIDEOTOOLBOX 1593 #endif594 595 #if PLATFORM(COCOA)596 #define HAVE_AVFOUNDATION_VIDEO_OUTPUT 1597 #endif598 599 #if PLATFORM(COCOA)600 #define HAVE_CORE_VIDEO 1601 #endif602 603 #if PLATFORM(COCOA)604 #define HAVE_MEDIA_PLAYER 1605 #endif606 607 #if PLATFORM(COCOA)608 #define HAVE_AVFOUNDATION_MEDIA_SELECTION_GROUP 1609 #endif610 611 #if PLATFORM(COCOA)612 #define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT 1613 #endif614 615 #if PLATFORM(COCOA)616 #define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK 1617 #endif618 619 #if PLATFORM(COCOA)620 #define HAVE_AVFOUNDATION_LOADER_DELEGATE 1621 #endif622 623 #if !PLATFORM(WIN)624 #define USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR 1625 #endif626 627 #if PLATFORM(MAC) || PLATFORM(MACCATALYST)628 #define HAVE_APPLE_GRAPHICS_CONTROL 1629 #endif630 631 #if PLATFORM(MAC) || PLATFORM(MACCATALYST)632 #define HAVE_NSCURSOR 1633 #endif634 635 #if PLATFORM(MAC)636 #define USE_COREAUDIO 1637 #endif638 639 #if !defined(USE_ZLIB)640 #define USE_ZLIB 1641 #endif642 643 #if !defined(HAVE_QOS_CLASSES) && PLATFORM(COCOA)644 #define HAVE_QOS_CLASSES 1645 #endif646 647 #if !defined(HAVE_VOUCHERS) && PLATFORM(COCOA)648 #define HAVE_VOUCHERS 1649 #endif650 651 #define USE_GRAMMAR_CHECKING 1652 653 #if PLATFORM(COCOA) || PLATFORM(GTK)654 #define USE_UNIFIED_TEXT_CHECKING 1655 #endif656 657 #if PLATFORM(MAC)658 #define USE_AUTOMATIC_TEXT_REPLACEMENT 1659 #endif660 661 #if PLATFORM(MAC)662 /* Some platforms provide UI for suggesting autocorrection. */663 #define USE_AUTOCORRECTION_PANEL 1664 #endif665 666 #if PLATFORM(COCOA)667 /* Some platforms use spelling and autocorrection markers to provide visual cue. On such platform, if word with marker is edited, we need to remove the marker. */668 #define USE_MARKER_REMOVAL_UPON_EDITING 1669 #endif670 671 #if PLATFORM(MAC)672 #define USE_INSERTION_UNDO_GROUPING 1673 #endif674 675 #if PLATFORM(COCOA)676 #define HAVE_AVASSETREADER 1677 #endif678 679 #if PLATFORM(COCOA)680 #define USE_AUDIO_SESSION 1681 #endif682 683 #if PLATFORM(COCOA)684 #define HAVE_IOSURFACE 1685 #endif686 687 #if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR)688 #define HAVE_IOSURFACE_COREIMAGE_SUPPORT 1689 #endif690 691 #if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(MACCATALYST)692 #define HAVE_IOSURFACE_ACCELERATOR 1693 #endif694 695 #if COMPILER(MSVC)696 #undef __STDC_FORMAT_MACROS697 #define __STDC_FORMAT_MACROS698 #undef __STDC_LIMIT_MACROS699 #define __STDC_LIMIT_MACROS700 #endif701 702 #if PLATFORM(MAC)703 #define HAVE_NS_ACTIVITY 1704 #endif705 706 707 /* Set TARGET_OS_IPHONE to 0 by default to allow using it as a guard708 * in cross-platform the same way as it is used in OS(DARWIN) code. */709 #if !defined(TARGET_OS_IPHONE) && !OS(DARWIN)710 #define TARGET_OS_IPHONE 0711 #endif712 713 #if PLATFORM(COCOA)714 #define USE_MEDIATOOLBOX 1715 #endif716 717 #if PLATFORM(COCOA)718 #define USE_OS_LOG 1719 #endif720 721 #if PLATFORM(COCOA) && USE(APPLE_INTERNAL_SDK)722 #define USE_OS_STATE 1723 #endif724 725 #if PLATFORM(COCOA)726 #define HAVE_SEC_TRUST_SERIALIZATION 1727 #endif728 729 #if !defined(WTF_DEFAULT_EVENT_LOOP)730 #define WTF_DEFAULT_EVENT_LOOP 1731 #endif732 733 #if WTF_DEFAULT_EVENT_LOOP734 #if USE(GLIB)735 /* Use GLib's event loop abstraction. Primarily GTK port uses it. */736 #define USE_GLIB_EVENT_LOOP 1737 #elif OS(WINDOWS)738 /* Use Windows message pump abstraction.739 * Even if the port is AppleWin, we use the Windows message pump system for the event loop,740 * so that USE(WINDOWS_EVENT_LOOP) && USE(CF) can be true.741 * And PLATFORM(WIN) and PLATFORM(GTK) are exclusive. If the port is GTK,742 * PLATFORM(WIN) should be false. And in that case, GLib's event loop is used.743 */744 #define USE_WINDOWS_EVENT_LOOP 1745 #elif PLATFORM(COCOA)746 /* OS X and IOS. Use CoreFoundation & GCD abstraction. */747 #define USE_COCOA_EVENT_LOOP 1748 #else749 #define USE_GENERIC_EVENT_LOOP 1750 #endif751 #endif752 753 #if PLATFORM(COCOA)754 #define USE_MEDIAREMOTE 1755 #endif756 757 #if COMPILER(MSVC)758 /* Enable strict runtime stack buffer checks. */759 #pragma strict_gs_check(on)760 #endif761 762 #if PLATFORM(MAC)763 #define HAVE_TOUCH_BAR 1764 #endif765 766 #if PLATFORM(MAC)767 #define USE_DICTATION_ALTERNATIVES 1768 #endif769 770 771 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT)772 #define HAVE_RSA_PSS 1773 #endif774 775 #if (PLATFORM(MAC) && USE(APPLE_INTERNAL_SDK) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)776 #define USE_SOURCE_APPLICATION_AUDIT_DATA 1777 #endif778 779 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)780 #define HAVE_HSTS_STORAGE_PATH 1781 #endif782 783 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)784 #define HAVE_URL_FORMATTING 1785 #endif786 787 #if !OS(WINDOWS)788 #define HAVE_STACK_BOUNDS_FOR_NEW_THREAD 1789 #endif790 791 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)792 #define HAVE_AVCONTENTKEYSESSION 1793 #endif794 795 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)796 #define HAVE_SEC_KEY_PROXY 1797 #endif798 799 #if PLATFORM(COCOA) && USE(CA)800 #define USE_IOSURFACE_CANVAS_BACKING_STORE 1801 #endif802 803 /* FIXME: Should this be enabled or IOS_FAMILY, not just IOS? */804 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)805 #define HAVE_FOUNDATION_WITH_SAVE_COOKIES_WITH_COMPLETION_HANDLER 1806 #endif807 808 /* FIXME: Should this be enabled for IOS_FAMILY, not just IOS? */809 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)810 #define HAVE_FOUNDATION_WITH_SAME_SITE_COOKIE_SUPPORT 1811 #endif812 813 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101400814 #define HAVE_NSHTTPCOOKIESTORAGE__INITWITHIDENTIFIER_WITH_INACCURATE_NULLABILITY 1815 #endif816 817 #if PLATFORM(COCOA)818 #define HAVE_CFNETWORK_WITH_CONTENT_ENCODING_SNIFFING_OVERRIDE 1819 /* The override isn't needed on iOS family, as the default behavior is to not sniff. */820 /* FIXME: This should probably be enabled on 10.13.2 and newer, not just 10.14 and newer. */821 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400822 #define USE_CFNETWORK_CONTENT_ENCODING_SNIFFING_OVERRIDE 1823 #endif824 #endif825 826 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(GTK)827 #define HAVE_OS_DARK_MODE_SUPPORT 1828 #endif829 830 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400831 #define HAVE_CG_FONT_RENDERING_GET_FONT_SMOOTHING_DISABLED 1832 #endif833 834 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)835 #define HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED 1836 #endif837 838 #ifdef __APPLE__839 #define HAVE_FUNC_USLEEP 1840 #endif841 842 #if PLATFORM(MAC) || PLATFORM(WPE)843 /* FIXME: This really needs a descriptive name, this "new theme" was added in 2008. */844 #define USE_NEW_THEME 1845 #endif846 847 #if PLATFORM(MAC)848 #define HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS 1849 #endif850 851 #if PLATFORM(COCOA)852 #define HAVE_SEC_ACCESS_CONTROL 1853 #endif854 855 #if PLATFORM(IOS)856 /* FIXME: SafariServices.framework exists on macOS. It is only used by WebKit on iOS, so the behavior is correct, but the name is misleading. */857 #define HAVE_SAFARI_SERVICES_FRAMEWORK 1858 #endif859 860 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(WATCHOS)861 #define HAVE_SAFE_BROWSING 1862 #endif863 864 #if PLATFORM(IOS)865 #define HAVE_LINK_PREVIEW 1866 #endif867 868 #if (PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))869 #define HAVE_ACCESSIBILITY_SUPPORT 1870 #endif871 872 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130100873 #define HAVE_ACCESSIBILITY_BUNDLES_PATH 1874 #endif875 876 #if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400)877 #define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE 1878 #endif879 880 #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)881 #define HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY 1882 #endif883 884 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)885 #define HAVE_CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE 1886 #endif887 888 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)889 #define HAVE_CFNETWORK_NEGOTIATED_SSL_PROTOCOL_CIPHER 1890 #endif891 892 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)893 #define HAVE_CFNETWORK_METRICS_APIS_V4 1894 #endif895 896 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500897 #define HAVE_CSCHECKFIXDISABLE 1898 #endif899 900 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)901 #define HAVE_SANDBOX_ISSUE_MACH_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1902 #endif903 904 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)905 #define HAVE_SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1906 #endif907 908 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)909 #define HAVE_MDNS_FAST_REGISTRATION 1910 #endif911 912 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)913 #define HAVE_DISALLOWABLE_USER_INSTALLED_FONTS 1914 #endif915 916 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)917 #define HAVE_CTFONTCREATEFORCHARACTERSWITHLANGUAGEANDOPTION 1918 #endif919 920 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)921 #define HAVE_CTFONTTRANSFORMGLYPHSWITHLANGUAGE 1922 #endif923 924 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000925 #define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1926 #endif927 928 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000929 #define HAVE_UI_WK_DOCUMENT_CONTEXT 1930 #endif931 932 #if PLATFORM(MACCATALYST)933 #define HAVE_HOVER_GESTURE_RECOGNIZER 1934 #endif935 936 #if PLATFORM(MACCATALYST)937 #define HAVE_UI_PARALLAX_TRANSITION_GESTURE_RECOGNIZER 1938 #endif939 940 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)941 #define HAVE_ALLOWS_SENSITIVE_LOGGING 1942 #endif943 944 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)945 #define HAVE_FAIRPLAYSTREAMING_CENC_INITDATA 1946 #endif947 948 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)949 #define HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI 1950 #endif951 952 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)953 #define HAVE_APP_LINKS_WITH_ISENABLED 1954 #endif955 956 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)957 #define HAVE_ROUTE_SHARING_POLICY_LONG_FORM_VIDEO 1958 #endif959 960 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000 && !PLATFORM(IOS_SIMULATOR))961 #define HAVE_DEVICE_MANAGEMENT 1962 #endif963 964 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101500965 #define USE_REALPATH_FOR_DLOPEN_PREFLIGHT 1966 #endif967 968 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)969 #define HAVE_NSURLSESSION_WEBSOCKET 1970 #endif971 972 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)973 #define HAVE_AVPLAYER_RESOURCE_CONSERVATION_LEVEL 1974 #endif975 976 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)977 #define HAVE_CORETEXT_AUTO_OPTICAL_SIZING 1978 #endif979 980 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000)981 #define HAVE_NSFONT_WITH_OPTICAL_SIZING_BUG 1982 #endif983 984 #if (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500))985 #define HAVE_APP_SSO 1986 #endif987 988 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 || PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)989 #define HAVE_TLS_PROTOCOL_VERSION_T 1990 #endif991 992 #if PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)993 #define HAVE_SEC_TRUST_EVALUATE_WITH_ERROR 1994 #endif995 996 #if PLATFORM(IOS) || PLATFORM(MACCATALYST)997 #define USE_UICONTEXTMENU 1998 #endif999 1000 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 1015001001 #define HAVE_SUBVIEWS_IVAR_SPI 11002 #endif1003 1004 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 1015001005 #define HAVE_SUBVIEWS_IVAR_DECLARED_BY_SDK 11006 #endif1007 1008 #if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)1009 #define USE_PLATFORM_SYSTEM_FALLBACK_LIST 11010 #endif1011 1012 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 1015001013 #define HAVE_AX_CLIENT_TYPE 11014 #endif1015 1016 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)1017 #define HAVE_DESIGN_SYSTEM_UI_FONTS 11018 #endif1019 1020 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR))1021 #define HAVE_DEVICE_IDENTITY 11022 #endif1023 1024 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)1025 #define HAVE_DATA_PROTECTION_KEYCHAIN 11026 #endif1027 1028 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))1029 #define HAVE_NEAR_FIELD 11030 #endif1031 1032 #if PLATFORM(IOS_FAMILY) || (!(defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC) && (OS(LINUX) && (PLATFORM(GTK) || PLATFORM(WPE))))1033 #define USE_BMALLOC_MEMORY_FOOTPRINT_API 11034 #endif1035 1036 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)1037 #define HAVE_OS_SIGNPOST 11038 #endif1039 1040 1041 1042 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/AdditionalPlatform.h>)1043 #include <WebKitAdditions/AdditionalPlatform.h>1044 #endif1045 1046 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/AdditionalFeatureDefines.h>)1047 #include <WebKitAdditions/AdditionalFeatureDefines.h>1048 #endif1049 1050 /* __PLATFORM_INDIRECT__ ensures that users #include <wtf/Platform.h> rather than wtf/FeatureDefines.h directly. */1051 #define __PLATFORM_INDIRECT__1052 1053 /* Include feature macros */1054 #include <wtf/PlatformEnable.h>1055 1056 #undef __PLATFORM_INDIRECT__1057 1058 1059 1060 /* FIXME: The following are currenly positioned at the bottom of this file as they are currently dependent on ENABLE macros. */1061 1062 /* FIXME: Remove dependence on ENABLE(WEB_RTC). */1063 #if PLATFORM(COCOA) && ENABLE(WEB_RTC)1064 #define USE_LIBWEBRTC 11065 #endif1066 1067 /* FIXME: This is used to "turn on a specific feature of WebKit", so should be converted to an ENABLE macro. */1068 /* This feature works by embedding the OpcodeID in the 32 bit just before the generated LLint code1069 that executes each opcode. It cannot be supported by the CLoop since there's no way to embed the1070 OpcodeID word in the CLoop's switch statement cases. It is also currently not implemented for MSVC.1071 */1072 #if !defined(USE_LLINT_EMBEDDED_OPCODE_ID) && !ENABLE(C_LOOP) && !COMPILER(MSVC) && \1073 (CPU(X86) || CPU(X86_64) || CPU(ARM64) || (CPU(ARM_THUMB2) && OS(DARWIN)))1074 #define USE_LLINT_EMBEDDED_OPCODE_ID 11075 #endif1076 1077 1078 #if PLATFORM(COCOA)1079 #if ENABLE(WEBGL)1080 1081 /* USE_ANGLE=1 uses ANGLE for the WebGL backend.1082 It replaces USE_OPENGL, USE_OPENGL_ES and USE_EGL. */1083 #if PLATFORM(MAC) || (PLATFORM(MACCATALYST) && __has_include(<OpenGL/OpenGL.h>))1084 #define USE_OPENGL 11085 #define USE_OPENGL_ES 01086 #define USE_ANGLE 01087 #else1088 #define USE_OPENGL 01089 #define USE_OPENGL_ES 11090 #define USE_ANGLE 01091 #endif1092 1093 #ifndef GL_SILENCE_DEPRECATION1094 #define GL_SILENCE_DEPRECATION 11095 #endif1096 1097 #if USE(OPENGL) && !defined(HAVE_OPENGL_4)1098 #define HAVE_OPENGL_4 11099 #endif1100 1101 #if USE(OPENGL_ES) && !defined(HAVE_OPENGL_ES_3)1102 #define HAVE_OPENGL_ES_3 11103 #endif1104 1105 #if USE_ANGLE && (USE_OPENGL || USE_OPENGL_ES)1106 #error USE_ANGLE is incompatible with USE_OPENGL and USE_OPENGL_ES1107 #endif1108 1109 #endif /* ENABLE(WEBGL) */1110 #endif /* PLATFORM(COCOA) */1111 1112 #if ENABLE(WEBGL)1113 #if !defined(USE_ANGLE)1114 #define USE_ANGLE 01115 #endif1116 1117 #if (USE_ANGLE && (USE_OPENGL || USE_OPENGL_ES || (defined(USE_EGL) && USE_EGL))) && !USE(TEXTURE_MAPPER)1118 #error USE_ANGLE is incompatible with USE_OPENGL, USE_OPENGL_ES and USE_EGL1119 #endif1120 #endif1121 1122 #if USE(TEXTURE_MAPPER) && ENABLE(GRAPHICS_CONTEXT_GL) && !defined(USE_TEXTURE_MAPPER_GL)1123 #define USE_TEXTURE_MAPPER_GL 11124 #endif1125 1126 /* FIXME: This is used to "turn on a specific feature of WebKit", so should be converted to an ENABLE macro. */1127 #if PLATFORM(COCOA) && ENABLE(ACCESSIBILITY)1128 #define USE_ACCESSIBILITY_CONTEXT_MENUS 11129 #endif1130 1131 1132 /* FIXME: These calling convention macros should move to their own file. They are at the bottom currently because they depend on FeatureDefines.h */1133 1134 #if CPU(X86) && COMPILER(MSVC)1135 #define JSC_HOST_CALL __fastcall1136 #elif CPU(X86) && COMPILER(GCC_COMPATIBLE)1137 #define JSC_HOST_CALL __attribute__ ((fastcall))1138 #else1139 #define JSC_HOST_CALL1140 #endif1141 1142 #if CPU(X86) && OS(WINDOWS)1143 #define CALLING_CONVENTION_IS_STDCALL 11144 #ifndef CDECL1145 #if COMPILER(MSVC)1146 #define CDECL __cdecl1147 #else1148 #define CDECL __attribute__ ((__cdecl))1149 #endif1150 #endif1151 #else1152 #define CALLING_CONVENTION_IS_STDCALL 01153 #endif1154 1155 #if CPU(X86)1156 #define WTF_COMPILER_SUPPORTS_FASTCALL_CALLING_CONVENTION 11157 #ifndef FASTCALL1158 #if COMPILER(MSVC)1159 #define FASTCALL __fastcall1160 #else1161 #define FASTCALL __attribute__ ((fastcall))1162 #endif1163 #endif1164 #else1165 #define WTF_COMPILER_SUPPORTS_FASTCALL_CALLING_CONVENTION 01166 #endif1167 1168 #if ENABLE(JIT) && CALLING_CONVENTION_IS_STDCALL1169 #define JIT_OPERATION CDECL1170 #else1171 #define JIT_OPERATION1172 #endif
Note:
See TracChangeset
for help on using the changeset viewer.