WebCore: Guard uneven corners in rounded rectangles
[WebKit-https.git] / Source / WTF / wtf / PlatformHave.h
1 /*
2  * Copyright (C) 2006-2020 Apple Inc. All rights reserved.
3  * Copyright (C) 2007-2009 Torch Mobile, Inc.
4  * Copyright (C) 2010, 2011 Research In Motion Limited. All rights reserved.
5  *
6  * Redistribution and use in source and binary forms, with or without
7  * modification, are permitted provided that the following conditions
8  * are met:
9  * 1. Redistributions of source code must retain the above copyright
10  *    notice, this list of conditions and the following disclaimer.
11  * 2. Redistributions in binary form must reproduce the above copyright
12  *    notice, this list of conditions and the following disclaimer in the
13  *    documentation and/or other materials provided with the distribution.
14  *
15  * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
16  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
18  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
19  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
20  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
21  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
22  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
23  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26  */
27
28 #pragma once
29
30 #ifndef WTF_PLATFORM_GUARD_AGAINST_INDIRECT_INCLUSION
31 #error "Please #include <wtf/Platform.h> instead of this file directly."
32 #endif
33
34
35 /* HAVE() - specific system features (headers, functions or similar) that are present or not */
36 #define HAVE(WTF_FEATURE) (defined HAVE_##WTF_FEATURE && HAVE_##WTF_FEATURE)
37
38
39 #if defined(HAVE_FEATURES_H) && HAVE_FEATURES_H
40 /* If the included features.h is glibc's one, __GLIBC__ is defined. */
41 #include <features.h>
42 #endif
43
44
45 #if CPU(ARM_NEON)
46 /* All NEON intrinsics usage can be disabled by this macro. */
47 #define HAVE_ARM_NEON_INTRINSICS 1
48 #endif
49
50 /* FIXME: This should be renamed to WTF_CPU_ARM_IDIV_INSTRUCTIONS and moved to CPU.h */
51 #if defined(__ARM_ARCH_EXT_IDIV__) || CPU(APPLE_ARMV7S)
52 #define HAVE_ARM_IDIV_INSTRUCTIONS 1
53 #endif
54
55 #if PLATFORM(COCOA)
56 #define HAVE_OUT_OF_PROCESS_LAYER_HOSTING 1
57 #endif
58
59 #if PLATFORM(MAC)
60 #define HAVE_RUNLOOP_TIMER 1
61 #endif
62
63 #if PLATFORM(MAC)
64 #define HAVE_SEC_KEYCHAIN 1
65 #endif
66
67 #if PLATFORM(MAC)
68 #define HAVE_HISERVICES 1
69 #endif
70
71 #if PLATFORM(MAC) || PLATFORM(IOS_FAMILY)
72 #define HAVE_NETWORK_EXTENSION 1
73 #endif
74
75 #if PLATFORM(IOS_FAMILY)
76 #define HAVE_READLINE 1
77 #endif
78
79 #if PLATFORM(IOS_FAMILY) && CPU(ARM_NEON)
80 #undef HAVE_ARM_NEON_INTRINSICS
81 #define HAVE_ARM_NEON_INTRINSICS 0
82 #endif
83
84 #if !defined(HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING) && PLATFORM(IOS)
85 #define HAVE_PDFHOSTVIEWCONTROLLER_SNAPSHOTTING 1
86 #endif
87
88 #if !defined(HAVE_VISIBILITY_PROPAGATION_VIEW) && PLATFORM(IOS_FAMILY)
89 #define HAVE_VISIBILITY_PROPAGATION_VIEW 1
90 #endif
91
92 #if !defined(HAVE_UISCENE) && PLATFORM(IOS_FAMILY)
93 #define HAVE_UISCENE 1
94 #endif
95
96 #if !defined(HAVE_AVSTREAMSESSION) && PLATFORM(MAC)
97 #define HAVE_AVSTREAMSESSION 1
98 #endif
99
100 #if !defined(HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER) && (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))
101 #define HAVE_PASSKIT_BOUND_INTERFACE_IDENTIFIER 1
102 #endif
103
104 #if !defined(USE_UIKIT_KEYBOARD_ADDITIONS) && (PLATFORM(IOS) || PLATFORM(MACCATALYST))
105 #define USE_UIKIT_KEYBOARD_ADDITIONS 1
106 #endif
107
108 #if !defined(HAVE_ACCESSIBILITY) && (PLATFORM(COCOA) || PLATFORM(WIN) || PLATFORM(GTK) || PLATFORM(WPE))
109 #define HAVE_ACCESSIBILITY 1
110 #endif
111
112 /* FIXME: Remove after CMake build enabled on Darwin */
113 #if OS(DARWIN)
114 #define HAVE_ERRNO_H 1
115 #endif
116
117 #if OS(DARWIN)
118 #define HAVE_LANGINFO_H 1
119 #endif
120
121 #if OS(DARWIN)
122 #define HAVE_LOCALTIME_R 1
123 #endif
124
125 #if OS(DARWIN)
126 #define HAVE_MMAP 1
127 #endif
128
129 #if OS(DARWIN)
130 #define HAVE_REGEX_H 1
131 #endif
132
133 #if OS(DARWIN)
134 #define HAVE_SIGNAL_H 1
135 #endif
136
137 #if OS(DARWIN)
138 #define HAVE_STAT_BIRTHTIME 1
139 #endif
140
141 #if OS(DARWIN)
142 #define HAVE_STRINGS_H 1
143 #endif
144
145 #if OS(DARWIN)
146 #define HAVE_STRNSTR 1
147 #endif
148
149 #if OS(DARWIN)
150 #define HAVE_SYS_PARAM_H 1
151 #endif
152
153 #if OS(DARWIN)
154 #define HAVE_SYS_TIME_H 1
155 #endif
156
157 #if OS(DARWIN)
158 #define HAVE_TM_GMTOFF 1
159 #endif
160
161 #if OS(DARWIN)
162 #define HAVE_TM_ZONE 1
163 #endif
164
165 #if OS(DARWIN)
166 #define HAVE_TIMEGM 1
167 #endif
168
169 #if OS(DARWIN)
170 #define HAVE_PTHREAD_MAIN_NP 1
171 #endif
172
173 #if OS(DARWIN) && (CPU(X86_64) || CPU(ARM64))
174 #define HAVE_INT128_T 1
175 #endif
176
177 #if OS(UNIX) && !OS(FUCHSIA)
178 #define HAVE_RESOURCE_H 1
179 #endif
180
181 #if OS(UNIX) && !OS(FUCHSIA)
182 #define HAVE_PTHREAD_SETSCHEDPARAM 1
183 #endif
184
185 #if OS(DARWIN)
186 #define HAVE_DISPATCH_H 1
187 #endif
188
189 #if OS(DARWIN)
190 #define HAVE_MADV_FREE 1
191 #endif
192
193 #if OS(DARWIN)
194 #define HAVE_MADV_FREE_REUSE 1
195 #endif
196
197 #if OS(DARWIN)
198 #define HAVE_MADV_DONTNEED 1
199 #endif
200
201 #if OS(DARWIN)
202 #define HAVE_PTHREAD_SETNAME_NP 1
203 #endif
204
205 #if OS(DARWIN)
206 #define HAVE_READLINE 1
207 #endif
208
209 #if OS(DARWIN)
210 #define HAVE_SYS_TIMEB_H 1
211 #endif
212
213 #if OS(DARWIN)
214 #define HAVE_AUDIT_TOKEN 1
215 #endif
216
217 #if OS(DARWIN) && __has_include(<mach/mach_exc.defs>) && !PLATFORM(GTK)
218 #define HAVE_MACH_EXCEPTIONS 1
219 #endif
220
221 #if OS(DARWIN) && !PLATFORM(IOS_FAMILY)
222 #define HAVE_HOSTED_CORE_ANIMATION 1
223 #endif
224
225 #if OS(DARWIN) || OS(FUCHSIA) || ((OS(FREEBSD) || defined(__GLIBC__) || defined(__BIONIC__)) && (CPU(X86) || CPU(X86_64) || CPU(ARM) || CPU(ARM64) || CPU(MIPS)))
226 #define HAVE_MACHINE_CONTEXT 1
227 #endif
228
229 #if OS(DARWIN) || (OS(LINUX) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS))
230 #define HAVE_BACKTRACE 1
231 #endif
232
233 #if (OS(DARWIN) || OS(LINUX)) && PLATFORM(GTK) && defined(__GLIBC__) && !defined(__UCLIBC__) && !CPU(MIPS)
234 #define HAVE_BACKTRACE_SYMBOLS 1
235 #endif
236
237 #if OS(DARWIN) || OS(LINUX)
238 #define HAVE_DLADDR 1
239 #endif
240
241 #if __has_include(<System/pthread_machdep.h>)
242 #define HAVE_FAST_TLS 1
243 #endif
244
245 #if COMPILER(GCC_COMPATIBLE)
246 #define HAVE_COMPUTED_GOTO 1
247 #endif
248
249 #if CPU(ARM64E) && OS(DARWIN)
250 #define HAVE_FJCVTZS_INSTRUCTION 1
251 #endif
252
253 #if PLATFORM(IOS)
254 #define HAVE_APP_LINKS 1
255 #endif
256
257 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
258 #define HAVE_CELESTIAL 1
259 #endif
260
261 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
262 #define HAVE_CORE_ANIMATION_RENDER_SERVER 1
263 #endif
264
265 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST) && !PLATFORM(APPLETV)
266 #define HAVE_PARENTAL_CONTROLS_WITH_UNBLOCK_HANDLER 1
267 #endif
268
269 /* FIXME: Enable HAVE_PARENTAL_CONTROLS for watchOS Simulator once rdar://problem/54608386 is resolved */
270 #if PLATFORM(COCOA) && (!PLATFORM(APPLETV) && (!PLATFORM(WATCHOS) || !PLATFORM(IOS_FAMILY_SIMULATOR)))
271 #define HAVE_PARENTAL_CONTROLS 1
272 #endif
273
274 #if PLATFORM(COCOA) && !PLATFORM(APPLETV)
275 #define HAVE_AVKIT 1
276 #endif
277
278 #if PLATFORM(COCOA)
279 #define HAVE_CORE_VIDEO 1
280 #endif
281
282 #if PLATFORM(COCOA)
283 #define HAVE_MEDIA_PLAYER 1
284 #endif
285
286 #if PLATFORM(COCOA)
287 #define HAVE_AVFOUNDATION_LEGIBLE_OUTPUT_SUPPORT 1
288 #endif
289
290 #if PLATFORM(COCOA)
291 #define HAVE_MEDIA_ACCESSIBILITY_FRAMEWORK 1
292 #endif
293
294 #if PLATFORM(COCOA)
295 #define HAVE_AVFOUNDATION_LOADER_DELEGATE 1
296 #endif
297
298 #if PLATFORM(MAC) || PLATFORM(MACCATALYST)
299 #define HAVE_APPLE_GRAPHICS_CONTROL 1
300 #endif
301
302 #if PLATFORM(MAC) || PLATFORM(MACCATALYST)
303 #define HAVE_NSCURSOR 1
304 #endif
305
306 #if !defined(HAVE_QOS_CLASSES) && PLATFORM(COCOA)
307 #define HAVE_QOS_CLASSES 1
308 #endif
309
310 #if !defined(HAVE_VOUCHERS) && PLATFORM(COCOA)
311 #define HAVE_VOUCHERS 1
312 #endif
313
314 #if PLATFORM(COCOA)
315 #define HAVE_AVASSETREADER 1
316 #endif
317
318 #if PLATFORM(COCOA)
319 #define HAVE_IOSURFACE 1
320 #endif
321
322 #if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR)
323 #define HAVE_IOSURFACE_COREIMAGE_SUPPORT 1
324 #endif
325
326 #if PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR) && !PLATFORM(MACCATALYST)
327 #define HAVE_IOSURFACE_ACCELERATOR 1
328 #endif
329
330 #if PLATFORM(MAC)
331 #define HAVE_NS_ACTIVITY 1
332 #endif
333
334 #if PLATFORM(COCOA)
335 #define HAVE_SEC_TRUST_SERIALIZATION 1
336 #endif
337
338 #if PLATFORM(MAC)
339 #define HAVE_TOUCH_BAR 1
340 #endif
341
342 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
343 #define HAVE_HSTS_STORAGE_PATH 1
344 #endif
345
346 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
347 #define HAVE_URL_FORMATTING 1
348 #endif
349
350 #if !OS(WINDOWS)
351 #define HAVE_STACK_BOUNDS_FOR_NEW_THREAD 1
352 #endif
353
354 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
355 #define HAVE_AVCONTENTKEYSESSION 1
356 #endif
357
358 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST)
359 #define HAVE_SEC_KEY_PROXY 1
360 #endif
361
362 /* FIXME: Should this be enabled or IOS_FAMILY, not just IOS? */
363 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)
364 #define HAVE_FOUNDATION_WITH_SAVE_COOKIES_WITH_COMPLETION_HANDLER 1
365 #endif
366
367 /* FIXME: Should this be enabled for IOS_FAMILY, not just IOS? */
368 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS)
369 #define HAVE_FOUNDATION_WITH_SAME_SITE_COOKIE_SUPPORT 1
370 #endif
371
372 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101400
373 #define HAVE_NSHTTPCOOKIESTORAGE__INITWITHIDENTIFIER_WITH_INACCURATE_NULLABILITY 1
374 #endif
375
376 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS) || PLATFORM(MACCATALYST) || PLATFORM(GTK)
377 #define HAVE_OS_DARK_MODE_SUPPORT 1
378 #endif
379
380 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400
381 #define HAVE_CG_FONT_RENDERING_GET_FONT_SMOOTHING_DISABLED 1
382 #endif
383
384 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
385 #define HAVE_CA_WHERE_ADDITIVE_TRANSFORMS_ARE_REVERSED 1
386 #endif
387
388 #ifdef __APPLE__
389 #define HAVE_FUNC_USLEEP 1
390 #endif
391
392 #if PLATFORM(MAC)
393 #define HAVE_WINDOW_SERVER_OCCLUSION_NOTIFICATIONS 1
394 #endif
395
396 #if PLATFORM(COCOA)
397 #define HAVE_SEC_ACCESS_CONTROL 1
398 #endif
399
400 #if PLATFORM(IOS)
401 /* FIXME: SafariServices.framework exists on macOS. It is only used by WebKit on iOS, so the behavior is correct, but the name is misleading. */
402 #define HAVE_SAFARI_SERVICES_FRAMEWORK 1
403 #endif
404
405 #if PLATFORM(MAC) || PLATFORM(IOS) || PLATFORM(WATCHOS)
406 #define HAVE_SAFE_BROWSING 1
407 #endif
408
409 #if PLATFORM(IOS)
410 #define HAVE_LINK_PREVIEW 1
411 #endif
412
413 #if (PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400))
414 #define HAVE_ACCESSIBILITY_SUPPORT 1
415 #endif
416
417 #if PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 130000 && __IPHONE_OS_VERSION_MAX_ALLOWED >= 130100
418 #define HAVE_ACCESSIBILITY_BUNDLES_PATH 1
419 #endif
420
421 #if PLATFORM(IOS_FAMILY) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400)
422 #define HAVE_AUTHORIZATION_STATUS_FOR_MEDIA_TYPE 1
423 #endif
424
425 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && !(__MAC_OS_X_VERSION_MIN_REQUIRED >= 101400 && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101404))
426 #define HAVE_CFNETWORK_OVERRIDE_SESSION_COOKIE_ACCEPT_POLICY 1
427 #endif
428
429 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
430 #define HAVE_CFNETWORK_NSURLSESSION_STRICTRUSTEVALUATE 1
431 #endif
432
433 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
434 #define HAVE_CFNETWORK_NEGOTIATED_SSL_PROTOCOL_CIPHER 1
435 #endif
436
437 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101600) || (PLATFORM(IOS_FAMILY) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 140000)
438 #define HAVE_CFNETWORK_METRICS_APIS_V4 1
439 #endif
440
441 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
442 #define HAVE_CSCHECKFIXDISABLE 1
443 #endif
444
445 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
446 #define HAVE_SANDBOX_ISSUE_MACH_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1
447 #endif
448
449 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
450 #define HAVE_SANDBOX_ISSUE_READ_EXTENSION_TO_PROCESS_BY_AUDIT_TOKEN 1
451 #endif
452
453 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
454 #define HAVE_MDNS_FAST_REGISTRATION 1
455 #endif
456
457 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
458 #define HAVE_DISALLOWABLE_USER_INSTALLED_FONTS 1
459 #endif
460
461 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
462 #define HAVE_CTFONTCREATEFORCHARACTERSWITHLANGUAGEANDOPTION 1
463 #endif
464
465 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
466 #define HAVE_CTFONTTRANSFORMGLYPHSWITHLANGUAGE 1
467 #endif
468
469 #if PLATFORM(IOS) || PLATFORM(MACCATALYST)
470 #define HAVE_ARKIT_QUICK_LOOK_PREVIEW_ITEM 1
471 #endif
472
473 #if PLATFORM(IOS) || PLATFORM(MACCATALYST)
474 #define HAVE_UI_WK_DOCUMENT_CONTEXT 1
475 #endif
476
477 #if PLATFORM(MACCATALYST)
478 #define HAVE_HOVER_GESTURE_RECOGNIZER 1
479 #endif
480
481 #if PLATFORM(MACCATALYST)
482 #define HAVE_UI_PARALLAX_TRANSITION_GESTURE_RECOGNIZER 1
483 #endif
484
485 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
486 #define HAVE_ALLOWS_SENSITIVE_LOGGING 1
487 #endif
488
489 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
490 #define HAVE_FAIRPLAYSTREAMING_CENC_INITDATA 1
491 #endif
492
493 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
494 #define HAVE_UI_SCROLL_VIEW_INDICATOR_FLASHING_SPI 1
495 #endif
496
497 #if PLATFORM(IOS_FAMILY) && !PLATFORM(MACCATALYST)
498 #define HAVE_APP_LINKS_WITH_ISENABLED 1
499 #endif
500
501 #if PLATFORM(IOS)
502 #define HAVE_ROUTE_SHARING_POLICY_LONG_FORM_VIDEO 1
503 #endif
504
505 #if PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR)
506 #define HAVE_DEVICE_MANAGEMENT 1
507 #endif
508
509 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500)
510 #define HAVE_NSURLSESSION_WEBSOCKET 1
511 #endif
512
513 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) && !PLATFORM(MACCATALYST)
514 #define HAVE_AVPLAYER_RESOURCE_CONSERVATION_LEVEL 1
515 #endif
516
517 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101400) && !PLATFORM(MACCATALYST)
518 #define HAVE_CORETEXT_AUTO_OPTICAL_SIZING 1
519 #endif
520
521 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500)
522 #define HAVE_NSFONT_WITH_OPTICAL_SIZING_BUG 1
523 #endif
524
525 #if (PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500))
526 #define HAVE_APP_SSO 1
527 #endif
528
529 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500)
530 #define HAVE_TLS_PROTOCOL_VERSION_T 1
531 #endif
532
533 #if PLATFORM(IOS) || (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(WATCHOS) || PLATFORM(APPLETV) || PLATFORM(MACCATALYST)
534 #define HAVE_SEC_TRUST_EVALUATE_WITH_ERROR 1
535 #endif
536
537 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500
538 #define HAVE_SUBVIEWS_IVAR_SPI 1
539 #endif
540
541 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED < 101500
542 #define HAVE_SUBVIEWS_IVAR_DECLARED_BY_SDK 1
543 #endif
544
545 #if PLATFORM(MAC) && __MAC_OS_X_VERSION_MAX_ALLOWED >= 101500
546 #define HAVE_AX_CLIENT_TYPE 1
547 #endif
548
549 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101500) && !PLATFORM(MACCATALYST)
550 #define HAVE_DESIGN_SYSTEM_UI_FONTS 1
551 #endif
552
553 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || (PLATFORM(IOS) && !PLATFORM(IOS_SIMULATOR))
554 #define HAVE_DEVICE_IDENTITY 1
555 #endif
556
557 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || PLATFORM(IOS_FAMILY)
558 #define HAVE_DATA_PROTECTION_KEYCHAIN 1
559 #endif
560
561 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101500) || (PLATFORM(IOS_FAMILY) && !PLATFORM(IOS_FAMILY_SIMULATOR))
562 #define HAVE_NEAR_FIELD 1
563 #endif
564
565 #if (PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101400) || PLATFORM(IOS_FAMILY)
566 #define HAVE_OS_SIGNPOST 1
567 #endif
568
569 #if PLATFORM(IOS_FAMILY) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
570 #define HAVE_SYSTEM_FONT_STYLE_TITLE_0 1
571 #define HAVE_SYSTEM_FONT_STYLE_TITLE_4 1
572 #endif
573
574 #if PLATFORM(COCOA) && !(PLATFORM(MAC) && __MAC_OS_X_VERSION_MIN_REQUIRED < 101400) && !PLATFORM(WATCHOS) && !PLATFORM(APPLETV)
575 #define HAVE_CG_PATH_UNEVEN_CORNERS_ROUNDEDRECT 1
576 #endif