-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
281 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
277 changes: 277 additions & 0 deletions
277
Sources/OpenSwiftUIShims/include/OpenSwiftUITargetConditionals.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,277 @@ | ||
// 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 TARGET_OS_WINDOWS | ||
#define OPENSWIFTUI_TARGET_OS_MAC TARGET_OS_DARWIN | ||
#define OPENSWIFTUI_TARGET_OS_OSX TARGET_OS_DARWIN | ||
|
||
// iOS, watchOS, and tvOS are not supported | ||
#define OPENSWIFTUI_TARGET_OS_IPHONE 0 | ||
#define OPENSWIFTUI_TARGET_OS_IOS 0 | ||
#define OPENSWIFTUI_TARGET_OS_WATCH 0 | ||
#define OPENSWIFTUI_TARGET_OS_TV 0 | ||
|
||
#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__ */ |