source: trunk/abcl/abcl.asd @ 12141

Last change on this file since 12141 was 12141, checked in by Mark Evenson, 12 years ago

Added support for loading Lisp from JAR files.

Pathnames passed to LOAD may now specify loading from within JAR files
by using the 'jar:file:' uri schema:

(load "jar:file:///PATH/TO.jar!/foo")

would attempt to load Lisp "associated" with 'foo' in a JAR file
located '/PATH/TO.jar'. "Associated with" means that the the
following entries in the JAR are looked for:

1) 'foo._' (the initial FASL from compiling 'foo.lisp)
2) 'foo.abcl' (the packed FASL)
3) 'foo.lisp'

Associated tests have been included but currently only work under UNIX
due to the need to package up the FASLs for testing.

  • Property svn:keywords set to Id
File size: 2.6 KB
Line 
1;;; -*- Mode: LISP; Syntax: COMMON-LISP -*-
2;;; $Id: abcl.asd 12141 2009-09-09 10:26:15Z mevenson $
3
4(require 'asdf)
5(defpackage :abcl-asdf
6  (:use :cl :asdf))
7(in-package :abcl-asdf)
8
9;;; Wrapper for all ABCL ASDF definitions.
10(defsystem :abcl :version "0.3.0")
11
12(defmethod perform :after ((o load-op) (c (eql (find-system :abcl))))
13  ;;; Additional test suite loads would go here.
14  (operate 'load-op :test-abcl :force t))
15
16(defmethod perform ((o test-op) (c (eql (find-system :abcl))))
17  ;;; Additional test suite invocations would go here.
18  (operate 'test-op :ansi-compiled :force t))
19
20;;; A collection of test suites for ABCL.
21(defsystem :test-abcl
22  :version "0.3"
23  :depends-on (:ansi-compiled #+nil :abcl-tests))
24
25(defmethod perform :after ((o load-op) (c (eql (find-system :test-abcl))))
26  #+nil (asdf:oos 'asdf:test-op :cl-bench :force t)
27  (operate 'load-op :abcl-test-lisp :force t)
28  (operate 'load-op :ansi-compiled :force t)
29  (operate 'load-op :ansi-interpreted :force t))
30
31(defsystem :ansi-test :version "1.0" :components
32     ;;; GCL ANSI test suite.
33     ((:module ansi-tests :pathname "test/lisp/ansi/" :components
34         ((:file "package")))))
35
36(defsystem :ansi-interpreted :version "1.0" :depends-on (ansi-test))
37(defmethod perform ((o test-op) (c (eql (find-system :ansi-interpreted))))
38   "Invoke tests with:  (asdf:oos 'asdf:test-op :ansi-interpreted :force t)."
39   ;;; FIXME needs ASDF:OOS to be invoked with :FORCE t
40  (funcall (intern (symbol-name 'run) :abcl.test.ansi)
41     :compile-tests nil))
42
43(defsystem :ansi-compiled :version "1.0" :depends-on (ansi-test))
44(defmethod perform ((o test-op) (c (eql (find-system :ansi-compiled))))
45  "Invoke tests with:  (asdf:oos 'asdf:test-op :abcl-compiled :force t)."
46  (funcall (intern (symbol-name 'run) :abcl.test.ansi)
47     :compile-tests t))
48
49(defsystem :abcl-test-lisp :version "1.0" :components
50     ((:module abcl-rt :pathname "test/lisp/abcl/" :serial t :components
51         ((:file "rt-package") (:file "rt")))
52      (:module package  :depends (abcl-rt)
53         :pathname "test/lisp/abcl/" :components
54         ((:file "package")))))
55
56(defmethod perform ((o test-op) (c (eql (find-system 'abcl-test-lisp))))
57   "Invoke tests with:  (asdf:oos 'asdf:test-op :abcl-test-lisp :force t)."
58   ;;; FIXME needs ASDF:OOS to be invoked with :FORCE t
59   (funcall (intern (symbol-name 'run) :abcl.test.lisp)))
60 
61;;; Build ABCL from a Lisp.
62;;; aka the "Lisp-hosted build system"
63;;; Works for: abcl, sbcl, clisp, cmu, lispworks, allegro, openmcl
64(defsystem :build-abcl :components
65     ((:module build :pathname ""  :components
66         ((:file "build-abcl")
67          (:file "customizations" :depends-on ("build-abcl"))))))
68
69
70
Note: See TracBrowser for help on using the repository browser.