source: trunk/abcl/abcl.asd @ 14866

Last change on this file since 14866 was 14866, checked in by Mark Evenson, 7 years ago

metadata: reverse previous edit, start annotating for 1.4.0-rc-1

  • Property svn:keywords set to Id
File size: 7.1 KB
Line 
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 ~
97the ANSI test suite, so that we may build on its 'API'.
98
99Requires that the contents of <git+https://gitlab.common-lisp.net/ansi-test/ansi-test.git> ~
100be 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
Note: See TracBrowser for help on using the repository browser.