 |
Blender V5.0
|
Go to the documentation of this file.
65#if defined(__native_client__)
70# if defined(__native_client_nonsfi__)
71# define OS_NACL_NONSFI
79#elif defined(__APPLE__)
82# include <TargetConditionals.h>
84# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
87#elif defined(__HAIKU__)
91#elif defined(__linux__)
95# if defined(__GLIBC__) && !defined(__UCLIBC__)
103#elif defined(__Fuchsia__)
105#elif defined(__DragonFly__)
106# define OS_DRAGONFLYBSD 1
107#elif defined(__FreeBSD__)
109#elif defined(__NetBSD__)
111#elif defined(__OpenBSD__)
115#elif defined(__QNXNTO__)
117#elif defined(__asmjs__) || defined(__wasm__)
119#elif defined(__MVS__)
122# error Please add support for your platform in BLI_build_config.h
128#if !defined(OS_ASMJS)
134#if !defined(OS_NACL_NONSFI)
135# define OS_NACL_NONSFI 0
137#if !defined(OS_NACL_SFI)
138# define OS_NACL_SFI 0
140#if !defined(OS_ANDROID)
149#if !defined(OS_HAIKU)
158#if !defined(OS_LINUX)
161#if !defined(LIBC_GLIBC)
164#if !defined(OS_WINDOWS)
167#if !defined(OS_FUCHSIA)
170#if !defined(OS_DRAGONFLYBSD)
171# define OS_DRAGONFLYBSD 0
173#if !defined(OS_FREEBSD)
176#if !defined(OS_NETBSD)
179#if !defined(OS_OPENBSD)
182#if !defined(OS_SOLARIS)
199#if OS_DRAGONFLYBSD || OS_FREEBSD || OS_OPENBSD || OS_NETBSD
212#if OS_AIX || OS_ANDROID || OS_ASMJS || OS_FREEBSD || OS_LINUX || OS_MAC || OS_NACL || \
213 OS_NETBSD || OS_OPENBSD || OS_QNX || OS_SOLARIS
225#if defined(__clang__)
226# define COMPILER_CLANG 1
227#elif defined(__GNUC__)
228# define COMPILER_GCC 1
229# define COMPILER_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
230#elif defined(_MSC_VER)
231# define COMPILER_MSVC 1
232# define COMPILER_MSVC_VERSION (_MSC_VER)
233#elif defined(__MINGW32__)
234# define COMPILER_MINGW32 1
235#elif defined(__MINGW64__)
236# define COMPILER_MINGW64 1
238# error Please add support for your compiler in BLI_build_config.h
241#if !defined(COMPILER_CLANG)
242# define COMPILER_CLANG 0
244#if !defined(COMPILER_GCC)
245# define COMPILER_GCC 0
247#if !defined(COMPILER_MSVC)
248# define COMPILER_MSVC 0
250#if !defined(COMPILER_MINGW32)
251# define COMPILER_MINGW32 0
253#if !defined(COMPILER_MINGW64)
254# define COMPILER_MINGW64 0
258#if COMPILER_MINGW32 || COMPILER_MINGW64
259# define COMPILER_MINGW 1
261# define COMPILER_MINGW 0
276#if defined(_M_X64) || defined(__x86_64__)
277# define ARCH_CPU_X86_FAMILY 1
278# define ARCH_CPU_X86_64 1
279# define ARCH_CPU_64_BITS 1
280# define ARCH_CPU_LITTLE_ENDIAN 1
281#elif defined(_M_IX86) || defined(__i386__)
282# define ARCH_CPU_X86_FAMILY 1
283# define ARCH_CPU_X86 1
284# define ARCH_CPU_32_BITS 1
285# define ARCH_CPU_LITTLE_ENDIAN 1
286#elif defined(__s390x__)
287# define ARCH_CPU_S390_FAMILY 1
288# define ARCH_CPU_S390X 1
289# define ARCH_CPU_64_BITS 1
290# define ARCH_CPU_BIG_ENDIAN 1
291#elif defined(__s390__)
292# define ARCH_CPU_S390_FAMILY 1
293# define ARCH_CPU_S390 1
294# define ARCH_CPU_31_BITS 1
295# define ARCH_CPU_BIG_ENDIAN 1
296#elif (defined(__PPC64__) || defined(__PPC__)) && defined(__BIG_ENDIAN__)
297# define ARCH_CPU_PPC64_FAMILY 1
298# define ARCH_CPU_PPC64 1
299# define ARCH_CPU_64_BITS 1
300# define ARCH_CPU_BIG_ENDIAN 1
301#elif defined(__PPC64__)
302# define ARCH_CPU_PPC64_FAMILY 1
303# define ARCH_CPU_PPC64 1
304# define ARCH_CPU_64_BITS 1
305# define ARCH_CPU_LITTLE_ENDIAN 1
306#elif defined(__ARMEL__)
307# define ARCH_CPU_ARM_FAMILY 1
308# define ARCH_CPU_ARMEL 1
309# define ARCH_CPU_32_BITS 1
310# define ARCH_CPU_LITTLE_ENDIAN 1
311#elif defined(__aarch64__) || defined(_M_ARM64)
312# define ARCH_CPU_ARM_FAMILY 1
313# define ARCH_CPU_ARM64 1
314# define ARCH_CPU_64_BITS 1
315# define ARCH_CPU_LITTLE_ENDIAN 1
316#elif defined(__pnacl__) || defined(__asmjs__) || defined(__wasm__)
317# define ARCH_CPU_32_BITS 1
318# define ARCH_CPU_LITTLE_ENDIAN 1
319#elif defined(__MIPSEL__)
320# if defined(__LP64__)
321# define ARCH_CPU_MIPS_FAMILY 1
322# define ARCH_CPU_MIPS64EL 1
323# define ARCH_CPU_64_BITS 1
324# define ARCH_CPU_LITTLE_ENDIAN 1
326# define ARCH_CPU_MIPS_FAMILY 1
327# define ARCH_CPU_MIPSEL 1
328# define ARCH_CPU_32_BITS 1
329# define ARCH_CPU_LITTLE_ENDIAN 1
331#elif defined(__MIPSEB__)
332# if defined(__LP64__)
333# define ARCH_CPU_MIPS_FAMILY 1
334# define ARCH_CPU_MIPS64 1
335# define ARCH_CPU_64_BITS 1
336# define ARCH_CPU_BIG_ENDIAN 1
338# define ARCH_CPU_MIPS_FAMILY 1
339# define ARCH_CPU_MIPS 1
340# define ARCH_CPU_32_BITS 1
341# define ARCH_CPU_BIG_ENDIAN 1
343#elif defined(__riscv)
344# define ARCH_CPU_RISCV_FAMILY 1
345# if defined(__LP128__)
346# define ARCH_CPU_RISCV128 1
347# define ARCH_CPU_128_BITS 1
348# elif defined(__LP64__)
349# define ARCH_CPU_RISCV64 1
350# define ARCH_CPU_64_BITS 1
352# define ARCH_CPU_RISCV32 1
353# define ARCH_CPU_32_BITS 1
355# if (__BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__)
356# define ARCH_CPU_LITTLE_ENDIAN 1
358# define ARCH_CPU_BIG_ENDIAN 1
360#elif defined(__loongarch_lp64)
361# define ARCH_CPU_LOONG_FAMILY 1
362# define ARCH_CPU_LOONG64 1
363# define ARCH_CPU_64_BITS 1
364# define ARCH_CPU_LITTLE_ENDIAN 1
366# error Please add support for your architecture in BLI_build_config.h
369#if !defined(ARCH_CPU_LITTLE_ENDIAN)
370# define ARCH_CPU_LITTLE_ENDIAN 0
372#if !defined(ARCH_CPU_BIG_ENDIAN)
373# define ARCH_CPU_BIG_ENDIAN 0
376#if !defined(ARCH_CPU_31_BITS)
377# define ARCH_CPU_31_BITS 0
379#if !defined(ARCH_CPU_32_BITS)
380# define ARCH_CPU_32_BITS 0
382#if !defined(ARCH_CPU_64_BITS)
383# define ARCH_CPU_64_BITS 0
385#if !defined(ARCH_CPU_128_BITS)
386# define ARCH_CPU_128_BITS 0
389#if !defined(ARCH_CPU_X86_FAMILY)
390# define ARCH_CPU_X86_FAMILY 0
392#if !defined(ARCH_CPU_ARM_FAMILY)
393# define ARCH_CPU_ARM_FAMILY 0
395#if !defined(ARCH_CPU_MIPS_FAMILY)
396# define ARCH_CPU_MIPS_FAMILY 0
398#if !defined(ARCH_CPU_PPC64_FAMILY)
399# define ARCH_CPU_PPC64_FAMILY 0
401#if !defined(ARCH_CPU_S390_FAMILY)
402# define ARCH_CPU_S390_FAMILY 0
404#if !defined(ARCH_CPU_RISCV_FAMILY)
405# define ARCH_CPU_RISCV_FAMILY 0
407#if !defined(ARCH_CPU_LOONG_FAMILY)
408# define ARCH_CPU_LOONG_FAMILY 0
411#if !defined(ARCH_CPU_ARM64)
412# define ARCH_CPU_ARM64 0
414#if !defined(ARCH_CPU_ARMEL)
415# define ARCH_CPU_ARMEL 0
417#if !defined(ARCH_CPU_MIPS)
418# define ARCH_CPU_MIPS 0
420#if !defined(ARCH_CPU_MIPS64)
421# define ARCH_CPU_MIPS64 0
423#if !defined(ARCH_CPU_MIPS64EL)
424# define ARCH_CPU_MIPS64EL 0
426#if !defined(ARCH_CPU_MIPSEL)
427# define ARCH_CPU_MIPSEL 0
429#if !defined(ARCH_CPU_PPC64)
430# define ARCH_CPU_PPC64 0
432#if !defined(ARCH_CPU_S390)
433# define ARCH_CPU_S390 0
435#if !defined(ARCH_CPU_S390X)
436# define ARCH_CPU_S390X 0
438#if !defined(ARCH_CPU_X86)
439# define ARCH_CPU_X86 0
441#if !defined(ARCH_CPU_X86_64)
442# define ARCH_CPU_X86_64 0
444#if !defined(ARCH_CPU_RISCV32)
445# define ARCH_CPU_RISCV32 0
447#if !defined(ARCH_CPU_RISCV64)
448# define ARCH_CPU_RISCV64 0
450#if !defined(ARCH_CPU_RISCV128)
451# define ARCH_CPU_RISCV128 0
453#if !defined(ARCH_CPU_LOONG64)
454# define ARCH_CPU_LOONG64 0