-
Notifications
You must be signed in to change notification settings - Fork 19
/
hblas.cabal
191 lines (151 loc) · 5.56 KB
/
hblas.cabal
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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
-- Initial hblas.cabal generated by cabal init. For further
-- documentation, see http://haskell.org/cabal/users-guide/
-- The name of the package.
name: hblas
-- The package version. See the Haskell package versioning policy (PVP)
-- for standards guiding when and how versions should be incremented.
-- http://www.haskell.org/haskellwiki/Package_versioning_policy
-- PVP summary: +-+------- breaking API changes
-- | | +----- non-breaking API additions
-- | | | +--- code changes with no API change
version: 0.4.0.1
-- A short (one-line) description of the package.
synopsis: Human friendly BLAS and Lapack bindings for Haskell.
-- A longer description of the package.
description:
User friendly, simple bindings to BLAS and Lapack. Easy to extend and use.
.
HBLAS assumes you have BLAS and LAPACK installed. Users on OSX already
have a BLAS and LAPACK installed for them. Users on LINUX and similar
platforms will need to do the system equivalent of @sudo apt-get install libblas liblapack@.
.
HBLAS is not intended to be a library for end user array operations,
but rather an easy adaptor for calling BLAS and LAPACK routines in their
full generality from your end-user haskell linear algebra / array library
of choice.
.
HBLAS roughly mirrors the naming conventions and datatype names of the standard
BLAS and LAPACK libraries. Those of you who are familiar with these conventions
and moderately comfortable with haskell will feel right at home.
.
If you are not familiar with the the operations and conventions of BLAS and
Lapack, please read the
<https://software.intel.com/sites/products/documentation/hpc/mkl/mklman/index.htm Intel MKL BLAS and LAPACK documention>,
you'll learn a lot about what BLAS and LAPACK can do.
.
HBLAS doesn't provide every BLAS and LAPACK operation currently, but
is designed so that adding support for new operations is quite easy!
homepage: http://github.com/wellposed/hblas/
bug-reports: http://github.com/wellposed/hblas/issues
-- The license under which the package is released.
license: BSD3
-- The file containing the license text.
license-file: LICENSE
-- The package author(s).
author: Carter Tazio Schonwald
-- An email address to which users can send suggestions, bug reports, and
-- patches.
maintainer: carter at wellposed dot com
-- A copyright notice.
-- copyright:
cabal-version: >=1.10
category: Math
build-type: Simple
tested-with:
GHC == 7.10.3
GHC == 8.0.1
GHC == 8.0.2
GHC == 8.2.1
GHC == 8.3.*
extra-source-files:
readme.md,
changelog.md
source-repository head
type: git
location: http://github.com/wellposed/hblas.git
-- Extra files to be distributed with the package, such as examples or a
-- README.
flag OpenBLAS
default: False
manual: True
-- Constraint on the version of Cabal needed to build this package.
-- flag lib-Werror
-- default: False
-- manual: True
-- flag lib-Wall
-- default: False
-- manual: True
flag CBLAS
default: False
manual: True
description: Use on platforms when libcblas isn't part of libblas
library
-- Modules exported by the library.
exposed-modules: Numerical.HBLAS.BLAS.FFI
Numerical.HBLAS.BLAS.FFI.Level1
Numerical.HBLAS.BLAS.FFI.Level2
Numerical.HBLAS.BLAS.FFI.Level3
Numerical.HBLAS.MatrixTypes
Numerical.HBLAS.UtilsFFI
--Numerical.HBLAS.BLAS.Level1
Numerical.HBLAS.BLAS.Level2
Numerical.HBLAS.BLAS.Level3
--Numerical.HBLAS.BLAS.Internal.Level1
Numerical.HBLAS.BLAS.Internal.Level2
Numerical.HBLAS.BLAS.Internal.Level3
Numerical.HBLAS.BLAS.Internal.Utility
Numerical.HBLAS.Lapack
Numerical.HBLAS.Lapack.FFI
Numerical.HBLAS.Constants
-- Modules included in this library but not exported.
-- other-modules:
-- LANGUAGE extensions used by modules in this package.
-- other-extensions:
--- if flag(lib-Werror)
--- ghc-options: -Werror
--- if flag(lib-Wall)
--- ghc-options: -Wall
-- -Wall no wall for now
-- Other library packages from which modules are imported.
build-depends:
base >= 4.6 && < 4.12,
storable-complex >= 0.2.0 && < 0.3.0,
primitive >= 0.5 && < 0.7 ,
vector >= 0.10 && < 0.13
if flag(OpenBLAS)
extra-libraries: openblas pthread
if flag(OpenBLAS) && os(OSX)
extra-lib-dirs: /usr/local/lib
if os(OSX) && !flag(OpenBLAS)
frameworks: Accelerate
-- extra-libraries: cblas lapack
if os(windows) && !flag(OpenBLAS)
extra-libraries: blas lapack
if !os(windows) && !os(OSX) && !flag(OpenBLAS)
-- extra-libraries: blas lapack
extra-libraries: blas, lapack
if flag(CBLAS)
extra-libraries: cblas
if impl(ghc >= 8.0.1) && impl(ghc < 8.0.2)
ghc-options: -Wno-redundant-constraints
-- Directories containing source files.
hs-source-dirs: src
-- Base language which the package is written in.
default-language: Haskell2010
ghc-options: -Wall -fno-warn-name-shadowing
Test-suite unit-testsuite
default-language: Haskell2010
type: exitcode-stdio-1.0
other-modules:
-- HBLAS.BLAS.Level1Spec
HBLAS.BLAS.Level2Spec
HBLAS.BLAS.Level3Spec
HBLAS.MatrixTypesSpec
build-depends:
hblas
, base
, vector
, hspec >= 2.0
, primitive
hs-source-dirs: tests
main-is: Spec.hs