packages feed

feldspar-compiler-0.7: feldspar-compiler.cabal

name:           feldspar-compiler
version:        0.7
cabal-version:  >= 1.14
build-type:     Simple
license:        BSD3
license-file:   LICENSE
copyright:      Copyright (c) 2013-2014 Emil Axelsson, Peter Jonsson,
                                        Anders Persson, Josef Svenningsson
                Copyright (c) 2012 Emil Axelsson, Gergely Dévai,
                                   Anders Persson, Josef Svenningsson
                Copyright (c) 2009-2011, ERICSSON AB
author:         Feldspar group,
                Eotvos Lorand University Faculty of Informatics
maintainer:     anders.cj.persson@gmail.com
stability:      experimental
homepage:       http://feldspar.github.com
bug-reports:    https://github.com/feldspar/feldspar-compiler/issues
synopsis:       Compiler for the Feldspar language
description:    Feldspar (**F**unctional **E**mbedded **L**anguage for **DSP**
                and **PAR**allelism) is an embedded DSL for describing digital
                signal processing algorithms.
                This library (FeldsparCompiler) contains a prototype compiler
                that supports C code generation from programs written in this
                language both according to ANSI C and also targeted to a real
                DSP HW.
category:       Compiler
tested-with:    GHC==7.8, GHC==7.6, GHC==7.4

source-repository head
  type:     git
  location: git://github.com/Feldspar/feldspar-compiler.git

library
  hs-source-dirs: lib

  exposed-modules:
    Feldspar.Compiler.Imperative.Representation
    Feldspar.Compiler.Imperative.FromCore
    Feldspar.Compiler.Imperative.FromCore.Array
    Feldspar.Compiler.Imperative.FromCore.Binding
    Feldspar.Compiler.Imperative.FromCore.Condition
    Feldspar.Compiler.Imperative.FromCore.ConditionM
    Feldspar.Compiler.Imperative.FromCore.Error
    Feldspar.Compiler.Imperative.FromCore.Future
    Feldspar.Compiler.Imperative.FromCore.Interpretation
    Feldspar.Compiler.Imperative.FromCore.Literal
    Feldspar.Compiler.Imperative.FromCore.Loop
    Feldspar.Compiler.Imperative.FromCore.Mutable
    Feldspar.Compiler.Imperative.FromCore.MutableToPure
    Feldspar.Compiler.Imperative.FromCore.NoInline
    Feldspar.Compiler.Imperative.FromCore.Par
    Feldspar.Compiler.Imperative.FromCore.Primitive
    Feldspar.Compiler.Imperative.FromCore.SizeProp
    Feldspar.Compiler.Imperative.FromCore.SourceInfo
    Feldspar.Compiler.Imperative.FromCore.Tuple
    Feldspar.Compiler.Imperative.FromCore.FFI
    Feldspar.Compiler.Imperative.FromCore.Save
    Feldspar.Compiler.Imperative.FromCore.Switch
    Feldspar.Compiler.Imperative.Frontend
    Feldspar.Compiler.Imperative.TransformationInstance
    Feldspar.Compiler.Imperative.Plugin.IVars
    Feldspar.Compiler.Backend.C.CodeGeneration
    Feldspar.Compiler.Backend.C.Plugin.Rule
    Feldspar.Compiler.Backend.C.Library
    Feldspar.Compiler.Backend.C.Options
    Feldspar.Compiler.Backend.C.Platforms
    Feldspar.Compiler.Frontend.Interactive.Interface
    Feldspar.Compiler.Plugin
    Feldspar.Compiler.Marshal
    Feldspar.Compiler.CallConv
    Feldspar.Compiler.Compiler
    Feldspar.Compiler.Error
    Feldspar.Compiler.Internal
    Feldspar.Compiler
    Feldspar.Transformation
    Feldspar.Transformation.Framework
    Feldspar.Runtime

  default-language: Haskell2010

  build-depends:
    base              == 4.*,
    Cabal,
    ghc-paths,
    syntactic,
    plugins-multistage >= 0.5 && < 0.6,
    feldspar-language  >= 0.7 && < 0.8,
    mtl,
    pretty,
    filepath,
    containers,
    process,
    directory >= 1.1,
    template-haskell,
    plugins >= 1.5.4,
    data-default >= 0.5,
    storable-tuple  >= 0.0.2,
    storable-record >= 0.0.2.5

  default-extensions:

  include-dirs:
    ./lib/Feldspar/C

  c-sources:
   lib/Feldspar/C/feldspar_c99.c
   lib/Feldspar/C/taskpool.c
   lib/Feldspar/C/ivar.c

  cc-options: -std=c99 -Wall

  if os(linux)
    extra-libraries: gcc_s

  install-includes:
    feldspar_array.h
    feldspar_c99.h
    feldspar_c99.c
    feldspar_tic64x.h
    feldspar_tic64x.c
    feldspar_future.h
    log.h
    ivar.h
    ivar.c
    taskpool.h
    taskpool.c

  ghc-options: -fcontext-stack=100

  cpp-options: -DRELEASE

-- executable feldspar
--   hs-source-dirs: src

--   main-is : Feldspar/Compiler/Frontend/CommandLine/Main.hs

--   default-language: Haskell2010

--   other-modules:
--     Feldspar.Compiler.Frontend.CommandLine.NameExtractor
--     Feldspar.Compiler.Frontend.CommandLine.API.Library
--     Feldspar.Compiler.Frontend.CommandLine.API.Constants
--     Feldspar.Compiler.Frontend.CommandLine.API.Options
--     Feldspar.Compiler.Frontend.CommandLine.API

--   build-depends:
--     feldspar-language,
--     feldspar-compiler,
--     mtl,
--     base,
--     hint,
--     process,
--     filepath,
--     directory,
--     ansi-terminal,
--     MonadCatchIO-mtl,
--     haskell-src-exts >= 1.14

--   default-extensions:

--   ghc-options: -fcontext-stack=100

--   cpp-options: -DRELEASE

test-suite regression
  type: exitcode-stdio-1.0

  hs-source-dirs: tests

  main-is: RegressionTests.hs

  default-language: Haskell2010

  build-depends:
    feldspar-language,
    feldspar-compiler,
    mtl,
    base,
    Cabal,
    process,
    bytestring       >= 0.9 && < 0.11,
    tasty            >= 0.3,
    tasty-golden     >= 2.0,
    tasty-quickcheck >= 0.3,
    QuickCheck       >= 2.5 && < 3.0

test-suite callconv
  type: exitcode-stdio-1.0

  hs-source-dirs: tests

  main-is: CallingConvention.hs

  default-language: Haskell2010

  build-depends:
    feldspar-language,
    feldspar-compiler,
    base,
    tasty            >= 0.3,
    tasty-quickcheck >= 0.3,
    QuickCheck       >= 2.5 && < 3.0

benchmark crc
  type: exitcode-stdio-1.0

  hs-source-dirs: benchs

  main-is: CRC.hs

  default-language: Haskell2010

  ghc-options: -O2

  build-depends:
    feldspar-language,
    feldspar-compiler,
    data-default       >= 0.5.3 && < 0.6,
    base,
    deepseq,
    criterion