source: branches/1.1.x/abcl.asd @ 14281

Last change on this file since 14281 was 14281, checked in by Mark Evenson, 8 years ago

abcl.asd: Add Lisp for Manual for grovel infrastructure.

Define needed symbols in CL-USER (should not appear in documentation).

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