Experimenting with defproto, want to remove compiler challenges.
[CommonLispStat.git] / external / ch-asdf / ch-asdf.asd
blob0d2a56acbc74d3ea615cbe8915445881a2a4e5bc
2 (defpackage #:ch-asdf-system (:use #:asdf #:cl))
3 (in-package #:ch-asdf-system)
5 ;;;;
6 ;;;; The following section customizes asdf to work with filenames
7 ;;;; with a .cl extension and to put fasl files in a separate
8 ;;;; directory.
9 ;;;;
10 ;;;; To enable this behvior, use asdf component type
11 ;;;;  :ch-asdf-cl-source-file
12 ;;;;
13 (defclass ch-asdf-cl-source-file (cl-source-file) ())
15 (defparameter *fasl-directory*
16   (make-pathname :directory '(:relative #+sbcl "sbcl-fasl"
17                               #+openmcl "openmcl-fasl"
18                               #-(or sbcl openmcl) "fasl")))
20 (defmethod source-file-type ((c ch-asdf-cl-source-file) (s module)) "cl")
22 (defmethod asdf::output-files :around ((operation compile-op) (c ch-asdf-cl-source-file))
23   (list (merge-pathnames *fasl-directory* (compile-file-pathname (component-pathname c)))))
25 (defsystem #:ch-asdf
26   :name "ch-asdf"
27   :author "Cyrus Harmon <ch-lisp@bobobeach.com>"
28   :version #.(with-open-file
29                  (vers (merge-pathnames "version.lisp-expr" *load-truename*))
30                (read vers))
31   :depends-on (:ch-util :puri)
32   :licence "BSD"
33   :description "ASDF Extensions from Cyrus Harmon"
34   :components
35   ((:static-file "version" :pathname #p"version.lisp-expr")
36    (:module
37     :src
38     :components
39     ((:ch-asdf-cl-source-file "defpackage")
40      (:ch-asdf-cl-source-file "asdf-util"
41                               :depends-on ("defpackage"))
42      (:ch-asdf-cl-source-file "ch-asdf"
43                               :depends-on ("defpackage" "asdf-util"))))))