source: trunk/abcl/abcl.asd @ 14694

Last change on this file since 14694 was 14694, checked in by mevenson, 3 years ago

Convert Lisp truth values to Java equivalents in JCALL/JSTATIC.

We now convert CL:T and CL:NIL to JAVA:+TRUE+ and JAVA:+FALSE+
respectively when invoking JVM methods through the JAVA package,
establishing the "natural" equivalence for boolean truth values. This
may break some existing usage in that previously CL:NIL was converted
to a Java 'null' reference. Users now need to specify JAVA:+NULL+
explicitly when desiring to pass 'null' Java references as an argument
in invoking JVM methods.

Addresses <http://abcl.org/trac/ticket/84> (#84) and
<http://abcl.org/trac/ticket/339> (#339).

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