sha1dc: Make sure SHA1DC_BIGENDIAN is set on Darwin/PowerPC
__BYTE_ORDER__ is not defined on old toolchains so sha1dc gets
built in little endian mode on a big endian platform, hilarity
ensues. Tested on Mac OS X Tiger 10.4.
--- a/mercurial/thirdparty/sha1dc/lib/sha1.c Sat Apr 13 03:44:55 2019 +0200
+++ b/mercurial/thirdparty/sha1dc/lib/sha1.c Fri Apr 14 19:59:44 2023 +0100
@@ -102,6 +102,10 @@
*/
#define SHA1DC_BIGENDIAN
+#elif (defined(__APPLE__) && defined(__BIG_ENDIAN__) && !defined(SHA1DC_BIGENDIAN))
+/* older gcc compilers which are the default on Apple PPC do not define __BYTE_ORDER__ */
+#define SHA1DC_BIGENDIAN
+
/* Not under GCC-alike or glibc or *BSD or newlib or <processor whitelist> or <os whitelist> */
#elif defined(SHA1DC_ON_INTEL_LIKE_PROCESSOR)
/*