Next: , Previous: Defining systems with defsystem, Up: Defining systems with defsystem


6.1 The defsystem form

Systems can be constructed programmatically by instantiating components using make-instance. Most of the time, however, it is much more practical to use a static defsystem form. This section begins with an example of a system definition, then gives the full grammar of defsystem.

Let's look at a simple system. This is a complete file that would usually be saved as hello-lisp.asd:

     (in-package :asdf)
     
     (defsystem "hello-lisp"
       :description "hello-lisp: a sample Lisp system."
       :version "0.2.1"
       :author "Joe User <joe@example.com>"
       :licence "Public Domain"
       :components ((:file "packages")
                    (:file "macros" :depends-on ("packages"))
                    (:file "hello" :depends-on ("macros"))))

Some notes about this example:


Footnotes

[1] It is possible, though almost never necessary, to override this behaviour.