Switchboard Extension SDK
Loading...
Searching...
No Matches
Platform.hpp
1
#pragma once
2
3
/*********
4
* APPLE *
5
********/
6
7
#if __APPLE__
8
#include <TargetConditionals.h>
9
#define SWITCHBOARD_APPLE 1
10
11
#if TARGET_OS_IOS
12
#define SWITCHBOARD_IOS 1
13
#define SWITCHBOARD_PLATFORM "ios"
14
#if TARGET_OS_SIMULATOR
15
// iOS, tvOS, or watchOS Simulator
16
#define SWITCHBOARD_IPHONE_SIMULATOR 1
17
#else
18
// iOS, tvOS, or watchOS device
19
#define SWITCHBOARD_IPHONE 1
20
#endif
21
#elif TARGET_OS_MACCATALYST
22
// Mac's Catalyst (ports iOS API into Mac, like UIKit).
23
#define SWITCHBOARD_MACCATALYST 1
24
#define SWITCHBOARD_PLATFORM "maccatalyst"
25
#elif TARGET_OS_OSX
26
#define SWITCHBOARD_MAC 1
27
#define SWITCHBOARD_PLATFORM "macos"
28
#elif TARGET_OS_WATCH
29
#define SWITCHBOARD_WATCHOS 1
30
#define SWITCHBOARD_IOS 1
31
#define SWITCHBOARD_PLATFORM "watchos"
32
#endif
33
34
// Apple-specific defines
35
#if defined(SWITCHBOARD_APPLE)
36
#if defined(__arm__) || defined(__arm64__)
37
#define SWITCHBOARD_ARM 1
38
#else
39
#define SWITCHBOARD_INTEL 1
40
#endif
41
42
#if defined(SWITCHBOARD_IOS)
43
#define USE_ACCELERATE
44
#define APPLE_DECODER_AVAILABLE
45
#endif
46
#endif
47
48
/***********
49
* ANDROID *
50
**********/
51
52
#elif defined(__ANDROID__)
53
#define SWITCHBOARD_ANDROID 1
54
#define SWITCHBOARD_PLATFORM "android"
55
56
// Android-specific defines
57
#if defined(SWITCHBOARD_ANDROID)
58
59
#if defined(__arm__) || defined(__arm64__) || defined(__aarch64__)
60
#define SWITCHBOARD_ARM 1
61
#elif __MMX__ || __SSE__ || __amd64__
62
#define SWITCHBOARD_INTEL 1
63
#endif
64
65
#define USE_NEON
66
#endif
67
68
/***********
69
* WINDOWS *
70
**********/
71
72
#elif defined(WIN32) || defined(_WIN32) || defined(__WIN32__) || defined(__NT__)
73
#define SWITCHBOARD_WINDOWS 1
74
#define SWITCHBOARD_PLATFORM "windows"
75
76
// Windows-specific defines
77
#if defined(SWITCHBOARD_WINDOWS)
78
#if defined(__arm__) || defined(__aarch64__) || defined(_M_ARM) || defined(_M_ARM64)
79
#define SWITCHBOARD_ARM 1
80
#else
81
#define SWITCHBOARD_INTEL 1
82
#endif
83
#endif
84
85
/*********
86
* LINUX *
87
********/
88
89
#elif defined(OS_LINUX) || defined(__linux__)
90
#define SWITCHBOARD_LINUX 1
91
#define SWITCHBOARD_PLATFORM "linux"
92
93
// Linux-specific defines
94
#if defined(SWITCHBOARD_LINUX)
95
#if defined(__arm__) || defined(__arm64__) || defined(__aarch64__)
96
#define SWITCHBOARD_ARM 1
97
#elif __MMX__ || __SSE__ || __amd64__
98
#define SWITCHBOARD_INTEL 1
99
#endif
100
#endif
101
102
/*******
103
* WEB *
104
******/
105
106
107
#elif defined(PLATFORM_WEB) || defined(__wasm__)
108
#define SWITCHBOARD_WEB 1
109
#define SWITCHBOARD_PLATFORM "web"
110
111
/************
112
* EMBEDDED *
113
***********/
114
115
#elif defined(PLATFORM_EMBEDDED)
116
#define SWITCHBOARD_EMBEDDED 1
117
#define SWITCHBOARD_PLATFORM "embedded"
118
119
/************
120
* UNKNOWN *
121
***********/
122
#else
123
#error "Unsupported platform"
124
#endif
125
126
SwitchboardSDK
include
switchboard_core
Platform.hpp
Generated by
1.14.0