summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gf.cabal7
-rw-r--r--src/binary/Data/Binary/Builder.hs1
-rw-r--r--src/binary/Data/Binary/Get.hs3
3 files changed, 10 insertions, 1 deletions
diff --git a/gf.cabal b/gf.cabal
index cf36106a3..3e823f26e 100644
--- a/gf.cabal
+++ b/gf.cabal
@@ -159,7 +159,12 @@ Executable gf
--if flag(new-comp)
-- cpp-options: -DNEW_COMP
- build-tools: happy, alex>=3
+ build-tools: happy
+
+ if impl(ghc>=7.8)
+ build-tools: happy>=1.19, alex>=3.1
+ else
+ build-tools: happy, alex>=3
if os(windows)
build-depends: Win32
diff --git a/src/binary/Data/Binary/Builder.hs b/src/binary/Data/Binary/Builder.hs
index 183483945..6aee97964 100644
--- a/src/binary/Data/Binary/Builder.hs
+++ b/src/binary/Data/Binary/Builder.hs
@@ -55,6 +55,7 @@ module Data.Binary.Builder (
) where
import Foreign
+import System.IO.Unsafe(unsafePerformIO)
import Data.Monoid
--import Data.Word
import qualified Data.ByteString as S
diff --git a/src/binary/Data/Binary/Get.hs b/src/binary/Data/Binary/Get.hs
index c2c43b691..0a2f12117 100644
--- a/src/binary/Data/Binary/Get.hs
+++ b/src/binary/Data/Binary/Get.hs
@@ -89,6 +89,9 @@ import Control.Applicative (Applicative(..))
import Foreign
-- used by splitAtST
+#if MIN_VERSION_base(4,6,0)
+import Control.Monad.ST.Unsafe(unsafeInterleaveST)
+#endif
import Control.Monad.ST
import Data.STRef