diff options
Diffstat (limited to 'packages/monotone/files/cryptopp-endianness.patch')
-rw-r--r-- | packages/monotone/files/cryptopp-endianness.patch | 48 |
1 files changed, 32 insertions, 16 deletions
diff --git a/packages/monotone/files/cryptopp-endianness.patch b/packages/monotone/files/cryptopp-endianness.patch index 7abfa7cda1..5d52b079bb 100644 --- a/packages/monotone/files/cryptopp-endianness.patch +++ b/packages/monotone/files/cryptopp-endianness.patch @@ -1,24 +1,40 @@ ---- intel-0.19/cryptopp/config.h.orig 2005-07-05 22:35:21.352503986 -0700 -+++ intel-0.19/cryptopp/config.h 2005-07-05 22:35:24.303056731 -0700 -@@ -5,6 +5,13 @@ +--- 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 ******************** -+#if defined(__BYTE_ORDER) && defined(__LITTLE_ENDIAN) && defined(__BIG_ENDIAN) -+# if __BYTE_ORDER == __LITTLE_ENDIAN -+# define IS_LITTLE_ENDIAN -+# elif __BYTE_ORDER == __BIG_ENDIAN -+# define IS_BIG_ENDIAN +-// 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 - // 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 -@@ -15,6 +22,7 @@ - #ifndef IS_BIG_ENDIAN - # define IS_LITTLE_ENDIAN ++# error cryptopp - unknown endianness #endif -+#endif /* Linux endiannes macros not defined */ // define this if you want to disable all OS-dependent features, - // such as sockets and OS-provided random number generators |