Vanilla.PDF  1.8.0
Cross-platform toolkit for creating and modifying PDF documents
c_platform.h
Go to the documentation of this file.
1#ifndef _C_PLATFORM_H
2#define _C_PLATFORM_H
3
9#if defined(_MSC_VER)
10 #define COMPILER_MICROSOFT_VISUAL_STUDIO
11
12 #ifdef _M_X86
13 #define PROCESSOR_X86
14 #endif
15#endif /* _MSC_VER */
16
17// Check windows
18#if defined(_WIN64)
19 #define ENVIRONMENT_64_BIT
20#endif /* _WIN64 */
21
22// Check GCC
23#if defined(__GNUC__) && !defined(__clang__)
24 #define COMPILER_GCC
25
26 #ifdef __i386__
27 #define PROCESSOR_X86
28 #endif
29
30 #if (__x86_64__ || __ppc64__ || __aarch64__)
31 #define ENVIRONMENT_64_BIT
32 #endif /* __x86_64__ || __ppc64__ || __aarch64__ */
33#endif /* defined(__GNUC__) && !defined(__clang__) */
34
35// Check clang
36#if defined(__clang__)
37 #define COMPILER_CLANG
38
39 #ifdef __i386__
40 #define PROCESSOR_X86
41 #endif
42
43 #if (__x86_64__ || __ppc64__ || __aarch64__)
44 #define ENVIRONMENT_64_BIT
45 #endif /* __x86_64__ || __ppc64__ || __aarch64__ */
46#endif /* defined(__clang__) */
47
48#if !defined(ENVIRONMENT_64_BIT)
49 #define ENVIRONMENT_32_BIT
50#endif /* ENVIRONMENT_64_BIT */
51
52#endif /* _C_PLATFORM_H */