forked from eudoxia0/corvus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhylas.asd
61 lines (56 loc) · 1.92 KB
/
hylas.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
(defclass makefile (source-file) ())
(defmethod source-file-type ((c makefile) (s module)) nil)
(defmethod output-files ((operation compile-op) (f makefile))
(values
(list
(make-pathname :name "Makefile"
:type nil
:defaults (component-pathname f))) t))
(defmethod perform ((o load-op) (c makefile)) t)
(defmethod perform ((o compile-op) (c makefile))
(unless (zerop (run-shell-command "make"))
(error 'operation-error :component c :operation o)))
(defsystem hylas
:version "0.1"
:author "Fernando Borretti"
:license "MIT"
:depends-on (:trivial-utf-8
:cl-annot
:iterate
:cffi
:alexandria
:usocket
:optima
:cl-gendoc)
:serial t
:components ((:file "package")
(makefile "Makefile")
(:module "src"
:serial t
:components
((:file "utils")
(:file "packages")
(:file "hylas")
(:file "errors")
(:file "reader")
(:file "types")
(:file "mem")
(:file "pat")
(:file "llvm")
(:file "core")
(:file "fn")
(:file "jit"))))
:description ""
:long-description
#.(with-open-file (stream (merge-pathnames
#p"README.markdown"
(or *load-pathname* *compile-file-pathname*))
:if-does-not-exist nil
:direction :input)
(when stream
(let ((seq (make-array (file-length stream)
:element-type 'character
:fill-pointer t)))
(setf (fill-pointer seq) (read-sequence seq stream))
seq)))
:in-order-to ((test-op (load-op hylas-test))))