forked from visq/language-c
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlanguage-c.cabal
133 lines (122 loc) · 4.78 KB
/
language-c.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
Name: language-c
Version: 0.8.2
Cabal-Version: >= 1.8
Build-Type: Simple
License: BSD3
License-File: LICENSE
Copyright: LICENSE
Author: AUTHORS
Maintainer: [email protected]
Stability: experimental
Homepage: http://visq.github.io/language-c/
Bug-reports: https://github.com/visq/language-c/issues/
Synopsis: Analysis and generation of C code
Description: Language C is a haskell library for the analysis and generation of C code.
It features a complete, well tested parser and pretty printer for all of C99 and a large
set of C11 and clang/GNU extensions.
Category: Language
Tested-With: GHC == 7.8.*, GHC == 7.10.*, GHC == 8.0.*, GHC == 8.2.1
Extra-Source-Files: AUTHORS AUTHORS.c2hs ChangeLog README
src/Language/C/Parser/Lexer.x
src/Language/C/Parser/Parser.y
Source-Repository head
type: git
location: https://github.com/visq/language-c.git
Flag useByteStrings
Description: Use ByteString as InputStream datatype
Default: True
Flag separateSYB
description: Data.Generics available in separate package.
Flag allWarnings
Description: Turn on all warnings for building (development)
Default: False
Flag iecFpExtension
Description: Support IEC 60559 floating point extension (defines _Float128)
Default: True
Library
Extensions: CPP, DeriveDataTypeable, DeriveGeneric, PatternGuards, BangPatterns, ExistentialQuantification, GeneralizedNewtypeDeriving, ScopedTypeVariables
Build-Depends: base >= 3 && < 5,
array,
containers >= 0.3,
deepseq >= 1.4.0.0 && < 1.5,
directory,
filepath,
pretty < 1.2.0,
process
if flag(allWarnings)
if impl(ghc >= 8.0)
ghc-options: -Wall -Wno-redundant-constraints
else
ghc-options: -Wall
If flag(separateSYB)
Build-Depends:
base >=4 && <5,
syb
Else
Build-Depends:
base <4
if flag(useByteStrings)
Build-Depends: bytestring >= 0.9.0
else
cpp-options: -DNO_BYTESTRING
if flag(iecFpExtension)
cpp-options: -DIEC_60559_TYPES_EXT
-- GHC.Generics lived in `ghc-prim` for GHC 7.2 & GHC 7.4
if impl(ghc == 7.4.*)
build-depends: ghc-prim == 0.2.*
Build-Tools: happy, alex
Hs-Source-Dirs: src
Exposed-Modules:
-- top-level
Language.C
-- data
Language.C.Data
Language.C.Data.Position
Language.C.Data.Ident
Language.C.Data.Error
Language.C.Data.Name
Language.C.Data.Node
Language.C.Data.InputStream
-- syntax
Language.C.Syntax
Language.C.Syntax.AST
Language.C.Syntax.Constants
Language.C.Syntax.Ops
Language.C.Syntax.Utils
-- parser
Language.C.Parser
-- pretty printer
Language.C.Pretty
-- system
Language.C.System.Preprocess
Language.C.System.GCC
-- analysis [experimental]
Language.C.Analysis
Language.C.Analysis.ConstEval
Language.C.Analysis.Builtins
Language.C.Analysis.SemError
Language.C.Analysis.SemRep
Language.C.Analysis.DefTable
Language.C.Analysis.TravMonad
Language.C.Analysis.AstAnalysis
Language.C.Analysis.DeclAnalysis
Language.C.Analysis.Debug
Language.C.Analysis.TypeCheck
Language.C.Analysis.TypeConversions
Language.C.Analysis.TypeUtils
Language.C.Analysis.NameSpaceMap
-- semrep -> code [alpha]
Language.C.Analysis.Export
Other-Modules:
Language.C.Data.RList
-- parser implementation
Language.C.Parser.Builtin
Language.C.Parser.Lexer
Language.C.Parser.ParserMonad
Language.C.Parser.Tokens
Language.C.Parser.Parser
-- test description
Test-Suite language-c-harness
type: exitcode-stdio-1.0
main-is: test/harness/run-harness.hs
build-depends: base, language-c, directory, process, filepath