forked from clash-lang/clash-compiler
/
clash-ghc.cabal
140 lines (126 loc) · 5.71 KB
/
clash-ghc.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
Name: clash-ghc
Version: 0.7
Synopsis: CAES Language for Synchronous Hardware
Description:
CλaSH (pronounced ‘clash’) is a functional hardware description language that
borrows both its syntax and semantics from the functional programming language
Haskell. The CλaSH compiler transforms these high-level descriptions to
low-level synthesizable VHDL, Verilog, or SystemVerilog.
.
Features of CλaSH:
.
* Strongly typed, but with a very high degree of type inference, enabling both
safe and fast prototyping using concise descriptions.
.
* Interactive REPL: load your designs in an interpreter and easily test all
your component without needing to setup a test bench.
.
* Higher-order functions, with type inference, result in designs that are
fully parametric by default.
.
* Synchronous sequential circuit design based on streams of values, called
@Signal@s, lead to natural descriptions of feedback loops.
.
* Support for multiple clock domains, with type safe clock domain crossing.
.
.
This package provides:
.
* CλaSH Compiler binary using GHC/Haskell as a frontend
.
.
Prelude library: <http://hackage.haskell.org/package/clash-prelude>
Homepage: http://www.clash-lang.org/
bug-reports: http://github.com/clash-lang/clash-compiler/issues
License: BSD2
License-file: LICENSE
Author: Christiaan Baaij
Maintainer: Christiaan Baaij <christiaan.baaij@gmail.com>
Copyright: Copyright © 2012-2016, University of Twente, 2017 QBayLogic
Category: Hardware
Build-type: Simple
Extra-source-files: README.md,
CHANGELOG.md,
LICENSE_GHC,
cbits/PosixSource.h,
src-bin/CLaSH/GHCi/HsVersions.h
Cabal-version: >=1.10
source-repository head
type: git
location: https://github.com/clash-lang/clash-compiler.git
executable clash
Main-Is: src-ghc/Batch.hs
Build-Depends: base, clash-ghc
GHC-Options: -Wall
executable clashi
Main-Is: src-ghc/Interactive.hs
Build-Depends: base, clash-ghc
GHC-Options: -Wall
library
HS-Source-Dirs: src-ghc src-bin
default-language: Haskell2010
GHC-Options: -Wall -fno-warn-name-shadowing
CPP-Options: -DGHCI
default-extensions: ForeignFunctionInterface
UnboxedTuples
FlexibleInstances
MagicHash
CPP
PatternGuards
NondecreasingIndentation
other-extensions: FlexibleContexts
OverloadedStrings
RecordWildCards
ScopedTypeVariables
TemplateHaskell
TupleSections
ViewPatterns
Build-Depends: array >= 0.4 && < 0.6,
base >= 4.3.1.0 && < 5,
bifunctors >= 4.1.1 && < 5.5,
bytestring >= 0.9 && < 0.11,
containers >= 0.5.4.0 && < 0.6,
directory >= 1.2 && < 1.4,
filepath >= 1.3 && < 1.5,
ghc >= 8.0.2 && < 8.2,
process >= 1.2 && < 1.5,
hashable >= 1.1.2.3 && < 1.3,
haskeline >= 0.7.0.3 && < 0.8,
lens >= 4.0.5 && < 4.16,
mtl >= 2.1.1 && < 2.3,
text >= 0.11.3.1 && < 1.3,
transformers >= 0.4.2 && < 0.6,
unbound-generics >= 0.1 && < 0.4,
unordered-containers >= 0.2.1.0 && < 0.3,
clash-lib >= 0.7 && < 0.8,
clash-systemverilog >= 0.7 && < 0.8,
clash-vhdl >= 0.7 && < 0.8,
clash-verilog >= 0.7 && < 0.8,
clash-prelude >= 0.11 && < 0.12,
ghc-typelits-extra >= 0.1.3 && < 0.3,
ghc-typelits-knownnat >= 0.1.2 && < 0.3,
ghc-typelits-natnormalise >= 0.4.3 && < 0.6,
deepseq >= 1.3.0.2 && < 1.5,
time >= 1.4.0.1 && < 1.8,
ghc-boot >= 8.0.2 && < 8.2,
ghci >= 8.0.2 && < 8.2,
uniplate >= 1.6.12 && < 1.8
if os(windows)
Build-Depends: Win32 >= 2.3.1 && < 2.6
else
Build-Depends: unix >= 2.7.1 && < 2.8
Include-dirs: cbits
C-Sources: cbits/hschooks.c
Exposed-Modules: CLaSH.Main
Other-Modules: CLaSH.GHCi.UI
CLaSH.GHCi.UI.Info
CLaSH.GHCi.UI.Monad
CLaSH.GHCi.UI.Tags
CLaSH.GHC.CLaSHFlags
CLaSH.GHC.Evaluator
CLaSH.GHC.GenerateBindings
CLaSH.GHC.GHC2Core
CLaSH.GHC.LoadInterfaceFiles
CLaSH.GHC.LoadModules
CLaSH.GHC.NetlistTypes
Paths_clash_ghc