-
Notifications
You must be signed in to change notification settings - Fork 10
/
py4cl2-cffi.asd
83 lines (80 loc) · 3.29 KB
/
py4cl2-cffi.asd
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
(defsystem "py4cl2-cffi/config"
:pathname #P"src/"
:depends-on ("uiop"
"alexandria")
:serial t
:components ((:file "config")))
(defsystem "py4cl2-cffi/config-darwin"
:pathname #P"src/"
:depends-on ("cl-ppcre" "py4cl2-cffi/config" "uiop")
:serial t
:components ((:file "config-darwin")))
(defsystem "py4cl2-cffi"
:pathname #P"src/"
:description "CFFI based alternative to PY4CL2, primarily developed for performance reasons."
:author "Shubhamkar Ayare <[email protected]>"
:license "MIT"
:version "0.3.0" ; beta
;; Certain systems like Allegro CL 11 on M* Mac do not seem to
;; load config-darwin with the :darwin feature. We rely on
;; TRIVIAL-FEATURES to add the :macosx feature.
:defsystem-depends-on ("trivial-features")
:depends-on ("bordeaux-threads"
"cffi"
"cl-ppcre"
"uiop"
"alexandria"
"trivial-garbage"
"trivial-features"
"optima"
"iterate"
"float-features"
"parse-number"
"py4cl2-cffi/config"
(:feature :darwin "py4cl2-cffi/config-darwin"))
:serial t
:components ((:static-file "py4cl.py")
(:file "package")
(:file "lisp-utils")
(:static-file "py4cl-utils.c")
(:static-file "py4cl-numpy-utils.c")
(:static-file "numpy-installed-p.txt")
(:file "shared-objects")
(:file "gil-gc")
(:file "pycapi-functions")
(:file "numpy")
(:file "features")
(:file "pythonizers")
(:file "python-process")
(:file "lispifiers")
(:file "py-repr")
(:file "callpython")
(:file "callpython-optim")
(:file "arg-list")
(:file "import-export")
(:file "lisp-classes")
(:file "iterate")
(:file "do-after-load"))
:perform (test-op (o c)
(declare (ignore o c))
(handler-case (let ((system
(asdf:find-system "py4cl2-cffi-tests-lite")))
(asdf:test-system system))
(asdf:missing-component (condition)
(declare (ignore condition))
(format *error-output* "Please find the tests at ~A~%"
"https://github.com/digikar99/py4cl2-cffi-tests")
(format *error-output*
"If you have already set up the tests, then something is wrong,
as asdf was unable to find \"py4cl2-cffi-tests\".")))))
(defsystem "py4cl2-cffi/single-threaded"
:depends-on ("py4cl2-cffi")
:description "Certain libraries like matplotlib do not behave well in multithreaded environments. This system defines a package which contains shadowed symbols from py4cl2-cffi. These shadowed versions call python from a single main thread that is also responsible for importing all the libraries."
:pathname #p"single-threaded/"
:serial t
:components ((:file "package")
(:file "main-thread")
(:file "wrapper-core")
(:file "single-threaded-wrappers")
(:file "pystart")
(:file "import-export")))