Added a "runtime" directory for runtime libs and moved ps-runtime-lib there.
[clinton/parenscript.git] / parenscript.asd
1 ;;;; -*- lisp -*-
2
3 (in-package :cl-user)
4
5 (defpackage :parenscript.system
6 (:use :cl :asdf))
7
8 (in-package :parenscript.system)
9
10 (defsystem :parenscript
11 :name "parenscript"
12 :author "Manuel Odendahl <manuel@bl0rg.net>"
13 :maintainer "Vladimir Sedach <vsedach@gmail.com>"
14 :licence "BSD"
15 :description "Parenscript is a Lispy language that compiles to JavaScript."
16 :components ((:static-file "parenscript.asd")
17 (:module :src
18 :serial t
19 :components ((:file "package")
20 (:file "utils")
21 (:file "namespace")
22 (:file "parse-lambda-list")
23 (:file "compiler")
24 (:file "special-forms")
25 (:file "printer")
26 (:file "compilation-interface")
27 (:file "deprecated-interface")
28 ;; standard library
29 (:module :lib
30 :components ((:file "ps-html")
31 (:file "ps-macro-lib"))
32 :depends-on ("compilation-interface"))))
33 (:module :runtime
34 :components ((:file "ps-runtime-lib"))
35 :depends-on (:src)))
36 :depends-on ())
37
38 (defmethod asdf:perform :after ((op asdf:load-op) (system (eql (asdf:find-system :parenscript))))
39 (pushnew :parenscript cl:*features*))
40
41 (defmethod asdf:perform ((o test-op) (c (eql (find-system :parenscript))))
42 (asdf:operate 'asdf:test-op :parenscript.test))
43
44 (defsystem :parenscript.test
45 :components ((:module :t
46 :serial t
47 :components ((:file "test-package")
48 (:file "test")
49 (:file "ref2test")
50 (:file "reference-tests")
51 (:file "ps-tests")
52 (:file "package-system-tests"))))
53 :depends-on (:parenscript :fiveam :cl-ppcre))
54
55 (defmethod asdf:perform ((o test-op) (c (eql (find-system :parenscript.test))))
56 (asdf:operate 'asdf:load-op :parenscript.test)
57 (funcall (intern (symbol-name :run-tests)
58 (find-package :parenscript-test))))