1 | ;;; -*- Mode: LISP; Syntax: COMMON-LISP -*- |
---|
2 | ;;; $Id: abcl.asd 14866 2016-09-04 12:21:00Z mevenson $ |
---|
3 | |
---|
4 | (require :asdf) |
---|
5 | (in-package :asdf) |
---|
6 | |
---|
7 | #+abcl |
---|
8 | (eval-when (:load-toplevel :execute) |
---|
9 | (asdf:load-system :quicklisp-abcl)) |
---|
10 | |
---|
11 | ;;; Wrapper for all ABCL ASDF definitions. |
---|
12 | (defsystem :abcl :version "1.4.0") |
---|
13 | |
---|
14 | ;;; Run via (asdf:operate 'asdf:test-op :abcl :force t) |
---|
15 | (defmethod perform ((o test-op) (c (eql (find-system :abcl)))) |
---|
16 | (load-system (find-system :abcl-test-lisp)) |
---|
17 | (operate 'test-op :abcl-test-lisp)) |
---|
18 | |
---|
19 | ;;; Test ABCL with the Lisp unit tests collected in "test/lisp/abcl" |
---|
20 | ;;; |
---|
21 | ;;; We guard with #+abcl for tests that other Lisps cannot load. This |
---|
22 | ;;; could be possibly be done at finer granularity in the files |
---|
23 | ;;; themselves. |
---|
24 | (defsystem :abcl-test-lisp :version "1.3.0" :components |
---|
25 | ((:module abcl-rt |
---|
26 | :pathname "test/lisp/abcl/" :serial t :components |
---|
27 | ((:file "rt-package") |
---|
28 | (:file "rt") |
---|
29 | (:file "test-utilities"))) |
---|
30 | (:module package :depends-on (abcl-rt) |
---|
31 | :pathname "test/lisp/abcl/" :components |
---|
32 | ((:file "package"))) |
---|
33 | (:module test :depends-on (package) |
---|
34 | :pathname "test/lisp/abcl/" :components |
---|
35 | ((:file "utilities") |
---|
36 | (:file "compiler-tests") |
---|
37 | (:file "condition-tests") |
---|
38 | #+abcl |
---|
39 | (:file "class-file") |
---|
40 | #+abcl |
---|
41 | (:file "metaclass") |
---|
42 | #+abcl |
---|
43 | (:file "mop-tests-setup") |
---|
44 | #+abcl |
---|
45 | (:file "mop-tests" :depends-on |
---|
46 | ("mop-tests-setup")) |
---|
47 | (:file "clos-tests") |
---|
48 | (:file "file-system-tests") |
---|
49 | #+abcl |
---|
50 | (:file "jar-pathname" :depends-on |
---|
51 | ("utilities" "pathname-tests" "file-system-tests")) |
---|
52 | #+abcl |
---|
53 | (:file "url-pathname") |
---|
54 | (:file "math-tests" :depends-on |
---|
55 | ("compiler-tests")) |
---|
56 | (:file "misc-tests") |
---|
57 | (:file "latin1-tests") |
---|
58 | (:file "bugs" :depends-on |
---|
59 | ("file-system-tests")) |
---|
60 | (:file "wild-pathnames" :depends-on |
---|
61 | ("file-system-tests")) |
---|
62 | #+abcl |
---|
63 | (:file "weak-hash-tables") |
---|
64 | #+abcl |
---|
65 | (:file "zip") |
---|
66 | #+abcl |
---|
67 | (:file "java") |
---|
68 | #+abcl |
---|
69 | (:file "pathname-tests" :depends-on |
---|
70 | ("utilities")) |
---|
71 | #+abcl |
---|
72 | (:file "runtime-class") |
---|
73 | #+abcl |
---|
74 | (:file "package-local-nicknames-tests"))))) |
---|
75 | |
---|
76 | (defmethod perform ((o test-op) (c (eql (find-system 'abcl-test-lisp)))) |
---|
77 | "Invoke tests with (asdf:oos 'asdf:test-op :abcl-test-lisp)." |
---|
78 | (funcall (intern (symbol-name 'run) :abcl.test.lisp))) |
---|
79 | |
---|
80 | ;;;; |
---|
81 | ;;;; ASDF definitions and the ANSI-TEST |
---|
82 | ;;;; |
---|
83 | |
---|
84 | ;;; We refer to the ANSI-TESTS source tree, which isn't shipped as |
---|
85 | ;;; part of ABCL, but may be obtained at |
---|
86 | ;;; <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> |
---|
87 | |
---|
88 | ;;; We currently require that the ANSI-TESTS to be in a sibling |
---|
89 | ;;; directory named "ansi-tests" which should be manually synced with |
---|
90 | ;;; the contents of the SVN repository listed above. |
---|
91 | |
---|
92 | ;;; The ASDF definition for ABCL.TEST.ANSI defines VERIFY-ANSI-TESTS |
---|
93 | ;;; which provides a more useful diagnostic, but I can't seem to find |
---|
94 | ;;; a way to hook this into the ASDF:LOAD-OP phase |
---|
95 | (defsystem :ansi-rt |
---|
96 | :description "Enapsulation of the REGRESSION-TEST framework use by ~ |
---|
97 | the ANSI test suite, so that we may build on its 'API'. |
---|
98 | |
---|
99 | Requires that the contents of <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> ~ |
---|
100 | be in a directory named '../ansi-test/'." |
---|
101 | :pathname "../ansi-test/" ;;; NB works when loaded from ASDF but not with a naked EVAL |
---|
102 | :default-component-class cl-source-file.lsp |
---|
103 | :components ((:file "rt-package") |
---|
104 | (:file "rt" :depends-on (rt-package)))) |
---|
105 | |
---|
106 | (defsystem :ansi-interpreted |
---|
107 | :version "1.2" |
---|
108 | :description "Test ABCL with the interpreted ANSI tests." |
---|
109 | :depends-on (ansi-rt) :components |
---|
110 | ((:module ansi-tests :pathname "test/lisp/ansi/" :components |
---|
111 | ((:file "packages") |
---|
112 | (:file "abcl-ansi" :depends-on ("packages")) |
---|
113 | (:file "parse-ansi-errors" :depends-on ("abcl-ansi")))))) |
---|
114 | (defmethod perform :before ((o test-op) (c (eql (find-system :ansi-interpreted)))) |
---|
115 | (load-system :ansi-interpreted)) |
---|
116 | |
---|
117 | (defmethod perform :after ((o load-op) (c (eql (find-system :ansi-interpreted)))) |
---|
118 | (funcall (intern (symbol-name 'load-tests) :abcl.test.ansi))) |
---|
119 | |
---|
120 | (defmethod perform ((o test-op) (c (eql (find-system :ansi-interpreted)))) |
---|
121 | (funcall (intern (symbol-name 'run) :abcl.test.ansi) |
---|
122 | :compile-tests nil)) |
---|
123 | |
---|
124 | (defsystem :ansi-compiled :version "1.2" |
---|
125 | :description "Test ABCL with the compiled ANSI tests." |
---|
126 | :depends-on (ansi-rt) |
---|
127 | :components |
---|
128 | ((:module ansi-tests :pathname "test/lisp/ansi/" :components |
---|
129 | ((:file "packages") |
---|
130 | (:file "abcl-ansi" :depends-on ("packages")) |
---|
131 | (:file "parse-ansi-errors" :depends-on ("abcl-ansi")))))) |
---|
132 | |
---|
133 | (defmethod perform :before ((o test-op) (c (eql (find-system :ansi-compiled)))) |
---|
134 | (load-system :ansi-compiled)) |
---|
135 | (defmethod perform ((o test-op) (c (eql (find-system :ansi-compiled)))) |
---|
136 | (funcall (intern (symbol-name 'run) :abcl.test.ansi) |
---|
137 | :compile-tests t)) |
---|
138 | |
---|
139 | (defsystem :cl-bench |
---|
140 | :description "Test ABCL with CL-BENCH." |
---|
141 | :components ((:module cl-bench-package :pathname "../cl-bench/" |
---|
142 | :components ((:file "defpackage"))) |
---|
143 | (:module cl-bench-wrapper :pathname "test/lisp/cl-bench/" |
---|
144 | :depends-on (cl-bench-package) :components |
---|
145 | ((:file "wrapper"))))) |
---|
146 | (defmethod perform :before ((o test-op) (c (eql (find-system :cl-bench)))) |
---|
147 | (load-system :cl-bench)) |
---|
148 | (defmethod perform ((o test-op) (c (eql (find-system :cl-bench)))) |
---|
149 | (funcall (intern (symbol-name 'run) :abcl.test.cl-bench))) |
---|
150 | |
---|
151 | ;;; Build ABCL from a Lisp. |
---|
152 | ;;; aka the "Lisp-hosted build system" |
---|
153 | ;;; Works for: abcl, sbcl, clisp, cmu, lispworks, allegro, openmcl |
---|
154 | (defsystem :build-abcl :components |
---|
155 | ((:module build :pathname "" :components |
---|
156 | ((:file "build-abcl") |
---|
157 | (:file "customizations" :depends-on ("build-abcl")))))) |
---|
158 | |
---|
159 | (defsystem :abcl-contrib |
---|
160 | ;; :version "1.1" |
---|
161 | :components ((:static-file "README"))) |
---|
162 | ;; #+nil ((:module source :pathname "src/org/armedbear/lisp/" :components |
---|
163 | ;; ((:file "abcl-contrib") |
---|
164 | ;; #+nil::needs-abcl-asdf (:iri "jar-file:dist/abcl-contrib.jar")))) |
---|
165 | |
---|
166 | ;; XXX Currently need to force load via (asdf:load-system :abcl-contrib :force t) |
---|
167 | (defmethod perform ((o load-op) (c (eql (find-system :abcl-contrib)))) |
---|
168 | (require :abcl-contrib)) |
---|
169 | |
---|
170 | (defsystem :abcl/documentation |
---|
171 | :depends-on (swank) |
---|
172 | :components |
---|
173 | ((:module grovel :pathname "doc/manual/" :serial t |
---|
174 | :components ((:file "package") |
---|
175 | (:file "grovel"))))) |
---|
176 | |
---|