packages feed

clash-ghc-0.3: clash-ghc.cabal

Name:                 clash-ghc
Version:              0.3
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 merits of using a functional language to describe hardware comes
  from the fact that combinational circuits can be directly modeled as
  mathematical functions and that functional languages lend themselves very well
  at describing and (de-)composing mathematical functions.
  .
  This package provides:
  .
  * CλaSH Compiler binary using GHC/Haskell as a frontend
  .
  .
  Prelude library: <http://hackage.haskell.org/package/clash-prelude>
Homepage:             http://christiaanb.github.io/clash2
bug-reports:          http://github.com/christiaanb/clash2/issues
License:              OtherLicense
License-file:         LICENSE
Author:               Christiaan Baaij
Maintainer:           Christiaan Baaij <christiaan.baaij@gmail.com>
Copyright:            Copyright © 2012-2014 University of Twente
Category:             Hardware
Build-type:           Simple

Extra-source-files:   README.md,
                      src-bin/HsVersions.h
                      src-bin/PosixSource.h

Data-files:           primitives/clash.bit.json,
                      primitives/clash.ghc.ghc2core.json,
                      primitives/clash.prelude.json,
                      primitives/clash.prelude.explicit.json,
                      primitives/clash.promoted.nat.json,
                      primitives/clash.signal.explicit.json,
                      primitives/clash.signal.implicit.json,
                      primitives/clash.signal.types.json,
                      primitives/clash.sized.signed.json,
                      primitives/clash.sized.unsigned.json,
                      primitives/clash.sized.vector.json,
                      primitives/ghc.base.json,
                      primitives/ghc.classes.json,
                      primitives/ghc.cstring.json,
                      primitives/ghc.err.json,
                      primitives/ghc.integer.type.json,
                      primitives/ghc.prim.json,
                      primitives/ghc.real.json,
                      primitives/ghc.typelits.json,
                      primitives/ghc.types.json,
                      primitives/unsafe.coerce.json

Cabal-version:        >=1.10

source-repository head
  type: git
  location: git@github.com:christiaanb/clash2.git

Flag standalone
  Description: Build compiler for non-cabal installation
  Default: False

Executable clash
  HS-Source-Dirs:     src-ghc src-bin
  Main-Is:            Main.hs

  default-language:   Haskell2010
  GHC-Options:        -Wall -fno-warn-name-shadowing
  CPP-Options:        -DGHCI
  default-extensions: ForeignFunctionInterface
                      UnboxedTuples
                      FlexibleInstances
                      MagicHash
                      CPP
                      PatternGuards
                      NondecreasingIndentation

  Build-Depends:      array                >= 0.4,
                      base                 >= 4.3.1.0 && < 5,
                      bifunctors           >= 4.1.1,
                      bytestring           >= 0.9,
                      clash-lib            >= 0.2.1,
                      clash-prelude        >= 0.2,
                      containers           >= 0.5.4.0,
                      directory            >= 1.2,
                      filepath             >= 1.3,
                      ghc                  >= 7.8,
                      process              >= 1.2,
                      hashable             >= 1.1.2.3,
                      haskeline            >= 0.7.0.3,
                      lens                 >= 4.0.5,
                      mtl                  >= 2.1.1,
                      text                 >= 0.11.3.1,
                      transformers         >= 0.3,
                      unbound              >= 0.4.0.2,
                      unordered-containers >= 0.2.1.0

  if os(windows)
    Build-Depends:    Win32
  else
    Build-Depends:    unix

  C-Sources:          src-bin/hschooks.c

  Other-Modules:      InteractiveUI
                      GhciMonad
                      GhciTags

                      CLaSH.GHC.Compat.DynFlags
                      CLaSH.GHC.Compat.FastString
                      CLaSH.GHC.Compat.GHC
                      CLaSH.GHC.Compat.Outputable
                      CLaSH.GHC.Compat.PrelNames
                      CLaSH.GHC.Compat.TyCon
                      CLaSH.GHC.Evaluator
                      CLaSH.GHC.GenerateBindings
                      CLaSH.GHC.GHC2Core
                      CLaSH.GHC.LoadInterfaceFiles
                      CLaSH.GHC.LoadModules
                      CLaSH.GHC.NetlistTypes

  if flag(standalone)
    CPP-Options:      -DSTANDALONE
  else
    Build-Depends:    ghc-paths
    Other-Modules:    Paths_clash_ghc