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