blob: 5d52b079bbb25bdff9683835355d71df13373b14 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
--- 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,
|