Go to the documentation of this file.
29 #ifndef JUCE_TARGETPLATFORM_H_INCLUDED
30 #define JUCE_TARGETPLATFORM_H_INCLUDED
46 #if (defined (_WIN32) || defined (_WIN64))
48 #define JUCE_WINDOWS 1
49 #elif defined (JUCE_ANDROID)
51 #define JUCE_ANDROID 1
52 #elif defined (LINUX) || defined (__linux__)
54 #elif defined (__APPLE_CPP__) || defined(__APPLE_CC__)
55 #define Point CarbonDummyPointName // (workaround to avoid definition of "Point" by old Carbon headers)
56 #define Component CarbonDummyCompName
57 #include <CoreFoundation/CoreFoundation.h>
61 #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR
67 #elif defined (__FreeBSD__)
70 #error "Unknown platform!"
97 #define JUCE_LITTLE_ENDIAN 1
103 #if JUCE_MAC || JUCE_IOS
105 #if defined (DEBUG) || defined (_DEBUG) || ! (defined (NDEBUG) || defined (_NDEBUG))
109 #if ! (defined (DEBUG) || defined (_DEBUG) || defined (NDEBUG) || defined (_NDEBUG))
110 #warning "Neither NDEBUG or DEBUG has been defined - you should set one of these to make it clear whether this is a release build,"
113 #ifdef __LITTLE_ENDIAN__
114 #define JUCE_LITTLE_ENDIAN 1
116 #define JUCE_BIG_ENDIAN 1
125 #if defined (__ppc__) || defined (__ppc64__)
127 #elif defined (__arm__) || defined (__arm64__)
133 #if JUCE_MAC && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_4
134 #error "Building for OSX 10.3 is no longer supported!"
137 #if JUCE_MAC && ! defined (MAC_OS_X_VERSION_10_5)
138 #error "To build with 10.4 compatibility, use a 10.5 or 10.6 SDK and set the deployment target to 10.4"
143 #if JUCE_LINUX || JUCE_ANDROID
150 #if defined (__LITTLE_ENDIAN__) || ! defined (JUCE_BIG_ENDIAN)
151 #define JUCE_LITTLE_ENDIAN 1
152 #undef JUCE_BIG_ENDIAN
154 #undef JUCE_LITTLE_ENDIAN
155 #define JUCE_BIG_ENDIAN 1
158 #if defined (__LP64__) || defined (_LP64) || defined (__arm64__)
164 #if defined (__arm__) || defined (__arm64__)
166 #elif __MMX__ || __SSE__ || __amd64__
177 #elif defined (__GNUC__)
179 #elif defined (_MSC_VER)
183 #define JUCE_VC8_OR_EARLIER 1
186 #define JUCE_VC7_OR_EARLIER 1
189 #warning "MSVC 6.0 is no longer supported!"
194 #if JUCE_64BIT || ! JUCE_VC7_OR_EARLIER
195 #define JUCE_USE_MSVC_INTRINSICS 1
198 #error unknown compiler
201 #endif // JUCE_TARGETPLATFORM_H_INCLUDED