File: c2hs.cabal

package info (click to toggle)
c2hs 0.28.5-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 1,744 kB
  • sloc: haskell: 6,822; ansic: 1,798; xml: 1,410; makefile: 112
file content (204 lines) | stat: -rw-r--r-- 8,985 bytes parent folder | download
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
Name:           c2hs
Version:        0.28.5
License:        GPL-2
License-File:   COPYING
Copyright:      Copyright (c) 1999-2007 Manuel M T Chakravarty
                              2005-2013 Duncan Coutts
                              2008      Benedikt Huber
Author:         Manuel M T Chakravarty
Maintainer:     chak@cse.unsw.edu.au, duncan@community.haskell.org, ian@skybluetrades.net, aditya.siram@gmail.com
Stability:      Stable
Homepage:       https://github.com/haskell/c2hs
Bug-Reports:    https://github.com/haskell/c2hs/issues
Synopsis:       C->Haskell FFI tool that gives some cross-language type safety
Description:    C->Haskell assists in the development of Haskell bindings to C
                libraries. It extracts interface information from C header
                files and generates Haskell code with foreign imports and
                marshaling. Unlike writing foreign imports by hand (or using
                hsc2hs), this ensures that C functions are imported with the
                correct Haskell types.
Category:       Development
Tested-With:    GHC==6.12.3, GHC==7.0.4, GHC==7.6.1, GHC==7.6.3, GHC==7.8.3, GHC==7.10.1
Cabal-Version:  >= 1.10
Build-Type:     Simple

