diff options
Diffstat (limited to 'hmatrix.cabal')
-rw-r--r-- | hmatrix.cabal | 39 |
1 files changed, 25 insertions, 14 deletions
diff --git a/hmatrix.cabal b/hmatrix.cabal index c8b307b..06fc12b 100644 --- a/hmatrix.cabal +++ b/hmatrix.cabal | |||
@@ -1,5 +1,5 @@ | |||
1 | Name: hmatrix | 1 | Name: hmatrix |
2 | Version: 0.4.1.0 | 2 | Version: 0.5.0.0 |
3 | License: GPL | 3 | License: GPL |
4 | License-file: LICENSE | 4 | License-file: LICENSE |
5 | Author: Alberto Ruiz | 5 | Author: Alberto Ruiz |
@@ -25,14 +25,14 @@ flag mkl | |||
25 | description: Link with Intel's MKL optimized libraries. | 25 | description: Link with Intel's MKL optimized libraries. |
26 | default: False | 26 | default: False |
27 | 27 | ||
28 | flag gsl | ||
29 | description: Link with GSL unoptimized blas. | ||
30 | default: False | ||
31 | |||
32 | flag unsafe | 28 | flag unsafe |
33 | description: Compile the library with bound checking disabled. | 29 | description: Compile the library with bound checking disabled. |
34 | default: False | 30 | default: False |
35 | 31 | ||
32 | flag no-workaround | ||
33 | description: Expose the NaN problem | ||
34 | default: False | ||
35 | |||
36 | library | 36 | library |
37 | if flag(splitBase) | 37 | if flag(splitBase) |
38 | build-depends: base >= 3, array, QuickCheck, HUnit, storable-complex | 38 | build-depends: base >= 3, array, QuickCheck, HUnit, storable-complex |
@@ -101,21 +101,32 @@ library | |||
101 | C-sources: lib/Data/Packed/Internal/auxi.c, | 101 | C-sources: lib/Data/Packed/Internal/auxi.c, |
102 | lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.c, | 102 | lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.c, |
103 | lib/Numeric/GSL/gsl-aux.c | 103 | lib/Numeric/GSL/gsl-aux.c |
104 | |||
105 | ghc-prof-options: -auto-all | ||
106 | |||
107 | if flag(unsafe) | ||
108 | cpp-options: -DUNSAFE | ||
109 | |||
110 | if arch(i386) && !flag(no-workaround) && !flag(mkl) | ||
111 | cpp-options: -DWORKAROUND | ||
112 | |||
104 | if flag(mkl) | 113 | if flag(mkl) |
105 | if arch(x86_64) | 114 | if arch(x86_64) |
106 | extra-libraries: gsl mkl_lapack mkl_intel_lp64 mkl_sequential mkl_core | 115 | extra-libraries: gsl mkl_lapack mkl_intel_lp64 mkl_sequential mkl_core |
107 | else | 116 | else |
108 | extra-libraries: gsl mkl_lapack mkl_intel mkl_sequential mkl_core | 117 | extra-libraries: gsl mkl_lapack mkl_intel mkl_sequential mkl_core |
109 | else | 118 | else |
110 | if flag(gsl) | ||
111 | extra-libraries: gsl gslcblas lapack | ||
112 | else | ||
113 | extra-libraries: gsl lapack | ||
114 | 119 | ||
115 | ghc-prof-options: -auto-all | 120 | extra-libraries: gsl lapack |
116 | 121 | ||
117 | if flag(unsafe) | 122 | -- Include here additional libraries if they are |
118 | cpp-options: -DUNSAFE | 123 | -- required by your system to link -lgsl -llapack |
124 | -- Examples: | ||
119 | 125 | ||
120 | if arch(i386) | 126 | -- blas -- (cblas included in blas), not required in ubuntu/debian, |
121 | cpp-options: -DWORKAROUND | 127 | -- automatically linked by lapack |
128 | |||
129 | -- gslcblas -- nonoptimized cblas in gsl | ||
130 | |||
131 | -- f77blas cblas atlas gcc_s -- for atlas-lapack in Arch Linux | ||
132 | -- blas gslcblas gfortran -- for normal blas and lapack in Arch Linux | ||