summaryrefslogtreecommitdiff
path: root/gf.cabal
diff options
context:
space:
mode:
authorhallgren <hallgren@chalmers.se>2013-10-31 15:43:12 +0000
committerhallgren <hallgren@chalmers.se>2013-10-31 15:43:12 +0000
commit83a10ce25a2c92fec24400773aca640a873fb2e8 (patch)
tree25135202db4c27f06045aec15328d1023f2a1a84 /gf.cabal
parenta7a1563b79872c5e3bb8372cf8c74e3d5a043792 (diff)
Add a cabal flag to use the standard binary package
The standard binary package has improved efficiency and error handling [1], so in the long run we should consider switching to it. At the moment, using it is possible but not recommended, since it results in incomatible PGF files. The modified modules from the binary package have been moved from src/runtime/haskell to src/binary. [1] http://lennartkolmodin.blogspot.se/2013/03/binary-07.html
Diffstat (limited to 'gf.cabal')
-rw-r--r--gf.cabal34
1 files changed, 25 insertions, 9 deletions
diff --git a/gf.cabal b/gf.cabal
index cec15550b..7922eb556 100644
--- a/gf.cabal
+++ b/gf.cabal
@@ -10,7 +10,7 @@ synopsis: Grammatical Framework
description: GF, Grammatical Framework, is a programming language for multilingual grammar applications
homepage: http://www.grammaticalframework.org/
bug-reports: http://code.google.com/p/grammatical-framework/issues/list
-tested-with: GHC==7.4.2, GHC==7.6.2
+tested-with: GHC==7.4.2, GHC==7.6.3
data-dir: src
data-files: www/*.html
@@ -53,6 +53,10 @@ flag new-comp
Description: Make -new-comp the default
Default: True
+flag custom-binary
+ Description: Use a customised version of the binary package
+ Default: True
+
library
build-depends: base >= 4.2 && <5,
array,
@@ -63,6 +67,19 @@ library
pretty,
mtl
hs-source-dirs: src/compiler src/runtime/haskell
+
+ if flag(custom-binary)
+ hs-source-dirs: src/binary
+ other-modules:
+ -- not really part of GF but I have changed the original binary library
+ -- and we have to keep the copy for now.
+ Data.Binary
+ Data.Binary.Put
+ Data.Binary.Get
+ Data.Binary.Builder
+ else
+ build-depends: binary
+
extensions:
exposed-modules:
PGF
@@ -94,13 +111,6 @@ library
GF.Data.ErrM
GF.Data.Relation
GF.Data.Operations
--- not really part of GF but I have changed the original binary library
--- and we have to keep the copy for now.
- Data.Binary
- Data.Binary.Put
- Data.Binary.Get
- Data.Binary.Builder
- Data.Binary.IEEE754
executable gf
build-depends: base >= 4.2 && <5,
@@ -143,6 +153,13 @@ executable gf
if impl(ghc>=7.0)
ghc-options: -rtsopts
hs-source-dirs: src/compiler src/runtime/haskell
+
+ if flag(custom-binary)
+ hs-source-dirs: src/binary
+ other-modules: Data.Binary.IEEE754
+ else
+ build-depends: binary, data-binary-ieee754
+
extensions:
main-is: GF.hs
other-modules:
@@ -221,7 +238,6 @@ executable gf
PGF.Binary
PGF.Paraphrase
PGF.TypeCheck
- PGF.Binary
PGF.Printer
PGF.Optimize
GFC