--TODO: Cabal should allow 'Data-Files' in the executable stanza
Data-Files:     C2HS.hs
Extra-Source-Files:
  src/C2HS/config.h
  AUTHORS INSTALL README ChangeLog ChangeLog.old
  doc/c2hs.xml doc/c2hs.css doc/man1/c2hs.1 doc/Makefile
  tests/system/calls/*.chs tests/system/calls/*.h
  tests/system/cpp/*.chs
  tests/system/enums/*.chs tests/system/enums/*.h tests/system/enums/*.c
  tests/system/marsh/*.chs tests/system/marsh/*.h
  tests/system/pointer/*.chs tests/system/pointer/*.h tests/system/pointer/*.c
  tests/system/simple/*.chs tests/system/simple/*.h tests/system/simple/*.c
  tests/system/sizeof/*.chs tests/system/sizeof/*.h tests/system/sizeof/*.c
  tests/system/structs/*.chs tests/system/structs/*.h tests/system/structs/*.c
  tests/system/Makefile
  tests/bugs/call_capital/*.chs
  tests/bugs/call_capital/*.h
  tests/bugs/call_capital/*.c
  tests/bugs/issue-7/*.chs tests/bugs/issue-7/*.h
  tests/bugs/issue-9/*.chs tests/bugs/issue-9/*.h tests/bugs/issue-9/*.c
  tests/bugs/issue-10/*.chs tests/bugs/issue-10/*.h tests/bugs/issue-10/*.c
  tests/bugs/issue-15/*.chs tests/bugs/issue-15/*.h tests/bugs/issue-15/*.c
  tests/bugs/issue-16/*.chs tests/bugs/issue-16/*.h tests/bugs/issue-16/*.c
  tests/bugs/issue-19/*.chs tests/bugs/issue-19/*.h tests/bugs/issue-19/*.c
  tests/bugs/issue-20/*.chs tests/bugs/issue-20/*.h tests/bugs/issue-20/*.c
  tests/bugs/issue-22/*.chs tests/bugs/issue-22/*.h tests/bugs/issue-22/*.c
  tests/bugs/issue-23/*.chs tests/bugs/issue-23/*.h tests/bugs/issue-23/*.c
  tests/bugs/issue-25/*.chs
  tests/bugs/issue-29/*.chs tests/bugs/issue-29/*.h
  tests/bugs/issue-30/*.chs tests/bugs/issue-30/*.h tests/bugs/issue-30/*.c
  tests/bugs/issue-31/*.chs tests/bugs/issue-31/*.h tests/bugs/issue-31/*.c
  tests/bugs/issue-32/*.chs tests/bugs/issue-32/*.h tests/bugs/issue-32/*.c
  tests/bugs/issue-36/*.chs tests/bugs/issue-36/*.h
  tests/bugs/issue-38/*.chs tests/bugs/issue-38/*.h tests/bugs/issue-38/*.c
  tests/bugs/issue-43/*.chs tests/bugs/issue-43/*.h tests/bugs/issue-43/*.c
  tests/bugs/issue-44/*.chs tests/bugs/issue-44/*.h tests/bugs/issue-44/*.c
  tests/bugs/issue-45/*.chs tests/bugs/issue-45/*.h tests/bugs/issue-45/*.c
  tests/bugs/issue-46/*.chs tests/bugs/issue-46/*.h tests/bugs/issue-46/*.c
  tests/bugs/issue-47/*.chs tests/bugs/issue-47/*.h tests/bugs/issue-47/*.c
  tests/bugs/issue-48/*.chs tests/bugs/issue-48/*.h tests/bugs/issue-48/*.c
  tests/bugs/issue-51/*.chs tests/bugs/issue-51/*.h tests/bugs/issue-51/*.c
  tests/bugs/issue-54/*.chs tests/bugs/issue-54/*.h tests/bugs/issue-54/*.c
  tests/bugs/issue-60/*.chs tests/bugs/issue-60/*.h tests/bugs/issue-60/*.c
  tests/bugs/issue-62/*.chs tests/bugs/issue-62/*.h tests/bugs/issue-62/*.c
  tests/bugs/issue-65/*.chs tests/bugs/issue-65/*.h tests/bugs/issue-65/*.c
  tests/bugs/issue-69/*.chs tests/bugs/issue-69/*.h tests/bugs/issue-69/*.c
  tests/bugs/issue-70/*.chs tests/bugs/issue-70/*.h tests/bugs/issue-70/*.c
  tests/bugs/issue-73/*.chs tests/bugs/issue-73/*.h tests/bugs/issue-73/*.c
  tests/bugs/issue-75/*.chs tests/bugs/issue-75/*.h tests/bugs/issue-75/*.c
  tests/bugs/issue-79/*.chs tests/bugs/issue-79/*.h tests/bugs/issue-79/*.c
  tests/bugs/issue-80/*.chs tests/bugs/issue-80/*.h tests/bugs/issue-80/*.c
  tests/bugs/issue-82/*.chs
  tests/bugs/issue-83/*.chs
  tests/bugs/issue-93/*.chs tests/bugs/issue-93/*.h tests/bugs/issue-93/*.c
  tests/bugs/issue-95/*.chs tests/bugs/issue-95/*.h tests/bugs/issue-95/*.c
  tests/bugs/issue-96/*.chs tests/bugs/issue-96/*.h tests/bugs/issue-96/*.c
  tests/bugs/issue-97/*.chs tests/bugs/issue-97/*.h tests/bugs/issue-97/*.c
  tests/bugs/issue-98/*.chs tests/bugs/issue-98/*.h tests/bugs/issue-98/*.c
  tests/bugs/issue-102/*.chs
  tests/bugs/issue-103/*.chs tests/bugs/issue-103/*.h tests/bugs/issue-103/*.c
  tests/bugs/issue-107/*.chs
  tests/bugs/issue-113/*.chs tests/bugs/issue-113/*.h tests/bugs/issue-113/*.c
  tests/bugs/issue-115/*.chs tests/bugs/issue-115/*.h tests/bugs/issue-115/*.c
  tests/bugs/issue-116/*.chs tests/bugs/issue-116/*.h tests/bugs/issue-116/*.c
  tests/bugs/issue-117/*.chs tests/bugs/issue-117/*.h tests/bugs/issue-117/*.c
  tests/bugs/issue-123/*.chs tests/bugs/issue-123/*.h tests/bugs/issue-123/*.c
  tests/bugs/issue-127/*.chs tests/bugs/issue-127/*.h tests/bugs/issue-127/*.c
  tests/bugs/issue-128/*.chs tests/bugs/issue-128/*.h tests/bugs/issue-128/*.c
  tests/bugs/issue-130/*.chs tests/bugs/issue-130/*.h tests/bugs/issue-130/*.c
  tests/bugs/issue-131/*.chs tests/bugs/issue-131/*.h tests/bugs/issue-131/*.c
  tests/bugs/issue-133/*.chs tests/bugs/issue-133/*.h
  tests/bugs/issue-134/*.chs tests/bugs/issue-134/*.h
  tests/bugs/issue-136/*.chs tests/bugs/issue-136/*.h tests/bugs/issue-136/*.c
  tests/bugs/issue-140/*.chs tests/bugs/issue-140/*.h tests/bugs/issue-140/*.c
  tests/bugs/issue-141/*.chs tests/bugs/issue-141/*.h
  tests/bugs/issue-149/*.chs tests/bugs/issue-149/*.h tests/bugs/issue-149/*.c
  tests/bugs/issue-151/*.chs tests/bugs/issue-151/*.h
  tests/bugs/issue-152/*.chs tests/bugs/issue-152/*.h
  tests/bugs/issue-155/*.chs tests/bugs/issue-155/*.h
  tests/bugs/issue-180/*.chs tests/bugs/issue-180/*.h
  tests/bugs/issue-192/*.chs tests/bugs/issue-192/*.h

source-repository head
  type:         git
  location:     git://github.com/haskell/c2hs.git

flag base3

Executable c2hs
    Build-Depends:  base >= 2 && < 5,
                    bytestring,
                    language-c >= 0.7.1 && < 0.9,
                    filepath,
                    dlist

    if flag(base3)
        Build-Depends: base >= 3, process, directory, array, containers, pretty
    else
        Build-Depends: base < 3

    hs-source-dirs: src
    main-is:        Main.hs
    other-modules:
      C2HS.C
      C2HS.C.Attrs
      C2HS.C.Builtin
      C2HS.C.Info
      C2HS.C.Names
      C2HS.C.Trav
      C2HS.CHS
      C2HS.CHS.Lexer
      C2HS.Gen.Monad
      C2HS.Gen.Bind
      C2HS.Gen.Header
      C2HS.Gen.Wrapper
      C2HS.State
      C2HS.Switches
      C2HS.Config
      C2HS.Version

      Control.StateBase
      Control.State
      Control.StateTrans
      Data.Attributes
      Data.Errors
      Data.NameSpaces
      System.CIO
      Text.Lexers

    default-extensions:     ForeignFunctionInterface
    c-sources:      src/C2HS/config.c
    --TODO: eliminate the need to suppress these warnings:
    ghc-options:    -Wall -fno-warn-incomplete-patterns -fwarn-tabs
    default-language: Haskell2010

Test-Suite test-bugs
  type:                exitcode-stdio-1.0
  hs-source-dirs:      tests
  main-is:             test-bugs.hs
  build-tools:         c2hs
  build-depends:       base,
                       filepath,
                       test-framework,
                       test-framework-hunit,
                       HUnit,
                       shelly >= 1.0,
                       text,
                       transformers
  default-language: Haskell2010

Test-Suite test-system
  type:                exitcode-stdio-1.0
  hs-source-dirs:      tests
  main-is:             test-system.hs
  build-tools:         c2hs
  build-depends:       base,
                       test-framework,
                       test-framework-hunit,
                       HUnit,
                       shelly >= 1.0,
                       text,
                       transformers
  default-language: Haskell2010

Flag regression
  description: Enable regression suite build.
  default:     False

Executable regression-suite
  main-is:             regression-suite.hs
  hs-source-dirs:      tests
  if flag(regression)
    build-depends:       base,
                         filepath,
                         shelly >= 1.0,
                         text,
                         yaml >= 0.8
  else
    buildable: False
  default-language: Haskell2010