+#if !defined(PLATFORM_BYTE_ORDER)
+# if defined (LITTLE_ENDIAN) || defined (BIG_ENDIAN)
+# if defined (LITTLE_ENDIAN) && !defined(BIG_ENDIAN)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_LITTLE
+# elif !defined (LITTLE_ENDIAN) && defined (BIG_ENDIAN)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_BIG
+# elif defined (BYTE_ORDER) && (BYTE_ORDER == LITTLE_ENDIAN)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_LITTLE
+# elif defined (BYTE_ORDER) && (BYTE_ORDER == BIG_ENDIAN)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_BIG
+# endif
+# elif defined (_LITTLE_ENDIAN) || defined (_BIG_ENDIAN)
+# if defined (_LITTLE_ENDIAN) && !defined(_BIG_ENDIAN)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_LITTLE
+# elif !defined (_LITTLE_ENDIAN) && defined (_BIG_ENDIAN)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_BIG
+# elif defined (_BYTE_ORDER) && (_BYTE_ORDER == _LITTLE_ENDIAN)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_LITTLE
+# elif defined (_BYTE_ORDER) && (_BYTE_ORDER == _BIG_ENDIAN)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_BIG
+# endif
+# elif defined (__LITTLE_ENDIAN__) || defined (__BIG_ENDIAN__)
+# if defined (__LITTLE_ENDIAN__) && !defined (__BIG_ENDIAN__)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_LITTLE
+# elif !defined (__LITTLE_ENDIAN__) && defined (__BIG_ENDIAN__)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_BIG
+# elif defined (__BYTE_ORDER__) && (__BYTE_ORDER__ == __LITTLE_ENDIAN__)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_LITTLE
+# elif defined (__BYTE_ORDER__) && (__BYTE_ORDER__ == __BIG_ENDIAN__)
+# define PLATFORM_BYTE_ORDER GMQCC_BYTE_ORDER_BIG
+# endif
+# endif