-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmkl.asd
More file actions
executable file
·50 lines (46 loc) · 1.52 KB
/
Copy pathmkl.asd
File metadata and controls
executable file
·50 lines (46 loc) · 1.52 KB
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
;;; -*- Mode: LISP; Base: 10; Syntax: ANSI-Common-lisp; Package: CL-USER -*-
;;; Copyright (c) 2025 by Symbolics Pte. Ltd. All rights reserved.
;;; SPDX-License-identifier: MS-PL
(defsystem "mkl"
:description "Common Lisp interface to Intel Math Kernel Library"
:long-description #.(uiop:read-file-string
(uiop:subpathname *load-pathname* "description.text"))
:version "0.1.0"
:author "Steve Nunez <steve@symbolics.tech>"
:license :MS-PL
:depends-on (#:cffi
#:lla
#:alexandria)
:in-order-to ((test-op (test-op "mkl/tests")))
:pathname #P"src/"
:serial t
:components ((:file "pkgdcl")
(:file "c-call")))
(defsystem "mkl/vml"
:description "Intel MKL Vector Math Library (VML) interface"
:author "Steve Nunez <steve@symbolics.tech>"
:license :MS-PL
:depends-on (#:mkl)
:pathname #P"src/"
:serial t
:components ((:file "vml")))
(defsystem "mkl/tests"
:description "Unit tests for MKL."
:author "Steve Nunez <steve@symbolics.tech>"
:license :MS-PL
:depends-on (#:mkl
#:mkl/vml
#:clunit2
#:lla)
:pathname #P"test/"
:serial t
:components ((:file "setup")
(:file "vml"))
:perform (test-op (o s)
(symbol-call :clunit :run-suite
(find-symbol* :mkl-tests :mkl-tests))))
;; Push :VML feature when VML subsystem loads
(defmethod perform :after
((operation load-op) (system (eql (find-system :mkl/vml))))
"Update *FEATURES* when MKL VML subsystem loads successfully."
(pushnew :vml common-lisp:*features*))