-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCPP.cabal
164 lines (145 loc) · 3.63 KB
/
CPP.cabal
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
cabal-version: 3.0
name: CPP
version: 0.1.0.0
build-type: Simple
license: MIT
license-file: LICENSE
author: Arnau Abella
maintainer: [email protected]
copyright: 2022 Arnau Abella
homepage: https://github.com/monadplus/CPP-lang
bug-reports: https://github.com/monadplus/CPP-lang/issues
synopsis:
description:
category:
extra-source-files:
tested-with: GHC ==9.2.8, GHC ==9.4.5
source-repository head
type: git
location: https://github.com/monadplus/CPP.git
common common-options
default-language: Haskell2010
build-depends: base ^>=4.17
ghc-options:
-Wall -Wcompat -Widentities -Wincomplete-uni-patterns
-Wincomplete-record-updates -Wredundant-constraints
-Wnoncanonical-monad-instances
if impl(ghc >=8.2)
ghc-options: -fhide-source-paths
if impl(ghc >=8.4)
ghc-options: -Wmissing-export-lists -Wpartial-fields
if impl(ghc >=8.8)
ghc-options: -Wmissing-deriving-strategies -fwrite-ide-info -hiedir=.hie
if impl(ghc >=8.10)
ghc-options: -Wunused-packages
if impl(ghc >=9.0)
ghc-options: -Winvalid-haddock
if impl(ghc >=9.2)
ghc-options: -Wredundant-bang-patterns -Woperator-whitespace
if impl(ghc >=9.4)
ghc-options: -Wredundant-strictness-flags
default-extensions:
AllowAmbiguousTypes
BangPatterns
ConstraintKinds
DataKinds
DefaultSignatures
DeriveAnyClass
DeriveDataTypeable
DeriveFoldable
DeriveFunctor
DeriveGeneric
DeriveTraversable
DerivingStrategies
DerivingVia
DuplicateRecordFields
EmptyCase
EmptyDataDecls
FlexibleContexts
FlexibleInstances
FunctionalDependencies
GADTs
GeneralizedNewtypeDeriving
InstanceSigs
KindSignatures
LambdaCase
NamedFieldPuns
OverloadedStrings
PolyKinds
QuasiQuotes
RankNTypes
RecordWildCards
RoleAnnotations
ScopedTypeVariables
StandaloneDeriving
StandaloneKindSignatures
TemplateHaskell
TupleSections
TypeApplications
TypeFamilies
TypeOperators
UndecidableInstances
ViewPatterns
flag dev
description: Turn on development settings.
default: False
manual: True
executable CPP
import: common-options
main-is: Main.hs
hs-source-dirs: app
build-depends: CPP
if flag(dev)
ghc-options: -O0
else
ghc-options: -O2 -threaded -rtsopts -with-rtsopts=-N
library
import: common-options
hs-source-dirs: src
build-tool-depends:
, alex:alex ^>=3.2
, happy:happy ^>=1.20
exposed-modules:
CPP
CPP.AST
CPP.Error
CPP.Interpreter
CPP.JVM.CodeGen
CPP.JVM.Jasmin
CPP.JVM.Runtime
CPP.Lexer
CPP.Lexer.Support
CPP.Parser
CPP.TypeChecker
Extra
build-depends:
, array ^>=0.5.4
, bytestring ^>=0.11
, containers ^>=0.6
, directory ^>=1.3
, filepath ^>=1.4
, microlens-platform ^>=0.4
, mtl ^>=2.3
, string-qq ^>=0.0.4
, typed-process ^>=0.2
test-suite CPP-tests
import: common-options
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: test
other-modules:
Test.CodeGen
Test.CodeGen.Good01
Test.CodeGen.Good02
Test.CodeGen.Good03
Test.Interpreter
Test.TypeChecker
Test.Util
build-depends:
, CPP
, deepseq ^>=1.4
, directory ^>=1.3
, filepath ^>=1.4
, hspec ^>=2.8
, hspec-expectations ^>=0.8
, string-qq ^>=0.0.4