1 //===----------------------------------------------------------------------===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
8 #ifndef _LIBCPP_SRC_INCLUDE_APPLE_AVAILABILITY_H
9 #define _LIBCPP_SRC_INCLUDE_APPLE_AVAILABILITY_H
11 #if defined(__APPLE__)
13 #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
14 #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101300
15 #define _LIBCPP_USE_UTIMENSAT
17 #elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
18 #if __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 110000
19 #define _LIBCPP_USE_UTIMENSAT
21 #elif defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__)
22 #if __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ >= 110000
23 #define _LIBCPP_USE_UTIMENSAT
25 #elif defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__)
26 #if __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ >= 40000
27 #define _LIBCPP_USE_UTIMENSAT
29 #endif // __ENVIRONMENT_.*_VERSION_MIN_REQUIRED__
31 #if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__)
32 #if __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ >= 101500
33 #define _LIBCPP_USE_ULOCK
35 #elif defined(__ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__)
36 #if __ENVIRONMENT_IPHONE_OS_VERSION_MIN_REQUIRED__ >= 130000
37 #define _LIBCPP_USE_ULOCK
39 #elif defined(__ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__)
40 #if __ENVIRONMENT_TV_OS_VERSION_MIN_REQUIRED__ >= 130000
41 #define _LIBCPP_USE_ULOCK
43 #elif defined(__ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__)
44 #if __ENVIRONMENT_WATCH_OS_VERSION_MIN_REQUIRED__ >= 60000
45 #define _LIBCPP_USE_ULOCK
47 #endif // __ENVIRONMENT_.*_VERSION_MIN_REQUIRED__
51 #endif // _LIBCPP_SRC_INCLUDE_APPLE_AVAILABILITY_H