// This source file is part of the Swift.org open source project // // Copyright (c) 2014 - 2015 Apple Inc. and the Swift project authors // Licensed under Apache License v2.0 with Runtime Library Exception // // See http://swift.org/LICENSE.txt for license information // See http://swift.org/CONTRIBUTORS.txt for the list of Swift project authors // /* File: OpenSwiftUITargetConditionals.h Contains: Autoconfiguration of TARGET_ conditionals for Mac OS X and iPhone Note: OpenSwiftUITargetConditionals.h in 3.4 Universal Interfaces works with all compilers. This header only recognizes compilers known to run on Mac OS X. */ #ifndef __OPENSWIFTUITARGETCONDITIONALS__ #define __OPENSWIFTUITARGETCONDITIONALS__ /**************************************************************************************************** TARGET_CPU_* These conditionals specify which microprocessor instruction set is being generated. At most one of these is true, the rest are false. TARGET_CPU_PPC - Compiler is generating PowerPC instructions for 32-bit mode TARGET_CPU_PPC64 - Compiler is generating PowerPC instructions for 64-bit mode TARGET_CPU_68K - Compiler is generating 680x0 instructions TARGET_CPU_X86 - Compiler is generating x86 instructions TARGET_CPU_ARM - Compiler is generating ARM instructions TARGET_CPU_MIPS - Compiler is generating MIPS instructions TARGET_CPU_SPARC - Compiler is generating Sparc instructions TARGET_CPU_ALPHA - Compiler is generating Dec Alpha instructions TARGET_CPU_WASM32 - Compiler is generating WebAssembly instructions for 32-bit mode TARGET_OS_* These conditionals specify in which Operating System the generated code will run. Indention is used to show which conditionals are evolutionary subclasses. The MAC/WIN32/UNIX conditionals are mutually exclusive. The IOS/TV/WATCH conditionals are mutually exclusive. TARGET_OS_WIN32 - Generated code will run under 32-bit Windows TARGET_OS_UNIX - Generated code will run under some Unix (not OSX) TARGET_OS_CYGWIN - Generated code will run under 64-bit Cygwin TARGET_OS_WASI - Generated code will run under WebAssembly System Interface TARGET_OS_MAC - Generated code will run under Mac OS X variant TARGET_OS_IPHONE - Generated code for firmware, devices, or simulator TARGET_OS_IOS - Generated code will run under iOS TARGET_OS_TV - Generated code will run under Apple TV OS TARGET_OS_WATCH - Generated code will run under Apple Watch OS TARGET_OS_SIMULATOR - Generated code will run under a simulator TARGET_OS_EMBEDDED - Generated code for firmware TARGET_IPHONE_SIMULATOR - DEPRECATED: Same as TARGET_OS_SIMULATOR TARGET_OS_NANO - DEPRECATED: Same as TARGET_OS_WATCH TARGET_RT_* These conditionals specify in which runtime the generated code will run. This is needed when the OS and CPU support more than one runtime (e.g. Mac OS X supports CFM and mach-o). TARGET_RT_LITTLE_ENDIAN - Generated code uses little endian format for integers TARGET_RT_BIG_ENDIAN - Generated code uses big endian format for integers TARGET_RT_64_BIT - Generated code uses 64-bit pointers TARGET_RT_MAC_CFM - TARGET_OS_MAC is true and CFM68K or PowerPC CFM (TVectors) are used TARGET_RT_MAC_MACHO - TARGET_OS_MAC is true and Mach-O/dlyd runtime is used ****************************************************************************************************/ #if __APPLE__ #define OPENSWIFTUI_TARGET_OS_DARWIN 1 #define OPENSWIFTUI_TARGET_OS_LINUX 0 #define OPENSWIFTUI_TARGET_OS_WINDOWS 0 #define OPENSWIFTUI_TARGET_OS_BSD 0 #define OPENSWIFTUI_TARGET_OS_ANDROID 0 #define OPENSWIFTUI_TARGET_OS_CYGWIN 0 #define OPENSWIFTUI_TARGET_OS_WASI 0 #elif __ANDROID__ #define OPENSWIFTUI_TARGET_OS_DARWIN 0 #define OPENSWIFTUI_TARGET_OS_LINUX 1 #define OPENSWIFTUI_TARGET_OS_WINDOWS 0 #define OPENSWIFTUI_TARGET_OS_BSD 0 #define OPENSWIFTUI_TARGET_OS_ANDROID 1 #define OPENSWIFTUI_TARGET_OS_CYGWIN 0 #define OPENSWIFTUI_TARGET_OS_WASI 0 #elif __linux__ #define OPENSWIFTUI_TARGET_OS_DARWIN 0 #define OPENSWIFTUI_TARGET_OS_LINUX 1 #define OPENSWIFTUI_TARGET_OS_WINDOWS 0 #define OPENSWIFTUI_TARGET_OS_BSD 0 #define OPENSWIFTUI_TARGET_OS_ANDROID 0 #define OPENSWIFTUI_TARGET_OS_CYGWIN 0 #define OPENSWIFTUI_TARGET_OS_WASI 0 #elif __CYGWIN__ #define OPENSWIFTUI_TARGET_OS_DARWIN 0 #define OPENSWIFTUI_TARGET_OS_LINUX 1 #define OPENSWIFTUI_TARGET_OS_WINDOWS 0 #define OPENSWIFTUI_TARGET_OS_BSD 0 #define OPENSWIFTUI_TARGET_OS_ANDROID 0 #define OPENSWIFTUI_TARGET_OS_CYGWIN 1 #define OPENSWIFTUI_TARGET_OS_WASI 0 #elif _WIN32 || _WIN64 #define OPENSWIFTUI_TARGET_OS_DARWIN 0 #define OPENSWIFTUI_TARGET_OS_LINUX 0 #define OPENSWIFTUI_TARGET_OS_WINDOWS 1 #define OPENSWIFTUI_TARGET_OS_BSD 0 #define OPENSWIFTUI_TARGET_OS_ANDROID 0 #define OPENSWIFTUI_TARGET_OS_CYGWIN 0 #define OPENSWIFTUI_TARGET_OS_WASI 0 #elif __unix__ #define OPENSWIFTUI_TARGET_OS_DARWIN 0 #define OPENSWIFTUI_TARGET_OS_LINUX 0 #define OPENSWIFTUI_TARGET_OS_WINDOWS 0 #define OPENSWIFTUI_TARGET_OS_BSD 1 #define OPENSWIFTUI_TARGET_OS_ANDROID 0 #define OPENSWIFTUI_TARGET_OS_CYGWIN 0 #define OPENSWIFTUI_TARGET_OS_WASI 0 #elif __wasi__ #define OPENSWIFTUI_TARGET_OS_DARWIN 0 #define OPENSWIFTUI_TARGET_OS_LINUX 0 #define OPENSWIFTUI_TARGET_OS_WINDOWS 0 #define OPENSWIFTUI_TARGET_OS_BSD 0 #define OPENSWIFTUI_TARGET_OS_ANDROID 0 #define OPENSWIFTUI_TARGET_OS_CYGWIN 0 #define OPENSWIFTUI_TARGET_OS_WASI 1 #else #error unknown operating system #endif #define OPENSWIFTUI_TARGET_OS_WIN32 OPENSWIFTUI_TARGET_OS_WINDOWS #define OPENSWIFTUI_TARGET_OS_MAC OPENSWIFTUI_TARGET_OS_DARWIN /* ark_ui_basic Addition Begin */ #if OPENSWIFTUI_TARGET_OS_DARWIN #include #define OPENSWIFTUI_TARGET_OS_OSX TARGET_OS_OSX #define OPENSWIFTUI_TARGET_OS_IPHONE TARGET_OS_IPHONE #define OPENSWIFTUI_TARGET_OS_IOS TARGET_OS_IOS #define OPENSWIFTUI_TARGET_OS_VISION TARGET_OS_VISION #define OPENSWIFTUI_TARGET_OS_WATCH TARGET_OS_WATCH #define OPENSWIFTUI_TARGET_OS_TV TARGET_OS_TV #define OPENSWIFTUI_TARGET_OS_MACCATALYST TARGET_OS_MACCATALYST #define OPENSWIFTUI_TARGET_OS_SIMULATOR TARGET_OS_SIMULATOR #else // iOS, watchOS, and tvOS are not supported #define OPENSWIFTUI_TARGET_OS_IPHONE 0 #define OPENSWIFTUI_TARGET_OS_IOS 0 #define OPENSWIFTUI_TARGET_OS_VISION 0 #define OPENSWIFTUI_TARGET_OS_WATCH 0 #define OPENSWIFTUI_TARGET_OS_TV 0 #define OPENSWIFTUI_TARGET_OS_MACCATALYST 0 #define OPENSWIFTUI_TARGET_OS_SIMULATOR 0 #endif /* ark_ui_basic Addition End */ #if __x86_64__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 1 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __arm64__ || __aarch64__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 1 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __mips64__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 1 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __powerpc64__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 1 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __i386__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 1 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __arm__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 1 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __mips__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 1 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __powerpc__ #define OPENSWIFTUI_TARGET_CPU_PPC 1 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __s390x__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 1 #define OPENSWIFTUI_TARGET_CPU_WASM32 0 #elif __wasm32__ #define OPENSWIFTUI_TARGET_CPU_PPC 0 #define OPENSWIFTUI_TARGET_CPU_PPC64 0 #define OPENSWIFTUI_TARGET_CPU_X86 0 #define OPENSWIFTUI_TARGET_CPU_X86_64 0 #define OPENSWIFTUI_TARGET_CPU_ARM 0 #define OPENSWIFTUI_TARGET_CPU_ARM64 0 #define OPENSWIFTUI_TARGET_CPU_MIPS 0 #define OPENSWIFTUI_TARGET_CPU_MIPS64 0 #define OPENSWIFTUI_TARGET_CPU_S390X 0 #define OPENSWIFTUI_TARGET_CPU_WASM32 1 #else #error unknown architecture #endif #if __LITTLE_ENDIAN__ #define OPENSWIFTUI_TARGET_RT_LITTLE_ENDIAN 1 #define OPENSWIFTUI_TARGET_RT_BIG_ENDIAN 0 #elif __BIG_ENDIAN__ #define OPENSWIFTUI_TARGET_RT_LITTLE_ENDIAN 0 #define OPENSWIFTUI_TARGET_RT_BIG_ENDIAN 1 #else #error unknown endian #endif #if __LP64__ || __LLP64__ || __POINTER_WIDTH__-0 == 64 #define OPENSWIFTUI_TARGET_RT_64_BIT 1 #else #define OPENSWIFTUI_TARGET_RT_64_BIT 0 #endif #endif /* __OPENSWIFTUITARGETCONDITIONALS__ */