diff --git a/cbits/rdrand.c b/cbits/rdrand.c
--- a/cbits/rdrand.c
+++ b/cbits/rdrand.c
@@ -11,6 +11,7 @@
     return (cx & 0x40000000);
 }
 
+#ifdef arch_x86_64
 // Returns 1 on success
 inline int _rdrand64_step(uint64_t *therand)
 {
@@ -20,7 +21,6 @@
      return (int) err;
 }
 
-#ifdef arch_x86_64
 // Returns 0 on success, non-zero on failure.
 int get_rand_bytes(uint8_t *therand, size_t len)
 {
diff --git a/entropy.cabal b/entropy.cabal
--- a/entropy.cabal
+++ b/entropy.cabal
@@ -1,5 +1,5 @@
 name:           entropy
-version:        0.3.1
+version:        0.3.2
 description:    A platform independent method to obtain cryptographically strong entropy 
                 (RDRAND when available anywhere, urandom on nix, CryptAPI on Windows, patches welcome).
                 Users looking for cryptographically strong (number-theoretically
@@ -45,13 +45,16 @@
     cc-options:  -DXEN -DHAVE_RDRAND
   if arch(x86_64)
     cpp-options: -Darch_x86_64
+    cc-options:  -Darch_x86_64
     -- gcc 4.8.2 on i386 fails to compile rdrand.c when using -fPIC!
     c-sources:    cbits/rdrand.c
     include-dirs: cbits
   if arch(i386)
     cpp-options: -Darch_i386
+    cc-options:  -Darch_i386
   if os(windows)
     cpp-options: -DisWindows
+    cc-options:  -DisWindows
     extra-libraries: advapi32
   else
     if !flag(halvm)
