diff -up digikam-5.1.0/core/libs/rawengine/libraw/libraw/libraw_types.h.libraw_endian digikam-5.1.0/core/libs/rawengine/libraw/libraw/libraw_types.h --- digikam-5.1.0/core/libs/rawengine/libraw/libraw/libraw_types.h.libraw_endian 2016-08-08 12:19:25.000000000 -0500 +++ digikam-5.1.0/core/libs/rawengine/libraw/libraw/libraw_types.h 2016-08-09 09:23:01.387824702 -0500 @@ -612,10 +612,10 @@ typedef struct #elif defined(__INTEL__) #define LibRawBigEndian 0 -#elif defined(_M_IX86) +#elif defined(_M_IX86) || defined(__i386__) #define LibRawBigEndian 0 -#elif defined(_M_X64) || defined(__amd64__) +#elif defined(_M_X64) || defined(__amd64__) || defined(__x86_64__) #define LibRawBigEndian 0 #elif defined(__LITTLE_ENDIAN__) @@ -625,6 +625,13 @@ typedef struct #define LibRawBigEndian 1 #elif defined(_ARM_) #define LibRawBigEndian 0 + +#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__ +#define LibRawBigEndian 0 + +#elif __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__ +#define LibRawBigEndian 1 + #else #ifndef qXCodeRez #error Unable to figure out byte order.