123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177 |
- #pragma once
- #include <assert.h>
- #if defined(__aarch64__) && defined(__arm__)
- #error We assume both __aarch64__ and __arm__ cannot be defined at tha same time.
- #endif
- #if defined(__aarch64__)
- #define IL2CPP_TARGET_ARM64 1
- #define IL2CPP_TARGET_ARMV7 0
- #elif defined(__arm__)
- #define IL2CPP_TARGET_ARM64 0
- #define IL2CPP_TARGET_ARMV7 1
- #else
- #define IL2CPP_TARGET_ARM64 0
- #define IL2CPP_TARGET_ARMV7 0
- #endif
- #define IL2CPP_BINARY_SECTION_NAME ".il2cpp"
- #if defined(SN_TARGET_PSP2)
- #define IL2CPP_TARGET_PSP2 1
- #define _UNICODE 1
- #define UNICODE 1
- #include "il2cpp-config-psp2.h"
- #elif defined(SN_TARGET_ORBIS)
- #define IL2CPP_TARGET_PS4 1
- #define _UNICODE 1
- #define UNICODE 1
- #elif defined(_MSC_VER)
- #define IL2CPP_TARGET_WINDOWS 1
- #if defined(_XBOX_ONE)
- #define IL2CPP_TARGET_XBOXONE 1
- #elif defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP)
- #define IL2CPP_TARGET_WINRT 1
- #else
- #define IL2CPP_TARGET_WINDOWS_DESKTOP 1
- #endif
- #define _UNICODE 1
- #define UNICODE 1
- #define STRICT 1
- #elif defined(__APPLE__)
- #define IL2CPP_TARGET_DARWIN 1
- #include "TargetConditionals.h"
- #if TARGET_OS_IPHONE || TARGET_IPHONE_SIMULATOR || TARGET_TVOS_SIMULATOR
- #define IL2CPP_TARGET_IOS 1
- #endif
- #if IL2CPP_TARGET_IOS && !IL2CPP_TARGET_ARMV7
- #define IL2CPP_PLATFORM_SUPPORTS_CUSTOM_SECTIONS 1
- #endif
- #if IL2CPP_PLATFORM_SUPPORTS_CUSTOM_SECTIONS
- // The following gives managed stack traces (even with bitcode App Store submission), but may cause linker
- // errors on ARMv7 builds.
- #define IL2CPP_METHOD_ATTR __attribute__((section ("__TEXT," IL2CPP_BINARY_SECTION_NAME ",regular,pure_instructions")))
- #endif
- #elif defined(__ANDROID__)
- #define IL2CPP_TARGET_ANDROID 1
- #elif defined(EMSCRIPTEN)
- #define IL2CPP_TARGET_JAVASCRIPT 1
- #elif defined(TIZEN)
- #define IL2CPP_TARGET_TIZEN 1
- #elif defined(__linux__)
- #define IL2CPP_TARGET_LINUX 1
- #elif defined(NN_PLATFORM_CTR)
- #define IL2CPP_TARGET_N3DS 1
- #elif defined(NN_BUILD_TARGET_PLATFORM_NX)
- #define IL2CPP_TARGET_SWITCH 1
- #else
- #error please define your target platform
- #endif
- #ifndef IL2CPP_TARGET_WINDOWS
- #define IL2CPP_TARGET_WINDOWS 0
- #endif
- #ifndef IL2CPP_TARGET_WINDOWS_DESKTOP
- #define IL2CPP_TARGET_WINDOWS_DESKTOP 0
- #endif
- #ifndef IL2CPP_TARGET_WINRT
- #define IL2CPP_TARGET_WINRT 0
- #endif
- #ifndef IL2CPP_TARGET_XBOXONE
- #define IL2CPP_TARGET_XBOXONE 0
- #endif
- #ifndef IL2CPP_TARGET_DARWIN
- #define IL2CPP_TARGET_DARWIN 0
- #endif
- #ifndef IL2CPP_TARGET_IOS
- #define IL2CPP_TARGET_IOS 0
- #endif
- #ifndef IL2CPP_TARGET_ANDROID
- #define IL2CPP_TARGET_ANDROID 0
- #endif
- #ifndef IL2CPP_TARGET_JAVASCRIPT
- #define IL2CPP_TARGET_JAVASCRIPT 0
- #endif
- #ifndef IL2CPP_TARGET_TIZEN
- #define IL2CPP_TARGET_TIZEN 0
- #endif
- #ifndef IL2CPP_TARGET_LINUX
- #define IL2CPP_TARGET_LINUX 0
- #endif
- #ifndef IL2CPP_TARGET_N3DS
- #define IL2CPP_TARGET_N3DS 0
- #endif
- #ifndef IL2CPP_TARGET_PS4
- #define IL2CPP_TARGET_PS4 0
- #endif
- #ifndef IL2CPP_TARGET_PSP2
- #define IL2CPP_TARGET_PSP2 0
- #endif
- #ifndef IL2CPP_TARGET_SWITCH
- #define IL2CPP_TARGET_SWITCH 0
- #endif
- #define IL2CPP_TARGET_POSIX (IL2CPP_TARGET_DARWIN || IL2CPP_TARGET_JAVASCRIPT || IL2CPP_TARGET_LINUX || IL2CPP_TARGET_ANDROID || IL2CPP_TARGET_PS4 || IL2CPP_TARGET_PSP2 || IL2CPP_TARGET_TIZEN)
- #define IL2CPP_SUPPORT_THREADS !IL2CPP_TARGET_JAVASCRIPT
- #ifndef IL2CPP_PLATFORM_SUPPORTS_CUSTOM_SECTIONS
- #define IL2CPP_PLATFORM_SUPPORTS_CUSTOM_SECTIONS 0
- #endif
- #if IL2CPP_TARGET_WINDOWS || IL2CPP_TARGET_XBOXONE || IL2CPP_TARGET_WINRT
- #include <crtdbg.h>
- #define IL2CPP_ASSERT(expr) \
- _ASSERTE(expr)
- #else
- #define IL2CPP_ASSERT(expr) \
- assert(expr)
- #endif
- /* Trigger assert if 'ptr' is not aligned to 'alignment'. */
- #define ASSERT_ALIGNMENT(ptr, alignment) \
- IL2CPP_ASSERT((((ptrdiff_t) ptr) & (alignment - 1)) == 0 && "Unaligned pointer!")
- #if defined(_MSC_VER)
- #if defined(_M_X64)
- #define IL2CPP_SIZEOF_VOID_P 8
- #elif defined(_M_IX86) || defined(_M_ARM)
- #define IL2CPP_SIZEOF_VOID_P 4
- #else
- #error invalid windows architecture
- #endif
- #elif defined(__GNUC__) || defined(__SNC__)
- #if defined(__x86_64__)
- #define IL2CPP_SIZEOF_VOID_P 8
- #elif defined(__i386__)
- #define IL2CPP_SIZEOF_VOID_P 4
- #elif defined(EMSCRIPTEN)
- #define IL2CPP_SIZEOF_VOID_P 4
- #elif defined(__arm__)
- #define IL2CPP_SIZEOF_VOID_P 4
- #elif defined(__arm64__) || defined(__aarch64__)
- #define IL2CPP_SIZEOF_VOID_P 8
- #else
- #error invalid windows architecture
- #endif
- #else
- #error please define your target architecture size
- #endif
|