volviewer

Volumetric Data Toy Viewer
git clone anongit@rnpnr.xyz:volviewer.git
Log | Files | Refs | Feed | LICENSE

compiler.h (1165B)


      1 /* See LICENSE for license details. */
      2 #ifndef COMPILER_H
      3 #define COMPILER_H
      4 
      5 #if defined(__linux__)
      6   #define OS_LINUX   1
      7 #elif defined(_WIN32)
      8   #define OS_WINDOWS 1
      9 #else
     10   #error Unsupported Operating System
     11 #endif
     12 
     13 #ifdef __clang__
     14   #define COMPILER_CLANG 1
     15 #elif  _MSC_VER
     16   #define COMPILER_MSVC  1
     17 #elif  __GNUC__
     18   #define COMPILER_GCC   1
     19 #else
     20   #error Unsupported Compiler
     21 #endif
     22 
     23 #if COMPILER_MSVC
     24   #if defined(_M_AMD64)
     25     #define ARCH_X64   1
     26   #elif defined(_M_ARM64)
     27     #define ARCH_ARM64 1
     28   #else
     29     #error Unsupported Architecture
     30   #endif
     31 #else
     32   #if defined(__x86_64__)
     33     #define ARCH_X64   1
     34   #elif defined(__aarch64__)
     35     #define ARCH_ARM64 1
     36   #else
     37     #error Unsupported Architecture
     38   #endif
     39 #endif
     40 
     41 #if !defined(OS_WINDOWS)
     42   #define OS_WINDOWS 0
     43 #endif
     44 #if !defined(OS_LINUX)
     45   #define OS_LINUX   0
     46 #endif
     47 #if !defined(COMPILER_CLANG)
     48   #define COMPILER_CLANG 0
     49 #endif
     50 #if !defined(COMPILER_MSVC)
     51   #define COMPILER_MSVC  0
     52 #endif
     53 #if !defined(COMPILER_GCC)
     54   #define COMPILER_GCC   0
     55 #endif
     56 #if !defined(ARCH_X64)
     57   #define ARCH_X64   0
     58 #endif
     59 #if !defined(ARCH_ARM64)
     60   #define ARCH_ARM64 0
     61 #endif
     62 
     63 #endif /* COMPILER_H */