summaryrefslogtreecommitdiff
path: root/lambdacube-compiler.cabal
blob: aa5ac44d9ae60048c2f4f4c66b9f07ab5f105ff7 (plain)
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
-- Initial lambdacube-dsl.cabal generated by cabal init.  For further 
-- documentation, see http://haskell.org/cabal/users-guide/

name:                lambdacube-compiler
version:             0.3.0.0
homepage:            lambdacube3d.com
license:             BSD3
license-file:        LICENSE
author:              Csaba Hruska, Péter Diviánszky, Dániel Pék, Andor Pénzes
maintainer:          csaba.hruska@gmail.com
category:            Graphics
build-type:          Simple
cabal-version:       >=1.10

Flag profiling
  Description: Enable profiling
  Default: False

library
  exposed-modules:
    -- Compiler
    LambdaCube.Compiler.Token
    LambdaCube.Compiler.Pretty
    LambdaCube.Compiler.Infer
    LambdaCube.Compiler.CoreToIR
    LambdaCube.Compiler.Driver
  other-extensions:
    LambdaCase
    PatternSynonyms
    ViewPatterns
    TypeSynonymInstances
    FlexibleInstances
    NoMonomorphismRestriction
    TypeFamilies
    RecordWildCards
    DeriveFunctor
    DeriveFoldable
    DeriveTraversable
    GeneralizedNewtypeDeriving
    OverloadedStrings
    TupleSections
    MonadComprehensions
    ExistentialQuantification
    ScopedTypeVariables
    ParallelListComp

  -- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
  build-depends:
    aeson >= 0.9 && <1,
    base >=4.7 && <4.9,
    containers >=0.5 && <0.6,
    deepseq,
    directory,
    exceptions >= 0.8 && <0.9,
    filepath,
    mtl >=2.2 && <2.3,
    parsec >= 3.1 && <3.2,
    indentation >= 0.2 && <0.3,
    pretty-compact >=1.0 && <1.1,
    text >= 1.2 && <1.3,
    lambdacube-ir,
    vector >= 0.11 && <0.12

  hs-source-dirs:      src
  default-language:    Haskell2010


executable lambdacube-compiler-unit-tests
  hs-source-dirs:   test
  main-is:          UnitTests.hs
  default-language: Haskell2010

  -- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
  build-depends:
    base < 4.9,
    containers >=0.5 && <0.6,
    indentation >= 0.2 && <0.3,
    lambdacube-compiler,
    mtl >=2.2 && <2.3,
    parsec >= 3.1 && <3.2,
    pretty-compact >=1.0 && <1.1,
    QuickCheck >= 2.8 && <2.9,
    tasty >= 0.11 && <0.12,
    tasty-quickcheck >=0.8 && <0.9


executable lambdacube-compiler-test-suite
  hs-source-dirs:   test
  main-is:          runTests.hs

  -- CAUTION: When the build-depends change, please bump the git submodule in lambdacube-docker repository
  build-depends:
    aeson >= 0.9 && <1,
    async >= 2.0 && <2.1,
    base < 4.9,
    containers >=0.5 && <0.6,
    deepseq,
    directory,
    exceptions >= 0.8 && <0.9,
    filepath,
    mtl >=2.2 && <2.3,
    monad-control >= 1.0 && <1.1,
    lambdacube-compiler,
    parsec >= 3.1 && <3.2,
    indentation >= 0.2 && <0.3,
    pretty-compact >=1.0 && <1.1,
    text >= 1.2 && <1.3,
    lambdacube-ir,
    vector >= 0.11 && <0.12
  default-language:    Haskell2010
  if flag(profiling)
    GHC-Options: -O2 -fhpc -hpcdir dist/hpc/lambdacube-compiler -prof -fprof-auto -rtsopts
  else
    GHC-Options: -O2 -fhpc -hpcdir dist/hpc/lambdacube-compiler