summaryrefslogtreecommitdiff
path: root/hmatrix.cabal
blob: 8235753fe9310327621c6700095a8f77ba684e12 (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
115
116
117
118
119
120
121
122
123
124
125
126
Name:               hmatrix
Version:            0.5.1.2
License:            GPL
License-file:       LICENSE
Author:             Alberto Ruiz
Maintainer:         Alberto Ruiz <aruiz@um.es>
Stability:          provisional
Homepage:           http://www.hmatrix.googlepages.com
Synopsis:           Linear algebra and numerical computations
Description:        This library provides a purely functional interface to basic linear algebra
                    and other numerical computations, internally implemented using
                    GSL, BLAS and LAPACK.
Category:           Math
tested-with:        GHC ==6.10.2

cabal-version:      >=1.2
build-type:         Custom
extra-source-files: lib/Numeric/LinearAlgebra/Tests/quickCheckCompat.h

extra-source-files: configure configure.hs README INSTALL
extra-tmp-files:    hmatrix.buildinfo

flag splitBase
    description:    Choose the new smaller, split-up base package.

flag mkl
    description:    Link with Intel's MKL optimized libraries.
    default:        False

flag accelerate
    description:    Use the accelerate framework for LAPACK/BLAS on OS X
    default:        False

flag unsafe
    description:    Compile the library with bound checking disabled.
    default:        False

library
    if flag(splitBase)
      build-depends:    base >= 3, array, QuickCheck, HUnit, storable-complex
    else
      build-depends:    base < 3, QuickCheck, HUnit, storable-complex

    Build-Depends:      haskell98
    Extensions:         ForeignFunctionInterface,
                        CPP

    hs-source-dirs:     lib
    Exposed-modules:    Data.Packed,
                        Data.Packed.Vector,
                        Data.Packed.Matrix,
                        Numeric.GSL.Differentiation,
                        Numeric.GSL.Integration,
                        Numeric.GSL.Fourier,
                        Numeric.GSL.Polynomials,
                        Numeric.GSL.Minimization,
                        Numeric.GSL.Vector,
                        Numeric.GSL.Special,
                        Numeric.GSL.Special.Gamma,
                        Numeric.GSL.Special.Erf,
                        Numeric.GSL.Special.Airy,
                        Numeric.GSL.Special.Exp,
                        Numeric.GSL.Special.Bessel,
                        Numeric.GSL.Special.Clausen,
                        Numeric.GSL.Special.Coulomb,
                        Numeric.GSL.Special.Coupling,
                        Numeric.GSL.Special.Dawson,
                        Numeric.GSL.Special.Debye,
                        Numeric.GSL.Special.Dilog,
                        Numeric.GSL.Special.Elementary,
                        Numeric.GSL.Special.Ellint,
                        Numeric.GSL.Special.Expint,
                        Numeric.GSL.Special.Fermi_dirac,
                        Numeric.GSL.Special.Gegenbauer,
                        Numeric.GSL.Special.Hyperg,
                        Numeric.GSL.Special.Laguerre,
                        Numeric.GSL.Special.Lambert,
                        Numeric.GSL.Special.Pow_int,
                        Numeric.GSL.Special.Psi,
                        Numeric.GSL.Special.Synchrotron,
                        Numeric.GSL.Special.Trig,
                        Numeric.GSL.Special.Zeta,
                        Numeric.GSL.Special.Log,
                        Numeric.GSL.Special.Legendre,
                        Numeric.GSL,
                        Numeric.LinearAlgebra,
                        Numeric.LinearAlgebra.LAPACK,
                        Numeric.LinearAlgebra.Linear,
                        Numeric.LinearAlgebra.Instances,
                        Numeric.LinearAlgebra.Interface,
                        Numeric.LinearAlgebra.Algorithms,
                        Graphics.Plot,
                        Numeric.LinearAlgebra.Tests
                        Data.Packed.Convert
                        Data.Packed.ST
    other-modules:      Data.Packed.Internal,
                        Data.Packed.Internal.Common,
                        Data.Packed.Internal.Vector,
                        Data.Packed.Internal.Matrix,
                        Numeric.GSL.Special.Internal,
                        Numeric.LinearAlgebra.Tests.Instances,
                        Numeric.LinearAlgebra.Tests.Properties
    C-sources:          lib/Numeric/LinearAlgebra/LAPACK/lapack-aux.c,
                        lib/Numeric/GSL/gsl-aux.c

    ghc-prof-options:   -auto-all

    ghc-options:        -Wall -fno-warn-missing-signatures -fno-warn-orphans -fno-warn-unused-binds

    if flag(unsafe)
        cpp-options: -DUNSAFE

    if impl(ghc < 6.10.2)
        cpp-options: -DFINIT

    if flag(mkl)
      if arch(x86_64)
        extra-libraries:   gsl mkl_lapack mkl_intel_lp64 mkl_sequential mkl_core
      else
        extra-libraries:   gsl mkl_lapack mkl_intel mkl_sequential mkl_core

    if flag(accelerate)
        frameworks: Accelerate
        extra-libraries: gsl

-- the extra-libraries required for gsl and lapack are automatically detected by configure(.hs)