Next: How do I mark a source file to be loaded only and not compiled?, Previous: I want to put my module's files at the top level. How do I do this?, Up: Issues with using and extending ASDF to define systems [Contents][Index]
Starting with ASDF 2.014.14, you may just pass
the builtin class cl-source-file.cl
as
the :default-component-class
argument to defsystem
:
(defsystem my-cl-system :default-component-class cl-source-file.cl ...)
Another builtin class cl-source-file.lsp
is offered
for files ending in .lsp.
If you want to use a different extension for which ASDF doesn’t provide builtin support, or want to support versions of ASDF earlier than 2.014.14 (but later than 2.000), you can define a class as follows:
;; Prologue: make sure we're using a sane package. (defpackage :my-asdf-extension (:use :asdf :common-lisp) (:export #:cl-source-file.lis)) (in-package :my-asdf-extension) (defclass cl-source-file.lis (cl-source-file) ((type :initform "lis")))
Then you can use it as follows:
(defsystem my-cl-system :default-component-class my-asdf-extension:cl-source-file.lis ...)
Of course, if you’re in the same package, e.g. in the same file,
you won’t need to use the package qualifier before cl-source-file.lis
.
Actually, if all you’re doing is defining this class
and using it in the same file without other fancy definitions,
you might skip package complications:
(in-package :asdf) (defclass cl-source-file.lis (cl-source-file) ((type :initform "lis"))) (defsystem my-cl-system :default-component-class cl-source-file.lis ...)