Changeset 254676 in webkit
- Timestamp:
- Jan 16, 2020 6:47:17 AM (4 years ago)
- Location:
- trunk/Source/WTF
- Files:
-
- 4 edited
- 1 copied
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WTF/ChangeLog
r254632 r254676 1 2020-01-15 Sam Weinig <weinig@apple.com> 2 3 Platform.h is out of control Part 5: Split HAVE_* macro definitions out of Platform.h and into a new PlatformHave.h 4 https://bugs.webkit.org/show_bug.cgi?id=206307 5 6 Reviewed by Anders Carlsson. 7 8 * WTF.xcodeproj/project.pbxproj: 9 * wtf/CMakeLists.txt: 10 * wtf/Platform.h: 11 * wtf/PlatformHave.h: Copied from Source/WTF/wtf/Platform.h. 12 1 13 2020-01-15 Keith Miller <keith_miller@apple.com> 2 14 -
trunk/Source/WTF/WTF.xcodeproj/project.pbxproj
r254632 r254676 443 443 7C137942222326D500D7A824 /* ieee.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ieee.h; sourceTree = "<group>"; }; 444 444 7C137943222326D500D7A824 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; }; 445 7C3A45D023CFA883007DE3A6 /* PlatformHave.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformHave.h; sourceTree = "<group>"; }; 445 446 7C3F72391D78811900674E26 /* Brigand.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Brigand.h; sourceTree = "<group>"; }; 446 447 7C42307123CE2D8A006E54D0 /* PlatformEnable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PlatformEnable.h; sourceTree = "<group>"; }; … … 1127 1128 7C42307223CE2D8A006E54D0 /* PlatformCPU.h */, 1128 1129 7C42307123CE2D8A006E54D0 /* PlatformEnable.h */, 1130 7C3A45D023CFA883007DE3A6 /* PlatformHave.h */, 1129 1131 7C42307423CEB187006E54D0 /* PlatformLegacy.h */, 1130 1132 7C42307323CE2D8B006E54D0 /* PlatformOS.h */, -
trunk/Source/WTF/wtf/CMakeLists.txt
r254632 r254676 173 173 PlatformCPU.h 174 174 PlatformEnable.h 175 PlatformHave.h 175 176 PlatformLegacy.h 176 177 PlatformOS.h -
trunk/Source/WTF/wtf/Platform.h
r254572 r254676 1 1 /* 2 * Copyright (C) 2006-20 19Apple Inc. All rights reserved.2 * Copyright (C) 2006-2020 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2007-2009 Torch Mobile, Inc. 4 4 * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved. … … 46 46 47 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 48 #include <wtf/PlatformHave.h> 50 49 51 50 /* ==== Policy decision macros: these define policy choices for a particular port. ==== */ … … 57 56 58 57 58 59 59 #if PLATFORM(COCOA) 60 60 #if defined __has_include && __has_include(<CoreFoundation/CFPriv.h>) … … 77 77 #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 1 78 78 #endif 79 80 #if CPU(ARM_NEON)81 /* All NEON intrinsics usage can be disabled by this macro. */82 #define HAVE_ARM_NEON_INTRINSICS 183 #endif84 85 /* FIXME: This should be renamed to WTF_CPU_ARM_IDIV_INSTRUCTIONS and moved to CPU.h */86 #if defined(__ARM_ARCH_EXT_IDIV__) || CPU(APPLE_ARMV7S)87 #define HAVE_ARM_IDIV_INSTRUCTIONS 188 #endif89 90 79 91 80 … … 119 108 120 109 /* Standard libraries */ 121 #if defined(HAVE_FEATURES_H) && HAVE_FEATURES_H122 /* If the included features.h is glibc's one, __GLIBC__ is defined. */123 #include <features.h>124 #endif125 110 126 111 /* FIXME: ASSERT_ENABLED should defined in different, perhaps its own, file. */ … … 186 171 187 172 #if PLATFORM(COCOA) 188 #define HAVE_OUT_OF_PROCESS_LAYER_HOSTING 1189 #endif190 191 #if PLATFORM(COCOA)192 173 #define USE_CF 1 193 174 #endif … … 215 196 216 197 #if PLATFORM(MAC) 217 #define HAVE_RUNLOOP_TIMER 1218 #endif219 220 #if PLATFORM(MAC)221 #define HAVE_SEC_KEYCHAIN 1222 #endif223 224 #if PLATFORM(MAC)225 #define HAVE_HISERVICES 1226 #endif227 228 #if PLATFORM(MAC)229 198 #define USE_APPKIT 1 230 199 #endif … … 235 204 236 205 #if PLATFORM(MAC) 237 #define HAVE_NETWORK_EXTENSION 1238 #endif239 240 #if PLATFORM(MAC)241 206 #define USE_PLUGIN_HOST_PROCESS 1 242 #endif243 244 #if PLATFORM(IOS_FAMILY)245 #define HAVE_NETWORK_EXTENSION 1246 #endif247 248 #if PLATFORM(IOS_FAMILY)249 #define HAVE_READLINE 1250 207 #endif 251 208 … … 258 215 #endif 259 216 260 #if PLATFORM(IOS_FAMILY) && CPU(ARM_NEON)261 #undef HAVE_ARM_NEON_INTRINSICS262 #define HAVE_ARM_NEON_INTRINSICS 0263 #endif264 265 #if !defined(HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING) && PLATFORM(IOS)266 #define HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING 1267 #endif268 269 #if !defined(HAVE_VISIBILITY_PROPAGATION_VIEW) && PLATFORM(IOS_FAMILY)270 #define HAVE_VISIBILITY_PROPAGATION_VIEW 1271 #endif272 273 #if !defined(HAVE_UISCENE) && PLATFORM(IOS_FAMILY)274 #define HAVE_UISCENE 1275 #endif276 277 #if !defined(HAVE_AVSTREAMSESSION) && PLATFORM(MAC)278 #define HAVE_AVSTREAMSESSION 1279 #endif280 281 #if !defined(HAVE_PASSKIT_API_TYPE) && (PLATFORM(IOS_FAMILY) || PLATFORM(MAC))282 #define HAVE_PASSKIT_API_TYPE 1283 #endif284 285 #if !defined(HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER) && (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))286 #define HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER 1287 #endif288 289 217 #if !defined(USE_UIKIT_KEYBOARD_ADDITIONS) && (PLATFORM(IOS) || PLATFORM(MACCATALYST)) 290 218 #define USE_UIKIT_KEYBOARD_ADDITIONS 1 291 219 #endif 292 220 293 294 #if !defined(HAVE_ACCESSIBILITY) && (PLATFORM(COCOA) || PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE))295 #define HAVE_ACCESSIBILITY 1296 #endif297 298 /* FIXME: Remove after CMake build enabled on Darwin */299 #if OS(DARWIN)300 #define HAVE_ERRNO_H 1301 #endif302 303 #if OS(DARWIN)304 #define HAVE_LANGINFO_H 1305 #endif306 307 #if OS(DARWIN)308 #define HAVE_LOCALTIME_R 1309 #endif310 311 #if OS(DARWIN)312 #define HAVE_MMAP 1313 #endif314 315 #if OS(DARWIN)316 #define HAVE_REGEX_H 1317 #endif318 319 #if OS(DARWIN)320 #define HAVE_SIGNAL_H 1321 #endif322 323 #if OS(DARWIN)324 #define HAVE_STAT_BIRTHTIME 1325 #endif326 327 #if OS(DARWIN)328 #define HAVE_STRINGS_H 1329 #endif330 331 #if OS(DARWIN)332 #define HAVE_STRNSTR 1333 #endif334 335 #if OS(DARWIN)336 #define HAVE_SYS_PARAM_H 1337 #endif338 339 #if OS(DARWIN)340 #define HAVE_SYS_TIME_H 1341 #endif342 343 #if OS(DARWIN)344 #define HAVE_TM_GMTOFF 1345 #endif346 347 #if OS(DARWIN)348 #define HAVE_TM_ZONE 1349 #endif350 351 #if OS(DARWIN)352 #define HAVE_TIMEGM 1353 #endif354 355 #if OS(DARWIN)356 #define HAVE_PTHREAD_MAIN_NP 1357 #endif358 359 #if OS(DARWIN) && (CPU(X86_64) || CPU(ARM64))360 #define HAVE_INT128_T 1361 #endif362 363 221 #if OS(UNIX) 364 222 #define USE_PTHREADS 1 365 223 #endif 366 224 367 #if OS(UNIX) && !OS(FUCHSIA)368 #define HAVE_RESOURCE_H 1369 #endif370 371 #if OS(UNIX) && !OS(FUCHSIA)372 #define HAVE_PTHREAD_SETSCHEDPARAM 1373 #endif374 375 #if OS(DARWIN)376 #define HAVE_DISPATCH_H 1377 #endif378 379 #if OS(DARWIN)380 #define HAVE_MADV_FREE 1381 #endif382 383 #if OS(DARWIN)384 #define HAVE_MADV_FREE_REUSE 1385 #endif386 387 #if OS(DARWIN)388 #define HAVE_MADV_DONTNEED 1389 #endif390 391 #if OS(DARWIN)392 #define HAVE_MERGESORT 1393 #endif394 395 #if OS(DARWIN)396 #define HAVE_PTHREAD_SETNAME_NP 1397 #endif398 399 #if OS(DARWIN)400 #define HAVE_READLINE 1401 #endif402 403 #if OS(DARWIN)404 #define HAVE_SYS_TIMEB_H 1405 #endif406 407 #if OS(DARWIN)408 #define HAVE_AUDIT_TOKEN 1409 #endif410 411 #if OS(DARWIN) && __has_include(<mach/mach_exc.defs>) && !PLATFORM(GTK)412 #define HAVE_MACH_EXCEPTIONS 1413 #endif414 415 225 #if OS(DARWIN) && !PLATFORM(GTK) 416 226 #define USE_ACCELERATE 1 417 227 #endif 418 419 #if OS(DARWIN) && !PLATFORM(IOS_FAMILY)420 #define HAVE_HOSTED_CORE_ANIMATION 1421 #endif422 423 424 #if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))425 #define HAVE_MACHINE_CONTEXT 1426 #endif427 428 #if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS))429 #define HAVE_BACKTRACE 1430 #endif431 432 #if OS(DARWIN) || OS(LINUX)433 #if PLATFORM(GTK)434 #if defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS)435 #define HAVE_BACKTRACE_SYMBOLS 1436 #endif437 #endif /* PLATFORM(GTK) */438 #define HAVE_DLADDR 1439 #endif /* OS(DARWIN) || OS(LINUX) */440 441 228 442 229 #if OS(WINDOWS) … … 451 238 #endif 452 239 #endif /* !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) */ 453 454 #if __has_include(<System/pthread_machdep.h>)455 #define HAVE_FAST_TLS 1456 #endif457 458 #if COMPILER(GCC_COMPATIBLE)459 #define HAVE_COMPUTED_GOTO 1460 #endif461 240 462 241 /* FIXME: This name should be more specific if it is only for use with CallFrame* */ … … 466 245 #endif 467 246 468 #if CPU(ARM64E) && OS(DARWIN)469 #define HAVE_FJCVTZS_INSTRUCTION 1470 #endif471 472 #if PLATFORM(IOS)473 #define HAVE_APP_LINKS 1474 #endif475 476 247 #if PLATFORM(IOS) 477 248 #define USE_PASSKIT 1 … … 486 257 #endif 487 258 488 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)489 #define HAVE_CELESTIAL 1490 #endif491 492 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)493 #define HAVE_CORE_ANIMATION_RENDER_SERVER 1494 #endif495 496 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)497 #define HAVE_PARENTAL_CONTROLS_WITH_UNBLOCK_HANDLER 1498 #endif499 500 259 #if PLATFORM(COCOA) 501 260 #define USE_AVFOUNDATION 1 … … 506 265 #endif 507 266 508 /* FIXME: Enable HAVE_PARENTAL_CONTROLS for watchOS Simulator once rdar://problem/54608386 is resolved */509 #if PLATFORM(COCOA) && (!PLATFORM(APPLETV) && (!PLATFORM(WATCHOS) || !PLATFORM(IOS_FAMILY_SIMULATOR)))510 #define HAVE_PARENTAL_CONTROLS 1511 #endif512 513 #if PLATFORM(COCOA) && !PLATFORM(APPLETV)514 #define HAVE_AVKIT 1515 #endif516 517 267 #if PLATFORM(COCOA) 518 268 #define USE_METAL 1 519 269 #endif 520 521 270 522 271 #if USE(GLIB) … … 544 293 #endif 545 294 546 #if PLATFORM(COCOA)547 #define HAVE_AVFOUNDATION_VIDEO_OUTPUT 1548 #endif549 550 #if PLATFORM(COCOA)551 #define HAVE_CORE_VIDEO 1552 #endif553 554 #if PLATFORM(COCOA)555 #define HAVE_MEDIA_PLAYER 1556 #endif557 558 #if PLATFORM(COCOA)559 #define HAVE_AVFOUNDATION_MEDIA_SELECTION_GROUP 1560 #endif561 562 #if PLATFORM(COCOA)563 #define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT 1564 #endif565 566 #if PLATFORM(COCOA)567 #define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK 1568 #endif569 570 #if PLATFORM(COCOA)571 #define HAVE_AVFOUNDATION_LOADER_DELEGATE 1572 #endif573 574 295 #if !PLATFORM(WIN) 575 296 #define USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR 1 576 297 #endif 577 298 578 #if PLATFORM(MAC) || PLATFORM(MACCATALYST)579 #define HAVE_APPLE_GRAPHICS_CONTROL 1580 #endif581 582 #if PLATFORM(MAC) || PLATFORM(MACCATALYST)583 #define HAVE_NSCURSOR 1584 #endif585 586 299 #if PLATFORM(MAC) 587 300 #define USE_COREAUDIO 1 … … 592 305 #endif 593 306 594 #if !defined(HAVE_QOS_CLASSES) && PLATFORM(COCOA)595 #define HAVE_QOS_CLASSES 1596 #endif597 598 #if !defined(HAVE_VOUCHERS) && PLATFORM(COCOA)599 #define HAVE_VOUCHERS 1600 #endif601 602 307 #define USE_GRAMMAR_CHECKING 1 603 308 … … 625 330 626 331 #if PLATFORM(COCOA) 627 #define HAVE_AVASSETREADER 1628 #endif629 630 #if PLATFORM(COCOA)631 332 #define USE_AUDIO_SESSION 1 632 #endif633 634 #if PLATFORM(COCOA)635 #define HAVE_IOSURFACE 1636 #endif637 638 #if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR)639 #define HAVE_IOSURFACE_COREIMAGE_SUPPORT 1640 #endif641 642 #if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(MACCATALYST)643 #define HAVE_IOSURFACE_ACCELERATOR 1644 333 #endif 645 334 … … 651 340 #endif 652 341 653 #if PLATFORM(MAC) 654 #define HAVE_NS_ACTIVITY 1 655 #endif 656 657 658 /* Set TARGET_OS_IPHONE to 0 by default to allow using it as a guard 342 /* Set TARGET_OS_IPHONE to 0 by default to allow using it as a guard 659 343 * in cross-platform the same way as it is used in OS(DARWIN) code. */ 660 344 #if !defined(TARGET_OS_IPHONE) && !OS(DARWIN) … … 672 356 #if PLATFORM(COCOA) && USE(APPLE_INTERNAL_SDK) 673 357 #define USE_OS_STATE 1 674 #endif675 676 #if PLATFORM(COCOA)677 #define HAVE_SEC_TRUST_SERIALIZATION 1678 358 #endif 679 359 … … 712 392 713 393 #if PLATFORM(MAC) 714 #define HAVE_TOUCH_BAR 1715 #endif716 717 #if PLATFORM(MAC)718 394 #define USE_DICTATION_ALTERNATIVES 1 719 #endif720 721 722 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT)723 #define HAVE_RSA_PSS 1724 395 #endif 725 396 … … 728 399 #endif 729 400 730 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)731 #define HAVE_HSTS_STORAGE_PATH 1732 #endif733 734 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)735 #define HAVE_URL_FORMATTING 1736 #endif737 738 #if !OS(WINDOWS)739 #define HAVE_STACK_BOUNDS_FOR_NEW_THREAD 1740 #endif741 742 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)743 #define HAVE_AVCONTENTKEYSESSION 1744 #endif745 746 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)747 #define HAVE_SEC_KEY_PROXY 1748 #endif749 750 401 #if PLATFORM(COCOA) && USE(CA) 751 402 #define USE_IOSURFACE_CANVAS_BACKING_STORE 1 752 403 #endif 753 404 754 /* FIXME: Should this be enabled or IOS_FAMILY, not just IOS? */755 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)756 #define HAVE_FOUNDATION_WITH_SAVE_COOKIES_WITH_COMPLETION_HANDLER 1757 #endif758 759 /* FIXME: Should this be enabled for IOS_FAMILY, not just IOS? */760 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)761 #define HAVE_FOUNDATION_WITH_SAME_SITE_COOKIE_SUPPORT 1762 #endif763 764 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101400765 #define HAVE_NSHTTPCOOKIESTORAGE__INITWITHIDENTIFIER_WITH_INACCURATE_NULLABILITY 1766 #endif767 768 #if PLATFORM(COCOA)769 #define HAVE_CFNETWORK_WITH_CONTENT_ENCODING_SNIFFING_OVERRIDE 1770 405 /* The override isn't needed on iOS family, as the default behavior is to not sniff. */ 771 406 /* FIXME: This should probably be enabled on 10.13.2 and newer, not just 10.14 and newer. */ … … 773 408 #define USE_CFNETWORK_CONTENT_ENCODING_SNIFFING_OVERRIDE 1 774 409 #endif 775 #endif776 777 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(GTK)778 #define HAVE_OS_DARK_MODE_SUPPORT 1779 #endif780 781 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400782 #define HAVE_CG_FONT_RENDERING_GET_FONT_SMOOTHING_DISABLED 1783 #endif784 785 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)786 #define HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED 1787 #endif788 789 #ifdef __APPLE__790 #define HAVE_FUNC_USLEEP 1791 #endif792 410 793 411 #if PLATFORM(MAC) || PLATFORM(WPE) … … 796 414 #endif 797 415 798 #if PLATFORM(MAC)799 #define HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS 1800 #endif801 802 #if PLATFORM(COCOA)803 #define HAVE_SEC_ACCESS_CONTROL 1804 #endif805 806 #if PLATFORM(IOS)807 /* FIXME: SafariServices.framework exists on macOS. It is only used by WebKit on iOS, so the behavior is correct, but the name is misleading. */808 #define HAVE_SAFARI_SERVICES_FRAMEWORK 1809 #endif810 811 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(WATCHOS)812 #define HAVE_SAFE_BROWSING 1813 #endif814 815 #if PLATFORM(IOS)816 #define HAVE_LINK_PREVIEW 1817 #endif818 819 #if (PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))820 #define HAVE_ACCESSIBILITY_SUPPORT 1821 #endif822 823 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130100824 #define HAVE_ACCESSIBILITY_BUNDLES_PATH 1825 #endif826 827 #if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400)828 #define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE 1829 #endif830 831 #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)832 #define HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY 1833 #endif834 835 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)836 #define HAVE_CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE 1837 #endif838 839 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)840 #define HAVE_CFNETWORK_NEGOTIATED_SSL_PROTOCOL_CIPHER 1841 #endif842 843 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)844 #define HAVE_CFNETWORK_METRICS_APIS_V4 1845 #endif846 847 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500848 #define HAVE_CSCHECKFIXDISABLE 1849 #endif850 851 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)852 #define HAVE_SANDBOX_ISSUE_MACH_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1853 #endif854 855 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)856 #define HAVE_SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1857 #endif858 859 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)860 #define HAVE_MDNS_FAST_REGISTRATION 1861 #endif862 863 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)864 #define HAVE_DISALLOWABLE_USER_INSTALLED_FONTS 1865 #endif866 867 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)868 #define HAVE_CTFONTCREATEFORCHARACTERSWITHLANGUAGEANDOPTION 1869 #endif870 871 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)872 #define HAVE_CTFONTTRANSFORMGLYPHSWITHLANGUAGE 1873 #endif874 875 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000876 #define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1877 #endif878 879 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000880 #define HAVE_UI_WK_DOCUMENT_CONTEXT 1881 #endif882 883 #if PLATFORM(MACCATALYST)884 #define HAVE_HOVER_GESTURE_RECOGNIZER 1885 #endif886 887 #if PLATFORM(MACCATALYST)888 #define HAVE_UI_PARALLAX_TRANSITION_GESTURE_RECOGNIZER 1889 #endif890 891 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)892 #define HAVE_ALLOWS_SENSITIVE_LOGGING 1893 #endif894 895 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)896 #define HAVE_FAIRPLAYSTREAMING_CENC_INITDATA 1897 #endif898 899 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)900 #define HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI 1901 #endif902 903 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)904 #define HAVE_APP_LINKS_WITH_ISENABLED 1905 #endif906 907 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000)908 #define HAVE_ROUTE_SHARING_POLICY_LONG_FORM_VIDEO 1909 #endif910 911 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000 && !PLATFORM(IOS_SIMULATOR))912 #define HAVE_DEVICE_MANAGEMENT 1913 #endif914 915 416 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101500 916 417 #define USE_REALPATH_FOR_DLOPEN_PREFLIGHT 1 917 418 #endif 918 419 919 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)920 #define HAVE_NSURLSESSION_WEBSOCKET 1921 #endif922 923 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)924 #define HAVE_AVPLAYER_RESOURCE_CONSERVATION_LEVEL 1925 #endif926 927 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 120000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)928 #define HAVE_CORETEXT_AUTO_OPTICAL_SIZING 1929 #endif930 931 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED < 130000)932 #define HAVE_NSFONT_WITH_OPTICAL_SIZING_BUG 1933 #endif934 935 #if (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500))936 #define HAVE_APP_SSO 1937 #endif938 939 #if (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 || PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)940 #define HAVE_TLS_PROTOCOL_VERSION_T 1941 #endif942 943 #if PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)944 #define HAVE_SEC_TRUST_EVALUATE_WITH_ERROR 1945 #endif946 947 420 #if PLATFORM(IOS) || PLATFORM(MACCATALYST) 948 421 #define USE_UICONTEXTMENU 1 949 422 #endif 950 423 951 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500952 #define HAVE_SUBVIEWS_IVAR_SPI 1953 #endif954 955 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101500956 #define HAVE_SUBVIEWS_IVAR_DECLARED_BY_SDK 1957 #endif958 959 424 #if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) 960 425 #define USE_PLATFORM_SYSTEM_FALLBACK_LIST 1 961 426 #endif 962 427 963 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500964 #define HAVE_AX_CLIENT_TYPE 1965 #endif966 967 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)968 #define HAVE_DESIGN_SYSTEM_UI_FONTS 1969 #endif970 971 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR))972 #define HAVE_DEVICE_IDENTITY 1973 #endif974 975 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)976 #define HAVE_DATA_PROTECTION_KEYCHAIN 1977 #endif978 979 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))980 #define HAVE_NEAR_FIELD 1981 #endif982 983 428 #if PLATFORM(IOS_FAMILY) || (!(defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC) && (OS(LINUX) && (PLATFORM(GTK) || PLATFORM(WPE)))) 984 429 #define USE_BMALLOC_MEMORY_FOOTPRINT_API 1 985 430 #endif 986 431 987 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)988 #define HAVE_OS_SIGNPOST 1989 #endif990 432 991 433 … … 1009 451 1010 452 1011 /* FIXME: The following are currenly positioned at the bottom of this file as they are currently dependent on ENABLE macros. */ 453 /* FIXME: The following are currenly positioned at the bottom of this file as they are currently dependent on ENABLE or USE macros. */ 454 455 /* FIXME: The availability of RSA_PSS should not depend on the policy decision to USE(GCRYPT). */ 456 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT) 457 #define HAVE_RSA_PSS 1 458 #endif 1012 459 1013 460 /* FIXME: Remove dependence on ENABLE(WEB_RTC). */ -
trunk/Source/WTF/wtf/PlatformHave.h
r254626 r254676 1 1 /* 2 * Copyright (C) 2006-20 19Apple Inc. All rights reserved.2 * Copyright (C) 2006-2020 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2007-2009 Torch Mobile, Inc. 4 4 * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved. … … 28 28 #pragma once 29 29 30 /* Include compiler specific macros */31 #include <wtf/Compiler.h>32 33 /* ==== Platform adaptation macros: these describe properties of the target environment. ==== */34 35 /* CPU() - the target CPU architecture */36 #include <wtf/PlatformCPU.h>37 38 /* OS() - underlying operating system; only to be used for mandated low-level services like39 virtual memory, not to choose a GUI toolkit */40 #include <wtf/PlatformOS.h>41 42 /* PLATFORM() - handles OS, operating environment, graphics API, and43 CPU. This macro will be phased out in favor of platform adaptation44 macros, policy decision macros, and top-level port definitions. */45 #include <wtf/PlatformLegacy.h>46 47 30 /* 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 #if PLATFORM(COCOA) 60 #if defined __has_include && __has_include(<CoreFoundation/CFPriv.h>) 61 #define USE_APPLE_INTERNAL_SDK 1 62 #endif 63 #endif 64 65 /* MIPS requires allocators to use aligned memory */ 66 #if CPU(MIPS) || CPU(MIPS64) 67 #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 1 68 #endif 69 70 /*ARMv5TE requires allocators to use aligned memory*/ 71 #if defined(__ARM_ARCH_5E__) || defined(__ARM_ARCH_5TE__) || defined(__ARM_ARCH_5TEJ__) 72 #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 1 73 #endif 74 75 /*ARMv5TE requires allocators to use aligned memory*/ 76 #if defined(__TARGET_ARCH_5E) || defined(__TARGET_ARCH_5TE) || defined(__TARGET_ARCH_5TEJ) 77 #define USE_ARENA_ALLOC_ALIGNMENT_INTEGER 1 78 #endif 31 #define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE) 32 33 34 #if defined(HAVE_FEATURES_H) && HAVE_FEATURES_H 35 /* If the included features.h is glibc's one, __GLIBC__ is defined. */ 36 #include <features.h> 37 #endif 38 79 39 80 40 #if CPU(ARM_NEON) … … 88 48 #endif 89 49 90 91 92 /* Operating environments */93 94 95 /* FIXME: Rename WTF_CPU_EFFECTIVE_ADDRESS_WIDTH to WTF_OS_EFFECTIVE_ADDRESS_WIDTH, as it is an OS feature, not a CPU feature. */96 #if CPU(ADDRESS64)97 #if OS(DARWIN) && CPU(ARM64)98 #define WTF_CPU_EFFECTIVE_ADDRESS_WIDTH 3699 #else100 /* We strongly assume that effective address width is <= 48 in 64bit architectures (e.g. NaN boxing). */101 #define WTF_CPU_EFFECTIVE_ADDRESS_WIDTH 48102 #endif103 #else104 #define WTF_CPU_EFFECTIVE_ADDRESS_WIDTH 32105 #endif106 107 /* Export macro support. Detects the attributes available for shared library symbol export108 decorations. */109 #if OS(WINDOWS) || (COMPILER_HAS_CLANG_DECLSPEC(dllimport) && COMPILER_HAS_CLANG_DECLSPEC(dllexport))110 #define USE_DECLSPEC_ATTRIBUTE 1111 #define USE_VISIBILITY_ATTRIBUTE 0112 #elif defined(__GNUC__)113 #define USE_DECLSPEC_ATTRIBUTE 0114 #define USE_VISIBILITY_ATTRIBUTE 1115 #else116 #define USE_DECLSPEC_ATTRIBUTE 0117 #define USE_VISIBILITY_ATTRIBUTE 0118 #endif119 120 /* Standard libraries */121 #if defined(HAVE_FEATURES_H) && HAVE_FEATURES_H122 /* If the included features.h is glibc's one, __GLIBC__ is defined. */123 #include <features.h>124 #endif125 126 /* FIXME: ASSERT_ENABLED should defined in different, perhaps its own, file. */127 /* ASSERT_ENABLED should be true if we want the current compilation unit to128 do debug assertion checks unconditionally (e.g. treat a debug ASSERT129 like a RELEASE_ASSERT.130 */131 #ifndef ASSERT_ENABLED132 #ifdef NDEBUG133 #define ASSERT_ENABLED 0134 #else135 #define ASSERT_ENABLED 1136 #endif137 #endif138 139 140 141 #if PLATFORM(COCOA)142 #define USE_CG 1143 #endif144 145 #if PLATFORM(COCOA)146 #define USE_CA 1147 #endif148 149 #if PLATFORM(GTK) || PLATFORM(WPE)150 #define USE_GLIB 1151 #endif152 153 #if PLATFORM(GTK) || PLATFORM(WPE)154 #define USE_FREETYPE 1155 #endif156 157 #if PLATFORM(GTK) || PLATFORM(WPE)158 #define USE_HARFBUZZ 1159 #endif160 161 #if PLATFORM(GTK) || PLATFORM(WPE)162 #define USE_SOUP 1163 #endif164 165 #if PLATFORM(GTK) || PLATFORM(WPE)166 #define USE_WEBP 1167 #endif168 169 #if PLATFORM(GTK)170 #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_36171 #define GDK_VERSION_MIN_REQUIRED GDK_VERSION_3_6172 #endif173 174 #if PLATFORM(WPE)175 #define GLIB_VERSION_MIN_REQUIRED GLIB_VERSION_2_40176 #endif177 178 #if USE(SOUP)179 #define SOUP_VERSION_MIN_REQUIRED SOUP_VERSION_2_42180 #endif181 182 /* On Windows, use QueryPerformanceCounter by default */183 #if OS(WINDOWS)184 #define USE_QUERY_PERFORMANCE_COUNTER 1185 #endif186 187 50 #if PLATFORM(COCOA) 188 51 #define HAVE_OUT_OF_PROCESS_LAYER_HOSTING 1 189 #endif190 191 #if PLATFORM(COCOA)192 #define USE_CF 1193 #endif194 195 #if PLATFORM(COCOA) || (PLATFORM(GTK) || PLATFORM(WPE))196 #define USE_FILE_LOCK 1197 #endif198 199 #if PLATFORM(COCOA)200 #define USE_FOUNDATION 1201 #endif202 203 #if PLATFORM(COCOA)204 #define USE_NETWORK_CFDATA_ARRAY_CALLBACK 1205 #endif206 207 208 #if PLATFORM(COCOA)209 /* Cocoa defines a series of platform macros for debugging. */210 /* Some of them are really annoying because they use common names (e.g. check()). */211 /* Disable those macros so that we are not limited in how we name methods and functions. */212 #undef __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES213 #define __ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES 0214 52 #endif 215 53 … … 226 64 #endif 227 65 228 #if PLATFORM(MAC) 229 #define USE_APPKIT 1 230 #endif 231 232 #if PLATFORM(MAC) 233 #define USE_PASSKIT 1 234 #endif 235 236 #if PLATFORM(MAC) 237 #define HAVE_NETWORK_EXTENSION 1 238 #endif 239 240 #if PLATFORM(MAC) 241 #define USE_PLUGIN_HOST_PROCESS 1 242 #endif 243 244 #if PLATFORM(IOS_FAMILY) 66 #if PLATFORM(MAC) || PLATFORM(IOS_FAMILY) 245 67 #define HAVE_NETWORK_EXTENSION 1 246 68 #endif … … 248 70 #if PLATFORM(IOS_FAMILY) 249 71 #define HAVE_READLINE 1 250 #endif251 252 #if PLATFORM(IOS_FAMILY)253 #define USE_UIKIT_EDITING 1254 #endif255 256 #if PLATFORM(IOS_FAMILY)257 #define USE_WEB_THREAD 1258 72 #endif 259 73 … … 291 105 #endif 292 106 293 294 107 #if !defined(HAVE_ACCESSIBILITY) && (PLATFORM(COCOA) || PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE)) 295 108 #define HAVE_ACCESSIBILITY 1 … … 361 174 #endif 362 175 363 #if OS(UNIX)364 #define USE_PTHREADS 1365 #endif366 367 176 #if OS(UNIX) && !OS(FUCHSIA) 368 177 #define HAVE_RESOURCE_H 1 … … 413 222 #endif 414 223 415 #if OS(DARWIN) && !PLATFORM(GTK)416 #define USE_ACCELERATE 1417 #endif418 419 224 #if OS(DARWIN) && !PLATFORM(IOS_FAMILY) 420 225 #define HAVE_HOSTED_CORE_ANIMATION 1 421 226 #endif 422 227 423 424 228 #if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS))) 425 229 #define HAVE_MACHINE_CONTEXT 1 … … 430 234 #endif 431 235 236 #if (OS(DARWIN) || OS(LINUX)) && PLATFORM(GTK) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS) 237 #define HAVE_BACKTRACE_SYMBOLS 1 238 #endif 239 432 240 #if OS(DARWIN) || OS(LINUX) 433 #if PLATFORM(GTK)434 #if defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS)435 #define HAVE_BACKTRACE_SYMBOLS 1436 #endif437 #endif /* PLATFORM(GTK) */438 241 #define HAVE_DLADDR 1 439 #endif /* OS(DARWIN) || OS(LINUX) */ 440 441 442 #if OS(WINDOWS) 443 #define USE_SYSTEM_MALLOC 1 444 #endif 445 446 #if !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) 447 #if CPU(ADDRESS64) || CPU(ARM64) 448 #define USE_JSVALUE64 1 449 #else 450 #define USE_JSVALUE32_64 1 451 #endif 452 #endif /* !defined(USE_JSVALUE64) && !defined(USE_JSVALUE32_64) */ 242 #endif 453 243 454 244 #if __has_include(<System/pthread_machdep.h>) … … 460 250 #endif 461 251 462 /* FIXME: This name should be more specific if it is only for use with CallFrame* */463 /* Use __builtin_frame_address(1) to get CallFrame* */464 #if COMPILER(GCC_COMPATIBLE) && (CPU(ARM64) || CPU(X86_64))465 #define USE_BUILTIN_FRAME_ADDRESS 1466 #endif467 468 252 #if CPU(ARM64E) && OS(DARWIN) 469 253 #define HAVE_FJCVTZS_INSTRUCTION 1 … … 474 258 #endif 475 259 476 #if PLATFORM(IOS)477 #define USE_PASSKIT 1478 #endif479 480 #if PLATFORM(IOS)481 #define USE_QUICK_LOOK 1482 #endif483 484 #if PLATFORM(IOS)485 #define USE_SYSTEM_PREVIEW 1486 #endif487 488 260 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) 489 261 #define HAVE_CELESTIAL 1 … … 496 268 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV) 497 269 #define HAVE_PARENTAL_CONTROLS_WITH_UNBLOCK_HANDLER 1 498 #endif499 500 #if PLATFORM(COCOA)501 #define USE_AVFOUNDATION 1502 #endif503 504 #if PLATFORM(COCOA)505 #define USE_PROTECTION_SPACE_AUTH_CALLBACK 1506 270 #endif 507 271 … … 516 280 517 281 #if PLATFORM(COCOA) 518 #define USE_METAL 1519 #endif520 521 522 #if USE(GLIB)523 #include <wtf/glib/GTypedefs.h>524 #endif525 526 #if !defined(USE_EXPORT_MACROS) && (PLATFORM(COCOA) || OS(WINDOWS))527 #define USE_EXPORT_MACROS 1528 #endif529 530 #if PLATFORM(GTK) || PLATFORM(WPE)531 #define USE_UNIX_DOMAIN_SOCKETS 1532 #endif533 534 #if !defined(USE_IMLANG_FONT_LINK2)535 #define USE_IMLANG_FONT_LINK2 1536 #endif537 538 #if PLATFORM(COCOA)539 #define USE_COREMEDIA 1540 #endif541 542 #if PLATFORM(COCOA)543 #define USE_VIDEOTOOLBOX 1544 #endif545 546 #if PLATFORM(COCOA)547 282 #define HAVE_AVFOUNDATION_VIDEO_OUTPUT 1 548 283 #endif … … 570 305 #if PLATFORM(COCOA) 571 306 #define HAVE_AVFOUNDATION_LOADER_DELEGATE 1 572 #endif573 574 #if !PLATFORM(WIN)575 #define USE_REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR 1576 307 #endif 577 308 … … 584 315 #endif 585 316 586 #if PLATFORM(MAC)587 #define USE_COREAUDIO 1588 #endif589 590 #if !defined(USE_ZLIB)591 #define USE_ZLIB 1592 #endif593 594 317 #if !defined(HAVE_QOS_CLASSES) && PLATFORM(COCOA) 595 318 #define HAVE_QOS_CLASSES 1 … … 600 323 #endif 601 324 602 #define USE_GRAMMAR_CHECKING 1603 604 #if PLATFORM(COCOA) || PLATFORM(GTK)605 #define USE_UNIFIED_TEXT_CHECKING 1606 #endif607 608 #if PLATFORM(MAC)609 #define USE_AUTOMATIC_TEXT_REPLACEMENT 1610 #endif611 612 #if PLATFORM(MAC)613 /* Some platforms provide UI for suggesting autocorrection. */614 #define USE_AUTOCORRECTION_PANEL 1615 #endif616 617 #if PLATFORM(COCOA)618 /* 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. */619 #define USE_MARKER_REMOVAL_UPON_EDITING 1620 #endif621 622 #if PLATFORM(MAC)623 #define USE_INSERTION_UNDO_GROUPING 1624 #endif625 626 325 #if PLATFORM(COCOA) 627 326 #define HAVE_AVASSETREADER 1 628 #endif629 630 #if PLATFORM(COCOA)631 #define USE_AUDIO_SESSION 1632 327 #endif 633 328 … … 644 339 #endif 645 340 646 #if COMPILER(MSVC)647 #undef __STDC_FORMAT_MACROS648 #define __STDC_FORMAT_MACROS649 #undef __STDC_LIMIT_MACROS650 #define __STDC_LIMIT_MACROS651 #endif652 653 341 #if PLATFORM(MAC) 654 342 #define HAVE_NS_ACTIVITY 1 655 343 #endif 656 344 657 658 /* Set TARGET_OS_IPHONE to 0 by default to allow using it as a guard659 * in cross-platform the same way as it is used in OS(DARWIN) code. */660 #if !defined(TARGET_OS_IPHONE) && !OS(DARWIN)661 #define TARGET_OS_IPHONE 0662 #endif663 664 #if PLATFORM(COCOA)665 #define USE_MEDIATOOLBOX 1666 #endif667 668 #if PLATFORM(COCOA)669 #define USE_OS_LOG 1670 #endif671 672 #if PLATFORM(COCOA) && USE(APPLE_INTERNAL_SDK)673 #define USE_OS_STATE 1674 #endif675 676 345 #if PLATFORM(COCOA) 677 346 #define HAVE_SEC_TRUST_SERIALIZATION 1 678 #endif679 680 #if !defined(WTF_DEFAULT_EVENT_LOOP)681 #define WTF_DEFAULT_EVENT_LOOP 1682 #endif683 684 #if WTF_DEFAULT_EVENT_LOOP685 #if USE(GLIB)686 /* Use GLib's event loop abstraction. Primarily GTK port uses it. */687 #define USE_GLIB_EVENT_LOOP 1688 #elif OS(WINDOWS)689 /* Use Windows message pump abstraction.690 * Even if the port is AppleWin, we use the Windows message pump system for the event loop,691 * so that USE(WINDOWS_EVENT_LOOP) && USE(CF) can be true.692 * And PLATFORM(WIN) and PLATFORM(GTK) are exclusive. If the port is GTK,693 * PLATFORM(WIN) should be false. And in that case, GLib's event loop is used.694 */695 #define USE_WINDOWS_EVENT_LOOP 1696 #elif PLATFORM(COCOA)697 /* OS X and IOS. Use CoreFoundation & GCD abstraction. */698 #define USE_COCOA_EVENT_LOOP 1699 #else700 #define USE_GENERIC_EVENT_LOOP 1701 #endif702 #endif703 704 #if PLATFORM(COCOA)705 #define USE_MEDIAREMOTE 1706 #endif707 708 #if COMPILER(MSVC)709 /* Enable strict runtime stack buffer checks. */710 #pragma strict_gs_check(on)711 347 #endif 712 348 … … 715 351 #endif 716 352 717 #if PLATFORM(MAC)718 #define USE_DICTATION_ALTERNATIVES 1719 #endif720 721 722 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || USE(GCRYPT)723 #define HAVE_RSA_PSS 1724 #endif725 726 #if (PLATFORM(MAC) && USE(APPLE_INTERNAL_SDK) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)727 #define USE_SOURCE_APPLICATION_AUDIT_DATA 1728 #endif729 730 353 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) 731 354 #define HAVE_HSTS_STORAGE_PATH 1 … … 746 369 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST) 747 370 #define HAVE_SEC_KEY_PROXY 1 748 #endif749 750 #if PLATFORM(COCOA) && USE(CA)751 #define USE_IOSURFACE_CANVAS_BACKING_STORE 1752 371 #endif 753 372 … … 768 387 #if PLATFORM(COCOA) 769 388 #define HAVE_CFNETWORK_WITH_CONTENT_ENCODING_SNIFFING_OVERRIDE 1 770 /* The override isn't needed on iOS family, as the default behavior is to not sniff. */771 /* FIXME: This should probably be enabled on 10.13.2 and newer, not just 10.14 and newer. */772 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400773 #define USE_CFNETWORK_CONTENT_ENCODING_SNIFFING_OVERRIDE 1774 #endif775 389 #endif 776 390 … … 789 403 #ifdef __APPLE__ 790 404 #define HAVE_FUNC_USLEEP 1 791 #endif792 793 #if PLATFORM(MAC) || PLATFORM(WPE)794 /* FIXME: This really needs a descriptive name, this "new theme" was added in 2008. */795 #define USE_NEW_THEME 1796 405 #endif 797 406 … … 913 522 #endif 914 523 915 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101500916 #define USE_REALPATH_FOR_DLOPEN_PREFLIGHT 1917 #endif918 919 524 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) 920 525 #define HAVE_NSURLSESSION_WEBSOCKET 1 … … 945 550 #endif 946 551 947 #if PLATFORM(IOS) || PLATFORM(MACCATALYST)948 #define USE_UICONTEXTMENU 1949 #endif950 951 552 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500 952 553 #define HAVE_SUBVIEWS_IVAR_SPI 1 … … 957 558 #endif 958 559 959 #if PLATFORM(MAC) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 110000) || PLATFORM(WATCHOS) || PLATFORM(APPLETV)960 #define USE_PLATFORM_SYSTEM_FALLBACK_LIST 1961 #endif962 963 560 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500 964 561 #define HAVE_AX_CLIENT_TYPE 1 … … 981 578 #endif 982 579 983 #if PLATFORM(IOS_FAMILY) || (!(defined(USE_SYSTEM_MALLOC) && USE_SYSTEM_MALLOC) && (OS(LINUX) && (PLATFORM(GTK) || PLATFORM(WPE))))984 #define USE_BMALLOC_MEMORY_FOOTPRINT_API 1985 #endif986 987 580 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY) 988 581 #define HAVE_OS_SIGNPOST 1 989 582 #endif 990 991 992 993 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/AdditionalPlatform.h>)994 #include <WebKitAdditions/AdditionalPlatform.h>995 #endif996 997 #if USE(APPLE_INTERNAL_SDK) && __has_include(<WebKitAdditions/AdditionalFeatureDefines.h>)998 #include <WebKitAdditions/AdditionalFeatureDefines.h>999 #endif1000 1001 /* __PLATFORM_INDIRECT__ ensures that users #include <wtf/Platform.h> rather than wtf/FeatureDefines.h directly. */1002 #define __PLATFORM_INDIRECT__1003 1004 /* Include feature macros */1005 #include <wtf/PlatformEnable.h>1006 1007 #undef __PLATFORM_INDIRECT__1008 1009 1010 1011 /* FIXME: The following are currenly positioned at the bottom of this file as they are currently dependent on ENABLE macros. */1012 1013 /* FIXME: Remove dependence on ENABLE(WEB_RTC). */1014 #if PLATFORM(COCOA) && ENABLE(WEB_RTC)1015 #define USE_LIBWEBRTC 11016 #endif1017 1018 /* FIXME: This is used to "turn on a specific feature of WebKit", so should be converted to an ENABLE macro. */1019 /* This feature works by embedding the OpcodeID in the 32 bit just before the generated LLint code1020 that executes each opcode. It cannot be supported by the CLoop since there's no way to embed the1021 OpcodeID word in the CLoop's switch statement cases. It is also currently not implemented for MSVC.1022 */1023 #if !defined(USE_LLINT_EMBEDDED_OPCODE_ID) && !ENABLE(C_LOOP) && !COMPILER(MSVC) && \1024 (CPU(X86) || CPU(X86_64) || CPU(ARM64) || (CPU(ARM_THUMB2) && OS(DARWIN)))1025 #define USE_LLINT_EMBEDDED_OPCODE_ID 11026 #endif1027 1028 1029 #if PLATFORM(COCOA)1030 #if ENABLE(WEBGL)1031 1032 /* USE_ANGLE=1 uses ANGLE for the WebGL backend.1033 It replaces USE_OPENGL, USE_OPENGL_ES and USE_EGL. */1034 #if PLATFORM(MAC) || (PLATFORM(MACCATALYST) && __has_include(<OpenGL/OpenGL.h>))1035 #define USE_OPENGL 11036 #define USE_OPENGL_ES 01037 #define USE_ANGLE 01038 #else1039 #define USE_OPENGL 01040 #define USE_OPENGL_ES 11041 #define USE_ANGLE 01042 #endif1043 1044 #ifndef GL_SILENCE_DEPRECATION1045 #define GL_SILENCE_DEPRECATION 11046 #endif1047 1048 #if USE(OPENGL) && !defined(HAVE_OPENGL_4)1049 #define HAVE_OPENGL_4 11050 #endif1051 1052 #if USE(OPENGL_ES) && !defined(HAVE_OPENGL_ES_3)1053 #define HAVE_OPENGL_ES_3 11054 #endif1055 1056 #if USE_ANGLE && (USE_OPENGL || USE_OPENGL_ES)1057 #error USE_ANGLE is incompatible with USE_OPENGL and USE_OPENGL_ES1058 #endif1059 1060 #endif /* ENABLE(WEBGL) */1061 #endif /* PLATFORM(COCOA) */1062 1063 #if ENABLE(WEBGL)1064 #if !defined(USE_ANGLE)1065 #define USE_ANGLE 01066 #endif1067 1068 #if (USE_ANGLE && (USE_OPENGL || USE_OPENGL_ES || (defined(USE_EGL) && USE_EGL))) && !USE(TEXTURE_MAPPER)1069 #error USE_ANGLE is incompatible with USE_OPENGL, USE_OPENGL_ES and USE_EGL1070 #endif1071 #endif1072 1073 #if USE(TEXTURE_MAPPER) && ENABLE(GRAPHICS_CONTEXT_GL) && !defined(USE_TEXTURE_MAPPER_GL)1074 #define USE_TEXTURE_MAPPER_GL 11075 #endif1076 1077 /* FIXME: This is used to "turn on a specific feature of WebKit", so should be converted to an ENABLE macro. */1078 #if PLATFORM(COCOA) && ENABLE(ACCESSIBILITY)1079 #define USE_ACCESSIBILITY_CONTEXT_MENUS 11080 #endif1081 1082 1083 /* FIXME: These calling convention macros should move to their own file. They are at the bottom currently because they depend on FeatureDefines.h */1084 1085 #if CPU(X86) && COMPILER(MSVC)1086 #define JSC_HOST_CALL __fastcall1087 #elif CPU(X86) && COMPILER(GCC_COMPATIBLE)1088 #define JSC_HOST_CALL __attribute__ ((fastcall))1089 #else1090 #define JSC_HOST_CALL1091 #endif1092 1093 #if CPU(X86) && OS(WINDOWS)1094 #define CALLING_CONVENTION_IS_STDCALL 11095 #ifndef CDECL1096 #if COMPILER(MSVC)1097 #define CDECL __cdecl1098 #else1099 #define CDECL __attribute__ ((__cdecl))1100 #endif1101 #endif1102 #else1103 #define CALLING_CONVENTION_IS_STDCALL 01104 #endif1105 1106 #if CPU(X86)1107 #define WTF_COMPILER_SUPPORTS_FASTCALL_CALLING_CONVENTION 11108 #ifndef FASTCALL1109 #if COMPILER(MSVC)1110 #define FASTCALL __fastcall1111 #else1112 #define FASTCALL __attribute__ ((fastcall))1113 #endif1114 #endif1115 #else1116 #define WTF_COMPILER_SUPPORTS_FASTCALL_CALLING_CONVENTION 01117 #endif1118 1119 #if ENABLE(JIT) && CALLING_CONVENTION_IS_STDCALL1120 #define JIT_OPERATION CDECL1121 #else1122 #define JIT_OPERATION1123 #endif
Note: See TracChangeset
for help on using the changeset viewer.