1cabal-version: >=1.10
2Name: hsc2hs
3Version: 0.68.7
4x-revision: 1
5
6Copyright: 2000, Marcin Kowalczyk
7License: BSD3
8License-File: LICENSE
9Author: Marcin Kowalczyk <qrczak@knm.org.pl>
10Maintainer: ghc-devs@haskell.org
11Synopsis: A preprocessor that helps with writing Haskell bindings to C code
12Bug-Reports: https://github.com/haskell/hsc2hs/issues
13Description:
14    The hsc2hs program can be used to automate some parts of the
15    process of writing Haskell bindings to C code.  It reads an
16    almost-Haskell source file with embedded special constructs, and
17    outputs a real Haskell file with these constructs processed, based
18    on information taken from some C headers.  The extra constructs
19    provide Haskell counterparts of C types, values of C constants,
20    including sizes of C types, and access to fields of C structs.
21    .
22    For more details, see the
23    <http://downloads.haskell.org/~ghc/master/users-guide/utils.html#writing-haskell-interfaces-to-c-code-hsc2hs hsc2hs section>
24    in the GHC User's Guide.
25Category: Development
26Data-Files: template-hsc.h
27build-type: Simple
28tested-with: GHC==8.10.1, GHC==8.8.3, GHC==8.6.5, GHC==8.4.4, GHC==8.2.2, GHC==8.0.2, GHC==7.10.3, GHC==7.8.4, GHC==7.6.3, GHC==7.4.2, GHC==7.2.2, GHC==7.0.4
29
30extra-source-files:
31  changelog.md
32  test/asm/*.s
33
34flag in-ghc-tree
35  description: Are we in a GHC tree?
36  default: False
37  manual: True
38
39source-repository head
40    Type: git
41    Location: https://github.com/haskell/hsc2hs.git
42
43Executable hsc2hs
44    Default-Language: Haskell2010
45    Main-Is: Main.hs
46    Other-Modules:
47        C
48        Common
49        CrossCodegen
50        DirectCodegen
51        Flags
52        HSCParser
53        ATTParser
54        UtilsCodegen
55        Compat.ResponseFile
56        Compat.TempFile
57        Paths_hsc2hs
58
59    c-sources:
60        cbits/utils.c
61
62    Other-Extensions: CPP, NoMonomorphismRestriction
63
64    Build-Depends: base       >= 4.3.0 && < 4.16,
65                   containers >= 0.4.0 && < 0.7,
66                   directory  >= 1.1.0 && < 1.4,
67                   filepath   >= 1.2.0 && < 1.5,
68                   process    >= 1.1.0 && < 1.7
69
70    if os(windows)
71      -- N.B. Job object support was irreparably broken prior to 1.6.8.
72      -- See https://github.com/haskell/process/issues/167.
73      Build-Depends: process  >= 1.6.8 && < 1.7
74
75    ghc-options:   -Wall
76    if flag(in-ghc-tree)
77       cpp-options: -DIN_GHC_TREE
78
79test-suite spec
80  main-is:           Spec.hs
81  hs-source-dirs:    .
82  other-modules:     ATTParser
83  ghc-options:       -Wall -threaded
84  type:              exitcode-stdio-1.0
85  build-depends:       base
86                     , tasty
87                     , tasty-hspec
88  default-language: Haskell2010
89