 |
Blender V4.3
|
Go to the documentation of this file.
21#ifndef LIBMV_BUILD_BUILD_CONFIG_H_
22#define LIBMV_BUILD_BUILD_CONFIG_H_
44#if defined(__native_client__)
50# if defined(__native_client_nonsfi__)
51# define OS_NACL_NONSFI
59#elif defined(__APPLE__)
63# include <TargetConditionals.h>
65# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
68#elif defined(__HAIKU__)
72#elif defined(__linux__)
76# if defined(__GLIBC__) && !defined(__UCLIBC__)
84#elif defined(__Fuchsia__)
86#elif defined(__FreeBSD__)
88#elif defined(__NetBSD__)
90#elif defined(__OpenBSD__)
94#elif defined(__QNXNTO__)
96#elif defined(__asmjs__) || defined(__wasm__)
99# error Please add support for your platform in build/build_config.h
105#if !defined(OS_ASMJS)
111#if !defined(OS_NACL_NONSFI)
112# define OS_NACL_NONSFI 0
114#if !defined(OS_NACL_SFI)
115# define OS_NACL_SFI 0
117#if !defined(OS_ANDROID)
120#if !defined(OS_MACOSX)
126#if !defined(OS_HAIKU)
135#if !defined(OS_LINUX)
138#if !defined(LIBC_GLIBC)
144#if !defined(OS_FUCHSIA)
147#if !defined(OS_FREEBSD)
150#if !defined(OS_NETBSD)
153#if !defined(OS_OPENBSD)
156#if !defined(OS_SOLARIS)
166#if defined(OS_MAC) || defined(OS_IOS)
178#if OS_FREEBSD || OS_OPENBSD || OS_NETBSD
190#if OS_AIX || OS_ANDROID || OS_ASMJS || OS_FREEBSD || OS_LINUX || OS_MACOSX || \
191 OS_NACL || OS_NETBSD || OS_OPENBSD || OS_QNX || OS_SOLARIS
200#if defined(__clang__)
201# define COMPILER_CLANG 1
202#elif defined(__GNUC__)
203# define COMPILER_GCC 1
204# define COMPILER_GCC_VERSION (__GNUC__ * 100 + __GNUC_MINOR__)
205#elif defined(_MSC_VER)
206# define COMPILER_MSVC 1
207# define COMPILER_MSVC_VERSION (_MSC_VER)
208#elif defined(__MINGW32__)
209# define COMPILER_MINGW32 1
210#elif defined(__MINGW64__)
211# define COMPILER_MINGW64 1
213# error Please add support for your compiler in build/build_config.h
216#if !defined(COMPILER_CLANG)
217# define COMPILER_CLANG 0
219#if !defined(COMPILER_GCC)
220# define COMPILER_GCC 0
222#if !defined(COMPILER_MSVC)
223# define COMPILER_MSVC 0
225#if !defined(COMPILER_MINGW32)
226# define COMPILER_MINGW32 0
228#if !defined(COMPILER_MINGW64)
229# define COMPILER_MINGW64 0
233#if COMPILER_MINGW32 || COMPILER_MINGW64
234# define COMPILER_MINGW 1
236# define COMPILER_MINGW 0
246#if ((defined(__cplusplus) && (__cplusplus > 199711L)) || \
247 (defined(_MSC_VER) && (_MSC_VER >= 1800)))
248# define COMPILER_SUPPORTS_CXX11 1
250# define COMPILER_SUPPORTS_CXX11 0
253#if (defined(__cplusplus) && (__cplusplus > 201311L))
254# define COMPILER_SUPPORTS_CXX14 1
256# define COMPILER_SUPPORTS_CXX14 0
259#if (defined(__cplusplus) && (__cplusplus > 201611L))
260# define COMPILER_SUPPORTS_CXX17 1
262# define COMPILER_SUPPORTS_CXX17 0
265#if (defined(__cplusplus) && (__cplusplus > 201911L))
266# define COMPILER_SUPPORTS_CXX20 1
268# define COMPILER_SUPPORTS_CXX20 0
280#if defined(_M_X64) || defined(__x86_64__)
281# define ARCH_CPU_X86_FAMILY 1
282# define ARCH_CPU_X86_64 1
283# define ARCH_CPU_64_BITS 1
284# define ARCH_CPU_LITTLE_ENDIAN 1
285#elif defined(_M_IX86) || defined(__i386__)
286# define ARCH_CPU_X86_FAMILY 1
287# define ARCH_CPU_X86 1
288# define ARCH_CPU_32_BITS 1
289# define ARCH_CPU_LITTLE_ENDIAN 1
290#elif defined(__s390x__)
291# define ARCH_CPU_S390_FAMILY 1
292# define ARCH_CPU_S390X 1
293# define ARCH_CPU_64_BITS 1
294# define ARCH_CPU_BIG_ENDIAN 1
295#elif defined(__s390__)
296# define ARCH_CPU_S390_FAMILY 1
297# define ARCH_CPU_S390 1
298# define ARCH_CPU_31_BITS 1
299# define ARCH_CPU_BIG_ENDIAN 1
300#elif (defined(__PPC64__) || defined(__PPC__)) && \
301 defined(__BIG_ENDIAN__)
302# define ARCH_CPU_PPC64_FAMILY 1
303# define ARCH_CPU_PPC64 1
304# define ARCH_CPU_64_BITS 1
305# define ARCH_CPU_BIG_ENDIAN 1
306#elif defined(__PPC64__)
307# define ARCH_CPU_PPC64_FAMILY 1
308# define ARCH_CPU_PPC64 1
309# define ARCH_CPU_64_BITS 1
310# define ARCH_CPU_LITTLE_ENDIAN 1
311#elif defined(__ARMEL__)
312# define ARCH_CPU_ARM_FAMILY 1
313# define ARCH_CPU_ARMEL 1
314# define ARCH_CPU_32_BITS 1
315# define ARCH_CPU_LITTLE_ENDIAN 1
316#elif defined(__aarch64__) || defined(_M_ARM64)
317# define ARCH_CPU_ARM_FAMILY 1
318# define ARCH_CPU_ARM64 1
319# define ARCH_CPU_64_BITS 1
320# define ARCH_CPU_LITTLE_ENDIAN 1
321#elif defined(__pnacl__) || defined(__asmjs__) || defined(__wasm__)
322# define ARCH_CPU_32_BITS 1
323# define ARCH_CPU_LITTLE_ENDIAN 1
324#elif defined(__MIPSEL__)
325# if defined(__LP64__)
326# define ARCH_CPU_MIPS_FAMILY 1
327# define ARCH_CPU_MIPS64EL 1
328# define ARCH_CPU_64_BITS 1
329# define ARCH_CPU_LITTLE_ENDIAN 1
331# define ARCH_CPU_MIPS_FAMILY 1
332# define ARCH_CPU_MIPSEL 1
333# define ARCH_CPU_32_BITS 1
334# define ARCH_CPU_LITTLE_ENDIAN 1
336#elif defined(__MIPSEB__)
337# if defined(__LP64__)
338# define ARCH_CPU_MIPS_FAMILY 1
339# define ARCH_CPU_MIPS64 1
340# define ARCH_CPU_64_BITS 1
341# define ARCH_CPU_BIG_ENDIAN 1
343# define ARCH_CPU_MIPS_FAMILY 1
344# define ARCH_CPU_MIPS 1
345# define ARCH_CPU_32_BITS 1
346# define ARCH_CPU_BIG_ENDIAN 1
348#elif defined(__loongarch__) && (__loongarch_grlen == 64)
349# define ARCH_CPU_LOONGARCH_FAMILY 1
350# define ARCH_CPU_LOONGARCH64 1
351# define ARCH_CPU_64_BITS 1
352# define ARCH_CPU_LITTLE_ENDIAN 1
354# error Please add support for your architecture in build/build_config.h
357#if !defined(ARCH_CPU_LITTLE_ENDIAN)
358# define ARCH_CPU_LITTLE_ENDIAN 0
360#if !defined(ARCH_CPU_BIG_ENDIAN)
361# define ARCH_CPU_BIG_ENDIAN 0
364#if !defined(ARCH_CPU_32_BITS)
365# define ARCH_CPU_32_BITS 0
367#if !defined(ARCH_CPU_64_BITS)
368# define ARCH_CPU_64_BITS 0
371#if !defined(ARCH_CPU_X86_FAMILY)
372# define ARCH_CPU_X86_FAMILY 0
374#if !defined(ARCH_CPU_ARM_FAMILY)
375# define ARCH_CPU_ARM_FAMILY 0
377#if !defined(ARCH_CPU_LOONGARCH_FAMILY)
378# define ARCH_CPU_LOONGARCH_FAMILY 0
380#if !defined(ARCH_CPU_MIPS_FAMILY)
381# define ARCH_CPU_MIPS_FAMILY 0
383#if !defined(ARCH_CPU_PPC64_FAMILY)
384# define ARCH_CPU_PPC64_FAMILY 0
386#if !defined(ARCH_CPU_S390_FAMILY)
387# define ARCH_CPU_S390_FAMILY 0