]> gitweb.michael.orlitzky.com - spline3.git/blob - spline3.cabal
Add a cabal file.
[spline3.git] / spline3.cabal
1 name: spline3
2 version: 0.0
3 cabal-version: >= 1.8
4 author: Michael Orlitzky
5 maintainer: Michael Orlitzky <michael@orlitzky.com>
6 synopsis:
7 An implementation of the Sorokina and Zeilfelder
8 trivariate spline scheme on type-6 tetrahedral partitions.
9 build-type: Simple
10
11 flag HPC
12 description: Build with Haskell Program Coverage (HPC) support
13 default: False
14
15 flag LLVM
16 description: Build with LLVM
17 default: False
18
19 executable spline3
20 build-depends:
21 base == 4.4.*,
22 filepath == 1.*,
23 HUnit == 1.2.*,
24 QuickCheck == 2.4.*,
25 repa == 3.*,
26 repa-algorithms == 3.*,
27 repa-io == 3.*,
28 test-framework == 0.4.*,
29 test-framework-hunit == 0.2.*,
30 test-framework-quickcheck2 == 0.2.*,
31 vector == 0.9.*
32
33 main-is:
34 Main.hs
35
36 hs-source-dirs:
37 src/
38
39 ghc-options:
40 -Wall
41 -fwarn-hi-shadowing
42 -fwarn-missing-signatures
43 -fwarn-name-shadowing
44 -fwarn-orphans
45 -fwarn-type-defaults
46 -fwarn-tabs
47 -fwarn-incomplete-record-updates
48 -fwarn-monomorphism-restriction
49 -fwarn-unused-do-bind
50 -funbox-strict-fields
51 -fexcess-precision
52 -fno-spec-constr-count
53 -rtsopts
54 -threaded
55
56 if flag(llvm)
57 ghc-options:
58 -fllvm
59 -optlo-O3
60 -optlc-O3
61 else
62 ghc-options:
63 -optc-O3
64 -optc-march=native
65
66 -- GHC's -O2 and -fhpc don't get along too well at the moment.
67 -- Note: this relies on the LLVM/HPC flags being mutually-exclusive.
68 if flag(hpc)
69 ghc-options:
70 -fhpc
71 else
72 ghc-options:
73 -O2
74
75 ghc-prof-options:
76 -prof
77 -auto-all
78 -caf-all