diff --git a/SHA.cabal b/SHA.cabal
--- a/SHA.cabal
+++ b/SHA.cabal
@@ -1,6 +1,6 @@
 name:       SHA
 category:   Cryptography, Codec
-version:    1.6.4.2
+version:    1.6.4.4
 license:    BSD3
 license-file: LICENSE
 author:     Adam Wick <awick@galois.com>, Brian Lewis <brian@lorf.org>
@@ -40,7 +40,7 @@
   type:            exitcode-stdio-1.0
   hs-source-dirs:  src
   main-is:         Test.hs
-  ghc-options:     -Wall -fhpc
+  ghc-options:     -Wall
   build-depends: array > 0 && < 10000,
                  base > 4.3 && < 7,
                  binary >= 0.7 && < 10000,
@@ -52,78 +52,93 @@
   GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
                -funbox-strict-fields -fwarn-tabs
   cpp-options: -DSHA_TEST
-  if impl(ghc >= 6.12)
+  if impl(ghc >= 6.12) && impl(ghc < 7.7)
     Ghc-Options: -fregs-graph
 
 Executable sha1
-  if !flag(exe)
-    buildable: False
-  hs-source-dirs: src-bin
-  build-depends: base >= 4 && < 6,
-                 bytestring > 0.8 && < 10000,
-                 directory > 0.0 && < 10000,
-                 SHA > 1.6 && < 10000
   Main-Is: Main.hs
-  extensions: CPP
-  GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
-               -funbox-strict-fields -fwarn-tabs
-  cpp-options: -DALGORITHM=sha1
+  if flag(exe)
+    hs-source-dirs: src-bin
+    build-depends: base >= 4 && < 6,
+                   bytestring > 0.8 && < 10000,
+                   directory > 0.0 && < 10000,
+                   SHA > 1.6 && < 10000
+    extensions: CPP
+    GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
+                 -funbox-strict-fields -fwarn-tabs
+    cpp-options: -DALGORITHM=sha1
+    if impl(ghc >= 6.12) && impl(ghc < 7.7)
+      Ghc-Options: -fregs-graph
+  else 
+    buildable: False
 
 Executable sha224
-  if !flag(exe)
-    buildable: False
-  hs-source-dirs: src-bin
-  build-depends: base >= 4 && < 6,
-                 bytestring > 0.8 && < 10000,
-                 directory > 0.0 && < 10000,
-                 SHA > 1.6 && < 10000
   Main-Is: Main.hs
-  extensions: CPP
-  GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
-               -funbox-strict-fields -fwarn-tabs
-  cpp-options: -DALGORITHM=sha224
+  if flag(exe)
+    hs-source-dirs: src-bin
+    build-depends: base >= 4 && < 6,
+                   bytestring > 0.8 && < 10000,
+                   directory > 0.0 && < 10000,
+                   SHA > 1.6 && < 10000
+    extensions: CPP
+    GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
+                 -funbox-strict-fields -fwarn-tabs
+    cpp-options: -DALGORITHM=sha224
+    if impl(ghc >= 6.12) && impl(ghc < 7.7)
+      Ghc-Options: -fregs-graph
+  else
+    buildable: False
 
 Executable sha256
-  if !flag(exe)
-    buildable: False
-  hs-source-dirs: src-bin
-  build-depends: base >= 4 && < 6,
-                 bytestring > 0.8 && < 10000,
-                 directory > 0.0 && < 10000,
-                 SHA > 1.6 && < 10000
   Main-Is: Main.hs
-  extensions: CPP
-  GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
-               -funbox-strict-fields -fwarn-tabs
-  cpp-options: -DALGORITHM=sha256
+  if flag(exe)
+    hs-source-dirs: src-bin
+    build-depends: base >= 4 && < 6,
+                   bytestring > 0.8 && < 10000,
+                   directory > 0.0 && < 10000,
+                   SHA > 1.6 && < 10000
+    extensions: CPP
+    GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
+                 -funbox-strict-fields -fwarn-tabs
+    cpp-options: -DALGORITHM=sha256
+    if impl(ghc >= 6.12) && impl(ghc < 7.7)
+      Ghc-Options: -fregs-graph
+  else
+    buildable: False
 
 Executable sha384
-  if !flag(exe)
-    buildable: False
-  hs-source-dirs: src-bin
-  build-depends: base >= 4 && < 6,
-                 bytestring > 0.8 && < 10000,
-                 directory > 0.0 && < 10000,
-                 SHA > 1.6 && < 10000
   Main-Is: Main.hs
-  extensions: CPP
-  GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
-               -funbox-strict-fields -fwarn-tabs
-  cpp-options: -DALGORITHM=sha384
+  if flag(exe)
+    hs-source-dirs: src-bin
+    build-depends: base >= 4 && < 6,
+                   bytestring > 0.8 && < 10000,
+                   directory > 0.0 && < 10000,
+                   SHA > 1.6 && < 10000
+    extensions: CPP
+    GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
+                 -funbox-strict-fields -fwarn-tabs
+    cpp-options: -DALGORITHM=sha384
+    if impl(ghc >= 6.12) && impl(ghc < 7.7)
+      Ghc-Options: -fregs-graph
+  else
+    buildable: False
 
 Executable sha512
-  if !flag(exe)
-    buildable: False
-  hs-source-dirs: src-bin
-  build-depends: base >= 4 && < 6,
-                 bytestring > 0.8 && < 10000,
-                 directory > 0.0 && < 10000,
-                 SHA > 1.6 && < 10000
   Main-Is: Main.hs
-  extensions: CPP
-  GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
-               -funbox-strict-fields -fwarn-tabs
-  cpp-options: -DALGORITHM=sha512
+  if flag(exe)
+    hs-source-dirs: src-bin
+    build-depends: base >= 4 && < 6,
+                   bytestring > 0.8 && < 10000,
+                   directory > 0.0 && < 10000,
+                   SHA > 1.6 && < 10000
+    extensions: CPP
+    GHC-Options: -O2 -Wall -fno-ignore-asserts -fno-warn-orphans
+                 -funbox-strict-fields -fwarn-tabs
+    cpp-options: -DALGORITHM=sha512
+    if impl(ghc >= 6.12) && impl(ghc < 7.7)
+      Ghc-Options: -fregs-graph
+  else
+    buildable: False
 
 source-repository head
   type:     git
