summaryrefslogtreecommitdiff
path: root/gf.cabal
blob: 4be421edfd06222d91cc124f9e433b70cfdf5378 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
name: gf
version: 3.3.3-darcs

cabal-version: >= 1.8
build-type: Custom
license: OtherLicense
license-file: LICENSE
category: Natural Language Processing, Compiler
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==6.12.3, GHC==7.0.4

data-dir: src
data-files: www/index.html
	    www/gfse/*.html
	    www/gfse/*.css
	    www/gfse/*.js
	    www/gfse/P/*.png
	    www/gfse/P/*.jpg
	    www/minibar/*.html
	    www/minibar/*.css
	    www/minibar/*.js
	    www/minibar/*.png
	    www/TransQuiz/*.html
	    www/TransQuiz/*.css
	    www/TransQuiz/*.js
	    www/TransQuiz/*.png
	    www/translator/*.html
	    www/translator/*.css
	    www/translator/*.js

source-repository head
  type:     darcs
  location: http://www.grammaticalframework.org/


flag interrupt
  Description: Enable Ctrl+Break in the shell
  Default:     True

flag server
  Description: Include --server mode
  Default:     True

library
  build-depends: base >= 4.2 && <5,
                 array,
                 fst,
                 containers,
                 bytestring,
                 random,
                 pretty,
                 mtl
--ghc-options: -O2
  hs-source-dirs: src/compiler src/runtime/haskell
  extensions: 
  exposed-modules: 
    PGF
  other-modules:
    PGF.CId
    PGF.Data
    PGF.Macros
    PGF.Generate
    PGF.Linearize
    PGF.Parse
    PGF.SortTop
    PGF.Expr
    PGF.Type
    PGF.Tree
    PGF.Tokenizer
    PGF.Paraphrase
    PGF.TypeCheck
    PGF.Binary
    PGF.Morphology
    PGF.VisualizeTree
    PGF.Printer
    PGF.Probabilistic
    PGF.Forest
    PGF.Optimize
    PGF.Signature
    GF.Data.TrieMap
    GF.Data.Utilities
    GF.Data.SortedList
    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,
                 array,
                 containers,
                 bytestring,
                 filepath,
                 fst,
                 directory,
                 random,
                 old-time,
                 process,
                 pretty,
                 mtl,
                 haskeline
  if flag(server)
    build-depends: httpd-shed, network, silently, utf8-string, json, cgi
    cpp-options: -DSERVER_MODE
    other-modules: GFServer
    hs-source-dirs: src/server src/server/transfer src/example-based

  build-tools: happy
           --, alex>=2 && <3 -- tricky to install in Ubuntu 12.04
  if os(windows)
    build-depends: Win32
  else
    build-depends: unix

  ghc-prof-options: -auto-all

--ghc-options: -O2
  if impl(ghc>=7.0)
    ghc-options: -rtsopts
  hs-source-dirs: src/compiler src/runtime/haskell
  extensions:
  main-is: GF.hs
  other-modules:
    GF.Data.BacktrackM
    GF.Data.TrieMap
    GF.Data.Utilities
    GF.Data.SortedList
    GF.Data.ErrM
    GF.Data.Operations
    GF.Data.Str
    GF.JavaScript.AbsJS
    GF.JavaScript.PrintJS
    GF.Infra.Ident
    GF.Infra.GetOpt
    GF.Infra.Option
    GF.Infra.UseIO
    GF.Infra.CheckM
    GF.Command.Commands
    GF.Command.Interpreter
    GF.Command.Abstract
    GF.Command.Parse
    GF.Command.Importing
    GF.Grammar
    GF.Grammar.Lexer
    GF.Grammar.Parser
    GF.Grammar.Grammar
    GF.Grammar.Values
    GF.Grammar.Macros
    GF.Grammar.Lockfield
    GF.Grammar.MMacros
    GF.Grammar.Lookup
    GF.Grammar.Unify
    GF.Grammar.PatternMatch
    GF.Grammar.Printer
    GF.Grammar.ShowTerm
    GF.Grammar.Binary
    GF.Compile.Update
    GF.Compile.CheckGrammar
    GF.Compile.Refresh
    GF.Compile.Rename
    GF.Compile.ReadFiles
    GF.Compile.GrammarToPGF
    GF.Compile.ToAPI
    GF.Compile.TypeCheck.Abstract
    GF.Compile.TypeCheck.Concrete
    GF.Compile.TypeCheck.TC
    GF.Compile.Compute.Abstract
    GF.Compile.Compute.Concrete
    GF.Compile.Compute.AppPredefined
    GF.Compile.Optimize
    GF.Compile.SubExOpt
    GF.Compile.GetGrammar
    GF.Compile.PGFtoHaskell
    GF.Compile.PGFtoProlog
    GF.Compile.PGFtoJS
    GF.Compile
    GF.Index
    GF.Quiz
    PGF
    PGF.CId
    PGF.Data
    PGF.Expr
    PGF.Type
    PGF.Tree
    PGF.Macros
    PGF.Generate
    PGF.Linearize
    PGF.Binary
    PGF.Paraphrase
    PGF.TypeCheck
    PGF.Binary
    PGF.Printer
    PGF.Optimize
    GFC
    GFI

  if flag(interrupt)
    cpp-options: -DUSE_INTERRUPT
    other-modules: GF.System.UseSignal
  else
    other-modules: GF.System.NoSignal