2 (defpackage #:ch-asdf-system (:use #:asdf #:cl))
3 (in-package #:ch-asdf-system)
6 ;;;; The following section customizes asdf to work with filenames
7 ;;;; with a .cl extension and to put fasl files in a separate
10 ;;;; To enable this behvior, use asdf component type
11 ;;;; :ch-asdf-cl-source-file
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)))))
27 :author "Cyrus Harmon <ch-lisp@bobobeach.com>"
28 :version #.(with-open-file
29 (vers (merge-pathnames "version.lisp-expr" *load-truename*))
31 :depends-on (:ch-util :puri)
33 :description "ASDF Extensions from Cyrus Harmon"
35 ((:static-file "version" :pathname #p"version.lisp-expr")
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"))))))