summaryrefslogtreecommitdiff
path: root/src/libmowgli/platform/machine.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmowgli/platform/machine.h')
-rw-r--r--src/libmowgli/platform/machine.h474
1 files changed, 240 insertions, 234 deletions
diff --git a/src/libmowgli/platform/machine.h b/src/libmowgli/platform/machine.h
index b2a2e50..6b23514 100644
--- a/src/libmowgli/platform/machine.h
+++ b/src/libmowgli/platform/machine.h
@@ -2,7 +2,7 @@
* libmowgli: A collection of useful routines for programming.
* machine.h: Defines to discover what machine we're on easily
*
- * Copyright (c) 2012 Patrick McFarland <pmcfarland@adterrasperaspera.com>
+ * Copyright (c) 2012, 2013 Patrick McFarland <pmcfarland@adterrasperaspera.com>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
@@ -21,8 +21,6 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#include "mowgli.h"
-
/* Machine environment specific macros, mostly sourced from this URL:
* http://sourceforge.net/apps/mediawiki/predef/
*
@@ -37,298 +35,306 @@
#define __MOWGLI_MACHINE_H__
#if defined __clang__
-#define MOWGLI_COMPILER_CLANG
-#define MOWGLI_COMPILER clang
+# define MOWGLI_COMPILER_CLANG
+# define MOWGLI_COMPILER clang
#elif defined __INTEL_COMPILER || defined __ICC || defined __ICL
-#define MOWGLI_COMPILER_ICC
-#define MOWGLI_COMPILER icc
+# define MOWGLI_COMPILER_ICC
+# define MOWGLI_COMPILER icc
#elif defined __CC_ARM
-#define MOWGLI_COMPILER_ARM
-#define MOWGLI_COMPILER arm
+# define MOWGLI_COMPILER_ARM
+# define MOWGLI_COMPILER arm
#elif defined __xlc__ || defined __xlC__
-#define MOWGLI_COMPILER_IBM
-#define MOWGLI_COMPILER ibm
+# define MOWGLI_COMPILER_IBM
+# define MOWGLI_COMPILER ibm
#elif defined __SUNPRO_C || defined __SUNPRO_CC
-#define MOWGLI_COMPILER_SUN
-#define MOWGLI_COMPILER sun
+# define MOWGLI_COMPILER_SUN
+# define MOWGLI_COMPILER sun
#elif defined __GNUC__
-#define MOWGLI_COMPILER_GCC
-#define MOWGLI_COMPILER gcc
+# define MOWGLI_COMPILER_GCC
+# define MOWGLI_COMPILER gcc
#elif defined _MSC_VER
-#define MOWGLI_COMPILER_MSVC
-#define MOWGLI_COMPILER msvc
+# define MOWGLI_COMPILER_MSVC
+# define MOWGLI_COMPILER msvc
#else
-#define MOWGLI_COMPILER_UNKNOWN
-#define MOWGLI_COMPILER unknown
+# define MOWGLI_COMPILER_UNKNOWN
+# define MOWGLI_COMPILER unknown
#endif
#if defined __GNUC__
-#define MOWGLI_COMPILER_GCC_COMPAT
+# define MOWGLI_COMPILER_GCC_COMPAT
+# define MOWGLI_COMPILER_GCC_VERSION (__GNUC__ * 10000 + __GNUC_MINOR__ * 100 + __GNUC_PATCHLEVEL__)
+#else
+# define MOWGLI_COMPILER_GCC_VERSION (0)
#endif
#if defined __amd64__ || defined __amd64 || defined __x86_64__ || defined __x86_64 || defined _M_X64 || defined _M_AMD64
-#define MOWGLI_CPU_X86_64
-#define MOWGLI_CPU x86_64
-#define MOWGLI_CPU_BITS_64
-#define MOWGLI_CPU_BITS 64
-#define MOWGLI_CPU_ENDIAN_LITTLE
-#define MOWGLI_CPU_ENDIAN little
+# define MOWGLI_CPU_X86_64
+# define MOWGLI_CPU x86_64
+# define MOWGLI_CPU_BITS_64
+# define MOWGLI_CPU_BITS 64
+# define MOWGLI_CPU_ENDIAN_LITTLE
+# define MOWGLI_CPU_ENDIAN little
#elif defined __i386__ || defined __i386 || defined __IA32__ || defined _M_IX86 || defined __X86__ || defined _X86__ || defined __I86__
-#define MOWGLI_CPU_X86
-#define MOWGLI_CPU x86
-#define MOWGLI_CPU_BITS_32
-#define MOWGLI_CPU_BITS 32
-#define MOWGLI_CPU_ENDIAN_LITTLE
-#define MOWGLI_CPU_ENDIAN little
+# define MOWGLI_CPU_X86
+# define MOWGLI_CPU x86
+# define MOWGLI_CPU_BITS_32
+# define MOWGLI_CPU_BITS 32
+# define MOWGLI_CPU_ENDIAN_LITTLE
+# define MOWGLI_CPU_ENDIAN little
#elif defined __arm__ || defined __TARGET_ARCH_ARM || defined _ARM
-#if defined __thumb__ || defined __TARGET_ARCH_THUMB
-#define MOWGLI_CPU_ARM_THUMB
-#endif
-#define MOWGLI_CPU_ARM
-#define MOWGLI_CPU arm
-#define MOWGLI_CPU_BITS_32
-#define MOWGLI_CPU_BITS 32
+# if defined __thumb__ || defined __TARGET_ARCH_THUMB
+# define MOWGLI_CPU_ARM_THUMB
+# endif
+# define MOWGLI_CPU_ARM
+# define MOWGLI_CPU arm
+# define MOWGLI_CPU_BITS_32
+# define MOWGLI_CPU_BITS 32
+
// ARM can be either endian
#elif defined __hppa__ || defined __HPPA__ || defined __hppa
-#if defined _PA_RISC2_0 || defined __HPPA20__ || defined __RISC2_0__
-#define MOWGLI_CPU_HPPA20
-#define MOWGLI_CPU hppa20
-#define MOWGLI_CPU_BITS_64
-#define MOWGLI_CPU_BITS 64
-#else
-#define MOWGLI_CPU_HPPA10
-#define MOWGLI_CPU hppa10
-#define MOWGLI_CPU_BITS_32
-#define MOWGLI_CPU_BITS 32
-#endif
-#define MOWGLI_CPU_ENDIAN_BIG
-#define MOWGLI_CPU_ENDIAN big
+# if defined _PA_RISC2_0 || defined __HPPA20__ || defined __RISC2_0__
+# define MOWGLI_CPU_HPPA20
+# define MOWGLI_CPU hppa20
+# define MOWGLI_CPU_BITS_64
+# define MOWGLI_CPU_BITS 64
+# else
+# define MOWGLI_CPU_HPPA10
+# define MOWGLI_CPU hppa10
+# define MOWGLI_CPU_BITS_32
+# define MOWGLI_CPU_BITS 32
+# endif
+# define MOWGLI_CPU_ENDIAN_BIG
+# define MOWGLI_CPU_ENDIAN big
#elif defined __ia64__ || defined __IA64__ || defined _M_IA64 || defined __ia64 || defined __itanium__
-#define MOWGLI_CPU_ITANIUM
-#define MOWGLI_CPU itanium
-#define MOWGLI_CPU_BITS_64
-#define MOWGLI_CPU_BITS 64
+# define MOWGLI_CPU_ITANIUM
+# define MOWGLI_CPU itanium
+# define MOWGLI_CPU_BITS_64
+# define MOWGLI_CPU_BITS 64
+
// Itanium can be either endian
#elif defined __mips__ || defined mips || defined __mips || defined __MIPS__
-#if defined __mips64 || defined __mips64__
-#define MOWGLI_CPU_MIPS64
-#define MOWGLI_CPU mips64
-#define MOWGLI_CPU_BITS_64
-#define MOWGLI_CPU_BITS 64
-#else
-#define MOWGLI_CPU_MIPS
-#define MOWGLI_CPU mips
-#define MOWGLI_CPU_BITS_32
-#define MOWGLI_CPU_BITS 32
-#endif
+# if defined __mips64 || defined __mips64__
+# define MOWGLI_CPU_MIPS64
+# define MOWGLI_CPU mips64
+# define MOWGLI_CPU_BITS_64
+# define MOWGLI_CPU_BITS 64
+# else
+# define MOWGLI_CPU_MIPS
+# define MOWGLI_CPU mips
+# define MOWGLI_CPU_BITS_32
+# define MOWGLI_CPU_BITS 32
+# endif
+
// MIPS can be either endian
#elif defined __powerpc || defined __powerpc__ || defined __POWERPC__ || defined __ppc__ || defined _M_PPC
-#if defined __ppc64__ || defined __PPC64__
-#define MOWGLI_CPU_POWERPC64
-#define MOWGLI_CPU powerpc64
-#define MOWGLI_CPU_BITS_64
-#define MOWGLI_CPU_BITS 64
-#else
-#define MOWGLI_CPU powerpc
-#define MOWGLI_CPU_BITS_32
-#define MOWGLI_CPU_BITS 32
-#endif
-#define MOWGLI_CPU_POWERPC
+# if defined __ppc64__ || defined __PPC64__
+# define MOWGLI_CPU_POWERPC64
+# define MOWGLI_CPU powerpc64
+# define MOWGLI_CPU_BITS_64
+# define MOWGLI_CPU_BITS 64
+# else
+# define MOWGLI_CPU powerpc
+# define MOWGLI_CPU_BITS_32
+# define MOWGLI_CPU_BITS 32
+# endif
+# define MOWGLI_CPU_POWERPC
+
// PowerPC can be either endian
#elif defined __sparc__ || defined __sparc
-#if defined __sparcv9 || defined __sparc64 || defined __sparc64__
-#define MOWGLI_CPU_SPARC64
-#define MOWGLI_CPU sparc64
-#define MOWGLI_CPU_BITS_64
-#define MOWGLI_CPU_BITS 64
-#else
-#define MOWGLI_CPU_SPARC
-#define MOWGLI_CPU sparc
-#define MOWGLI_CPU_BITS_32
-#define MOWGLI_CPU_BITS 32
-#endif
-#define MOWGLI_CPU_ENDIAN_BIG
-#define MOWGLI_CPU_ENDIAN big
+# if defined __sparcv9 || defined __sparc64 || defined __sparc64__
+# define MOWGLI_CPU_SPARC64
+# define MOWGLI_CPU sparc64
+# define MOWGLI_CPU_BITS_64
+# define MOWGLI_CPU_BITS 64
+# else
+# define MOWGLI_CPU_SPARC
+# define MOWGLI_CPU sparc
+# define MOWGLI_CPU_BITS_32
+# define MOWGLI_CPU_BITS 32
+# endif
+# define MOWGLI_CPU_ENDIAN_BIG
+# define MOWGLI_CPU_ENDIAN big
#elif defined __alpha || defined __alpha__ || defined _M_ALPHA
-#define MOWGLI_CPU_ALPHA
-#define MOWGLI_CPU alpha
-#define MOWGLI_CPU_BITS_64
-#define MOWGLI_CPU_BITS 64
-#define MOWGLI_CPU_ENDIAN_LITTLE
-#define MOWGLI_CPU_ENDIAN little
+# define MOWGLI_CPU_ALPHA
+# define MOWGLI_CPU alpha
+# define MOWGLI_CPU_BITS_64
+# define MOWGLI_CPU_BITS 64
+# define MOWGLI_CPU_ENDIAN_LITTLE
+# define MOWGLI_CPU_ENDIAN little
#elif defined __avr32__ || defined __AVR32__
-#define MOWGLI_CPU_AVR32
-#define MOWGLI_CPU avr
-#define MOWGLI_CPU_BITS_32
-#define MOWGLI_CPU_BITS 32
-#define MOWGLI_CPU_ENDIAN_LITTLE
-#define MOWGLI_CPU_ENDIAN little
+# define MOWGLI_CPU_AVR32
+# define MOWGLI_CPU avr
+# define MOWGLI_CPU_BITS_32
+# define MOWGLI_CPU_BITS 32
+# define MOWGLI_CPU_ENDIAN_LITTLE
+# define MOWGLI_CPU_ENDIAN little
#elif defined __sh__ || defined __SH__
-#define MOWGLI_CPU_SuperH
-#define MOWGLI_CPU superh
-#define MOWGLI_CPU_BITS_32
-#define MOWGLI_CPU_BITS 32
+# define MOWGLI_CPU_SuperH
+# define MOWGLI_CPU superh
+# define MOWGLI_CPU_BITS_32
+# define MOWGLI_CPU_BITS 32
+
// SyoerH can be either endian
#endif
#ifndef MOWGLI_CPU
-#define MOWGLI_CPU_UNKNOWN
-#define MOWGLI_CPU unknown
+# define MOWGLI_CPU_UNKNOWN
+# define MOWGLI_CPU unknown
#endif
#ifndef MOWGLI_CPU_BITS
-#if defined _LP64 || defined __LP64
-#define MOWGLI_CPU_BITS 64
-#define MOWGLI_CPU_BITS_64
-#elif
-#define MOWGLI_CPU_BITS 32
-#define MOWGLI_CPU_BITS_32
-#endif
+# if defined _LP64 || defined __LP64
+# define MOWGLI_CPU_BITS 64
+# define MOWGLI_CPU_BITS_64
+# elif
+# define MOWGLI_CPU_BITS 32
+# define MOWGLI_CPU_BITS_32
+# endif
#endif
#if defined __linux || defined __linux__
-#define MOWGLI_OS_LINUX
-#define MOWGLI_OS linux
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_LINUX
+# define MOWGLI_OS linux
+# define MOWGLI_OS_THREADS_POSIX
+# define MOWGLI_OS_THREADS posix
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
#elif defined __APPLE__
-#define MOWGLI_OS_OSX
-#define MOWGLI_OS osx
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
-#define MOWGLI_OS_BSD_TYPE
+# define MOWGLI_OS_OSX
+# define MOWGLI_OS osx
+# define MOWGLI_OS_THREADS_POSIX
+# define MOWGLI_OS_THREADS posix
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_BSD_TYPE
-#ifdef MOWGLI_CPU_POWERPC
-#define MOWGLI_CPU_ENDIAN_BIG
-#define MOWGLI_CPU_ENDIAN big
-#endif
+# ifdef MOWGLI_CPU_POWERPC
+# define MOWGLI_CPU_ENDIAN_BIG
+# define MOWGLI_CPU_ENDIAN big
+# endif
#elif defined __WINDOWS__ || defined _WIN32 || defined __WIN32__ || defined __TOS_WIN__
-#if defined _WIN64
-#define MOWGLI_OS_WIN64
-#define MOWGLI_OS win64
-#else
-#define MOWGLI_OS_WIN32
-#define MOWGLI_OS win32
-#endif
-#define MOWGLI_OS_WIN
-#define MOWGLI_OS_THREADS_WIN
-#define MOWGLI_OS_THREADS win
-#define MOWGLI_OS_MUTEX_WIN
-#define MOWGLI_OS_MUTEX win
+# if defined _WIN64
+# define MOWGLI_OS_WIN64
+# define MOWGLI_OS win64
+# else
+# define MOWGLI_OS_WIN32
+# define MOWGLI_OS win32
+# endif
+# define MOWGLI_OS_WIN
+# define MOWGLI_OS_THREADS_WIN
+# define MOWGLI_OS_THREADS win
+# define MOWGLI_OS_MUTEX_WIN
+# define MOWGLI_OS_MUTEX win
-#if defined __CYGWIN__
-#define MOWGLI_OS_WIN_CYGWIN
-#elif defined __MINGW32__
-#define MOWGLI_OS_WIN_MINGW
-#endif
+# if defined __CYGWIN__
+# define MOWGLI_OS_WIN_CYGWIN
+# elif defined __MINGW32__
+# define MOWGLI_OS_WIN_MINGW
+# endif
-#if defined MOWGLI_CPU_POWERPC || defined MOWGLI_CPU_MIPS || defined MOWGLI_CPU_ITANIUM
-#define MOWGLI_ENDIAN_CPU_LITTLE
-#endif
+# if defined MOWGLI_CPU_POWERPC || defined MOWGLI_CPU_MIPS || defined MOWGLI_CPU_ITANIUM
+# define MOWGLI_ENDIAN_CPU_LITTLE
+# endif
#elif defined __NetBSD__ || defined __OpenBSD__ || defined __FreeBSD__ || defined __bsdi__ || defined __DragonFly__ || defined BSD || defined _SYSTYPE_BSD
-#define MOWGLI_OS_BSD
-#define MOWGLI_OS bsd
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
-#define MOWGLI_OS_BSD_TYPE
+# define MOWGLI_OS_BSD
+# define MOWGLI_OS bsd
+# define MOWGLI_OS_THREADS_POSIX
+# define MOWGLI_OS_THREADS posix
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_BSD_TYPE
#elif defined __GNU__
-#define MOWGLI_OS_HURD
-#define MOWGLI_OS hurd
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_HURD
+# define MOWGLI_OS hurd
+# define MOWGLI_OS_THREADS_POSIX
+# define MOWGLI_OS_THREADS posix
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
#elif defined sco || defined __sco
-#define MOWGLI_OS_SCO
-#define MOWGLI_OS sco
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
-#define MOWGLI_OS_UNIX_TYPE
+# define MOWGLI_OS_SCO
+# define MOWGLI_OS sco
+# define MOWGLI_OS_THREADS_POSIX
+# define MOWGLI_OS_THREADS posix
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_UNIX_TYPE
#elif defined sun || defined __sun
-#define MOWGLI_OS_SOLARIS
-#define MOWGLI_OS solaris
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
-#define MOWGLI_OS_UNIX_TYPE
-#if defined MOWGLI_CPU_POWERPC
-#define MOWGLI_CPU_ENDIAN_LITTLE
-#define MOWGLI_CPU_ENDIAN little
-#endif
+# define MOWGLI_OS_SOLARIS
+# define MOWGLI_OS solaris
+# define MOWGLI_OS_THREADS_SOLARIS
+# define MOWGLI_OS_THREADS solaris
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_UNIX_TYPE
+# if defined MOWGLI_CPU_POWERPC
+# define MOWGLI_CPU_ENDIAN_LITTLE
+# define MOWGLI_CPU_ENDIAN little
+# endif
#elif defined _hpux || defined hpux || defined __hpux
-#define MOWGLI_OS_HPUX
-#define MOWGLI_OS hpux
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
-#define MOWGLI_OS_UNIX_TYPE
-#if defined MOWGLI_CPU_ITANIUM
-#define MOWGLI_CPU_ENDIAN_BIG
-#define MOWGLI_CPU_ENDIAN big
-#endif
+# define MOWGLI_OS_HPUX
+# define MOWGLI_OS hpux
+# define MOWGLI_OS_THREADS_POSIX
+# define MOWGLI_OS_THREADS posix
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_UNIX_TYPE
+# if defined MOWGLI_CPU_ITANIUM
+# define MOWGLI_CPU_ENDIAN_BIG
+# define MOWGLI_CPU_ENDIAN big
+# endif
#elif defined __QNX__ || defined __QNXNTO__
-#define MOWGLI_OS_QNX
-#define MOWGLI_OS qnx
-#define MOWGLI_OS_THREADS_QNX
-#define MOWGLI_OS_THREADS qnx
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_QNX
+# define MOWGLI_OS qnx
+# define MOWGLI_OS_THREADS_QNX
+# define MOWGLI_OS_THREADS qnx
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
#elif defined __vms || defined __VMS
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
-#if defined MOWGLI_CPU_ITANIUM
-#define MOWGLI_CPU_ENDIAN_LITTLE
-#define MOWGLI_CPU_ENDIAN little
-#endif
+# define MOWGLI_OS_THREADS_POSIX
+# define MOWGLI_OS_THREADS posix
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
+# if defined MOWGLI_CPU_ITANIUM
+# define MOWGLI_CPU_ENDIAN_LITTLE
+# define MOWGLI_CPU_ENDIAN little
+# endif
#endif
#ifndef MOWGLI_OS
-#if defined __unix__ || __unix || unix
-#define MOWGLI_OS_UNIX
-#define MOWGLI_OS unix
-#define MOWGLI_OS_THREADS_POSIX
-#define MOWGLI_OS_THREADS posix
-#define MOWGLI_OS_MUTEX_POSIX
-#define MOWGLI_OS_MUTEX posix
-#define MOWGLI_OS_UNIX_TYPE
-#endif
-#define MOWGLI_OS_UNKNOWN
-#define MOWGLI_OS unknown
-#warning OS unsupported/unknown
+# if defined __unix__ || __unix || unix
+# define MOWGLI_OS_UNIX
+# define MOWGLI_OS unix
+# define MOWGLI_OS_THREADS_POSIX
+# define MOWGLI_OS_THREADS posix
+# define MOWGLI_OS_MUTEX_POSIX
+# define MOWGLI_OS_MUTEX posix
+# define MOWGLI_OS_UNIX_TYPE
+# endif
+# define MOWGLI_OS_UNKNOWN
+# define MOWGLI_OS unknown
+# warning OS unsupported/unknown
#endif
#ifndef MOWGLI_OS_THREADS
-#define MOWGLI_OS_THREADS_NULL
-#define MOWGLI_OS_THREADS null
+# define MOWGLI_OS_THREADS_NULL
+# define MOWGLI_OS_THREADS null
#endif
#ifndef MOWGLI_OS_MUTEX
-#define MOWGLI_OS_MUTEX_NULL
-#define MOWGLI_OS_MUTEX null
+# define MOWGLI_OS_MUTEX_NULL
+# define MOWGLI_OS_MUTEX null
#endif
#ifndef MOWGLI_CPU_ENDIAN
-#if defined __BIG_ENDIAN__ || defined __ARMEB__ || defined __THUMBEB__ || defined _MIPSEB || defined __MIPSEB || defined __MIPSEB__ || __BYTE_ORDER == __BIG_ENDIAN
-#define MOWGLI_CPU_ENDIAN_BIG
-#define MOWGLI_CPU_ENDIAN big
-#elif defined __LITTLE_ENDIAN__ || defined __ARMEL__ || defined __THUMBEL__ || defined _MIPSEL || defined __MIPSEL || defined __MIPSEL__ || __BYTE_ORDER == __LITTLE_ENDIAN
-#define MOWGLI_CPU_ENDIAN_LITTLE
-#define MOWGLI_CPU_ENDIAN little
-#else
-#warning CPU endianness unknown, some functions of libmowgli will not work
-#endif
+# if defined __BIG_ENDIAN__ || defined __ARMEB__ || defined __THUMBEB__ || defined _MIPSEB || defined __MIPSEB || defined __MIPSEB__ || __BYTE_ORDER == __BIG_ENDIAN
+# define MOWGLI_CPU_ENDIAN_BIG
+# define MOWGLI_CPU_ENDIAN big
+# elif defined __LITTLE_ENDIAN__ || defined __ARMEL__ || defined __THUMBEL__ || defined _MIPSEL || defined __MIPSEL || defined __MIPSEL__ || __BYTE_ORDER == __LITTLE_ENDIAN
+# define MOWGLI_CPU_ENDIAN_LITTLE
+# define MOWGLI_CPU_ENDIAN little
+# else
+# warning CPU endianness unknown, some functions of libmowgli will not work
+# endif
#endif
#endif