]> gitweb.michael.orlitzky.com - spline3.git/commitdiff
Add a cabal file.
authorMichael Orlitzky <michael@orlitzky.com>
Sun, 27 Nov 2011 01:35:28 +0000 (20:35 -0500)
committerMichael Orlitzky <michael@orlitzky.com>
Sun, 27 Nov 2011 01:35:28 +0000 (20:35 -0500)
spline3.cabal [new file with mode: 0644]

diff --git a/spline3.cabal b/spline3.cabal
new file mode 100644 (file)
index 0000000..4912de0
--- /dev/null
@@ -0,0 +1,78 @@
+name:           spline3
+version:        0.0
+cabal-version:  >= 1.8
+author:         Michael Orlitzky
+maintainer:    Michael Orlitzky <michael@orlitzky.com>
+synopsis:
+  An implementation of the Sorokina and Zeilfelder
+  trivariate spline scheme on type-6 tetrahedral partitions.
+build-type:     Simple
+
+flag HPC
+  description: Build with Haskell Program Coverage (HPC) support
+  default:     False
+
+flag LLVM
+  description: Build with LLVM
+  default:     False
+
+executable spline3
+  build-depends:
+    base                        == 4.4.*,
+    filepath                    == 1.*,
+    HUnit                       == 1.2.*,
+    QuickCheck                  == 2.4.*,
+    repa                        == 3.*,
+    repa-algorithms             == 3.*,
+    repa-io                     == 3.*,    
+    test-framework              == 0.4.*,
+    test-framework-hunit        == 0.2.*,
+    test-framework-quickcheck2  == 0.2.*,
+    vector                      == 0.9.*
+
+  main-is:
+    Main.hs
+
+  hs-source-dirs:
+    src/
+
+  ghc-options:
+    -Wall
+    -fwarn-hi-shadowing
+    -fwarn-missing-signatures
+    -fwarn-name-shadowing
+    -fwarn-orphans
+    -fwarn-type-defaults
+    -fwarn-tabs
+    -fwarn-incomplete-record-updates
+    -fwarn-monomorphism-restriction
+    -fwarn-unused-do-bind
+    -funbox-strict-fields
+    -fexcess-precision
+    -fno-spec-constr-count
+    -rtsopts
+    -threaded
+
+  if flag(llvm)
+    ghc-options:
+      -fllvm
+      -optlo-O3
+      -optlc-O3
+  else
+    ghc-options:
+      -optc-O3
+      -optc-march=native
+
+  -- GHC's -O2 and -fhpc don't get along too well at the moment.
+  -- Note: this relies on the LLVM/HPC flags being mutually-exclusive.
+  if flag(hpc)
+    ghc-options:
+      -fhpc
+  else
+    ghc-options:
+      -O2
+
+  ghc-prof-options:
+    -prof
+    -auto-all
+    -caf-all