--- monotone-0.20/.pc/cryptopp-endianness.patch/cryptopp/config.h 2005-07-05 22:56:31.000000000 -0700 +++ monotone-0.20/cryptopp/config.h 2005-07-12 12:01:02.626693397 -0700 @@ -5,15 +5,28 @@ // ***************** Important Settings ******************** -// define this if running on a big-endian CPU -#if !defined(IS_LITTLE_ENDIAN) && (defined(__BIG_ENDIAN__) || defined(__sparc) || defined(__sparc__) || defined(__hppa__) || defined(__mips__) || (defined(__MWERKS__) && !defined(__INTEL__))) -# define IS_BIG_ENDIAN -#endif - -// define this if running on a little-endian CPU -// big endian will be assumed if IS_LITTLE_ENDIAN is not defined -#ifndef IS_BIG_ENDIAN -# define IS_LITTLE_ENDIAN +// this is GCC specific, but it is safe - the original version +// of this file defaulted to little endian without warning... +// The code will error out if an attempt is made to define +// IS_LITTLE_ENDIAN or IS_BIG_ENDIAN elsewhere +#ifndef __BYTE_ORDER +# include <endian.h> +# ifndef __BYTE_ORDER +# error cryptopp needs the correct byte order from the compiler +# endif +#endif +#if defined(IS_LITTLE_ENDIAN) || defined(IS_BIG_ENDIAN) + // It doesn't work to define this on the command line, at least + // with the original version +# error cryptopp - unexpected endianness definition +#endif + +#if defined(__LITTLE_ENDIAN) && __BYTE_ORDER == __LITTLE_ENDIAN +# define IS_LITTLE_ENDIAN +#elif defined(__BIG_ENDIAN) && __BYTE_ORDER == __BIG_ENDIAN +# define IS_BIG_ENDIAN +#else +# error cryptopp - unknown endianness #endif // define this if you want to disable all OS-dependent features,