diff --git a/NEWS b/NEWS
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+Changes in 0.7.6:
+
+* Fix broken windows build.
+
+
 Changes in 0.7.5:
 
 * Added more robust check for endianness (related to issue #5, reported by @juricast).
diff --git a/cbits/feqrel_source.c b/cbits/feqrel_source.c
--- a/cbits/feqrel_source.c
+++ b/cbits/feqrel_source.c
@@ -1,7 +1,8 @@
 /* adapted from Tango version 0.99.9, BSD Licensed
  */
 
-/* Endianness detection taken from http://esr.ibiblio.org/?p=5095 .
+/* Endianness detection modified from http://esr.ibiblio.org/?p=5095 and
+ * https://gist.github.com/panzi/6856583 .
  *
  * We are assuming that the endianness is the same for integers and floats;
  * this is true for modern systems but false in a few historical machines and
@@ -15,13 +16,19 @@
   the gcc way fails - endian.h also does not seem to be available on all
   platforms.
 */
+
+/* Assume Windows is little endian (http://stackoverflow.com/a/6449581 ) */
+#if (defined(_WIN16) || defined(_WIN32) || defined(_WIN64)) && !defined(__LITTLE_ENDIAN__)
+#  define __LITTLE_ENDIAN__
+#endif
+
 #ifdef __BIG_ENDIAN__
 #  define WORDS_BIGENDIAN 1
-#else /* __BIG_ENDIAN__ */
+#else
 #  ifdef __LITTLE_ENDIAN__
 #    undef WORDS_BIGENDIAN
 #  else
-#    ifdef BSD
+#    if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__)
 #      include <sys/endian.h>
 #    else
 #      include <endian.h>
diff --git a/ieee754.cabal b/ieee754.cabal
--- a/ieee754.cabal
+++ b/ieee754.cabal
@@ -1,5 +1,5 @@
 name:            ieee754
-version:         0.7.5
+version:         0.7.6
 homepage:        http://github.com/patperry/hs-ieee754
 synopsis:        Utilities for dealing with IEEE floating point numbers
 description:
