1 //LSB (Linux Standard Base) compiler 2 //only support lsbc++ 3 #if defined (__LSB_VERSION__) 4 #if !defined (__cplusplus) 5 COMPILER_LSB 6 #else 7 #error "OpenBLAS only supports lsbcc." 8 #endif 9 #endif 10 11 #if defined(__clang__) 12 COMPILER_CLANG 13 #endif 14 15 #if defined(__PGI) || defined(__PGIC__) 16 COMPILER_PGI 17 #endif 18 19 #if defined(__PATHSCALE__) || defined(__PATHCC__) 20 COMPILER_PATHSCALE 21 #endif 22 23 #if defined(__INTEL_COMPILER) || defined(__ICC) || defined(__ECC) 24 COMPILER_INTEL 25 #endif 26 27 #if defined(__OPENCC__) 28 COMPILER_OPEN64 29 #endif 30 31 #if defined(__SUNPRO_C) 32 COMPILER_SUN 33 #endif 34 35 #if defined(__IBMC__) || defined(__xlc__) 36 COMPILER_IBM 37 #endif 38 39 #if defined(__DECCC__) 40 COMPILER_DEC 41 #endif 42 43 #if defined(__GNUC__) 44 COMPILER_GNU 45 #endif 46 47 #if defined(__ANDROID__) 48 OS_ANDROID 49 #endif 50 51 #if defined(__linux__) 52 OS_LINUX 53 #endif 54 55 #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__) || defined(__DragonFly__) 56 OS_FREEBSD 57 #endif 58 59 #if defined(__NetBSD__) 60 OS_NETBSD 61 #endif 62 63 #if defined(__OpenBSD__) 64 OS_OPENBSD 65 #endif 66 67 #if defined(__DragonFly__) 68 OS_DRAGONFLY 69 #endif 70 71 #if defined(__sun) 72 OS_SUNOS 73 #endif 74 75 #if defined(__APPLE__) 76 OS_DARWIN 77 #endif 78 79 #if defined(_AIX) 80 OS_AIX 81 #endif 82 83 #if defined(__OSF) 84 OS_OSF 85 #endif 86 87 #if defined(__WIN32) || defined(__WIN64) || defined(_WIN32) || defined(_WIN64) || defined(__WINNT) 88 OS_WINNT 89 #endif 90 91 #if defined(__CYGWIN__) 92 OS_CYGWIN_NT 93 #endif 94 95 #if defined(__INTERIX) 96 OS_INTERIX 97 #endif 98 99 #if defined(__gnu_hurd__) 100 /* Hurd is very similar to GNU/Linux, it should work out of the box */ 101 OS_LINUX 102 #endif 103 104 #if defined(__HAIKU__) 105 OS_HAIKU 106 #endif 107 108 #if defined(__i386) || defined(_X86) 109 ARCH_X86 110 #endif 111 112 #if defined(__x86_64__) || defined(__amd64__) 113 ARCH_X86_64 114 #endif 115 116 #if defined(__powerpc___) || defined(__PPC__) || defined(_POWER) || defined(__POWERPC__) 117 ARCH_POWER 118 #endif 119 120 #if defined(__s390x__) || defined(__zarch__) 121 ARCH_ZARCH 122 #endif 123 124 #ifdef __mips64 125 ARCH_MIPS64 126 #endif 127 128 #if defined(__mips32) || defined(__mips) 129 ARCH_MIPS 130 #endif 131 132 #ifdef __alpha 133 ARCH_ALPHA 134 #endif 135 136 #if defined(__sparc) || defined(__sparc__) 137 ARCH_SPARC 138 #endif 139 140 #if defined(__ia64__) || defined(__ia64) 141 ARCH_IA64 142 #endif 143 144 #if defined(__LP64) || defined(__LP64__) || defined(__ptr64) || defined(__x86_64__) || defined(__amd64__) || defined(__64BIT__) || defined(__aarch64__) 145 BINARY_64 146 #endif 147 148 #if defined(__ARM_ARCH) || defined(__ARM_ARCH_7A__) || defined(__arm__) 149 ARCH_ARM 150 #endif 151 152 #if defined(__aarch64__) 153 ARCH_ARM64 154 #endif 155 156 #if defined(__riscv) 157 ARCH_RISCV64 158 #endif 159 160 #ifdef __loongarch64 161 ARCH_LOONGARCH64 162 #endif 163 164 #if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L) 165 HAVE_C11 166 #endif 167 168