summaryrefslogtreecommitdiff
path: root/packages/monotone/files/cryptopp-endianness.patch
diff options
context:
space:
mode:
Diffstat (limited to 'packages/monotone/files/cryptopp-endianness.patch')
-rw-r--r--packages/monotone/files/cryptopp-endianness.patch48
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