summaryrefslogtreecommitdiff
path: root/siphash.c
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2021-05-04 21:31:29 +0000
committerPeter Zhu <peter@peterzhu.ca>2021-05-04 20:38:03 -0400
commit45bcab3c84c406dc4d0a1e34aa858aa925a71c97 (patch)
treec2e754dfb8aa9c0d083fde10cd5dd0c827d4dc61 /siphash.c
parentb57c7be6a98a4739569f5ddc45095c8c59fa7512 (diff)
downloadruby-45bcab3c84c406dc4d0a1e34aa858aa925a71c97.tar.gz
Fix compilation error in mingw
__LITTLE_ENDIAN is not defined.
Diffstat (limited to 'siphash.c')
-rw-r--r--siphash.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/siphash.c b/siphash.c
index 2c48fa8496..091376747f 100644
--- a/siphash.c
+++ b/siphash.c
@@ -5,11 +5,18 @@
#define SIP_HASH_STREAMING 1
#endif
-#ifdef _WIN32
+#if defined(__MINGW32__)
+ #include <sys/param.h>
+
+ /* MinGW only defines LITTLE_ENDIAN and BIG_ENDIAN macros */
+ #define __LITTLE_ENDIAN LITTLE_ENDIAN
+ #define __BIG_ENDIAN BIG_ENDIAN
+#elif defined(_WIN32)
#define BYTE_ORDER __LITTLE_ENDIAN
-#elif !defined BYTE_ORDER
+#elif !defined(BYTE_ORDER)
#include <endian.h>
#endif
+
#ifndef LITTLE_ENDIAN
#define LITTLE_ENDIAN __LITTLE_ENDIAN
#endif