ASDF (Another System Definition Facility) is a package format and a build tool for
Common Lisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fro ...
libraries. It is analogous to tools such as
Make
Make or MAKE may refer to:
* Make (magazine), a tech DIY periodical
*Make (software), a software build tool
*Make, Botswana, in the Kalahari Desert
*Make Architects
Make Architects is an international architecture practice headquartered in Londo ...
and
Ant
Ants are eusocial insects of the family Formicidae and, along with the related wasps and bees, belong to the order Hymenoptera. Ants evolved from vespoid wasp ancestors in the Cretaceous period. More than 13,800 of an estimated total of 22 ...
.
History
ASDF was originally designed and written in 2001-2002 as a successor for a previous program,
mk-defsystem, taking advantage of Common Lisp features such as
CLOS
Clos may refer to:
People
* Clos (surname)
Other uses
* CLOS, Command line-of-sight, a method of guiding a missile to its intended target
* Clos network, a kind of multistage switching network
* Clos (vineyard), a walled vineyard; used in France, ...
and pathname support. It has since expanded to become the default build tool for Common Lisp programs. It is now used as the basis for Common Lisp library build systems, and dependency managers, such as
Quicklisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived from ...
,
cl-build, and Debian's
Common Lisp Controller. (Note:
ASDF-Install is obsolete.
)
Most maintained, open-source Common Lisp libraries are buildable and installable through ASDF.
Uses
Installing and building open-source systems defined with ASDF is now a relatively easy thanks to
Quicklisp
Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived from ...
. In cases where the user is forced to install ASDF libraries by hand, as may still happen, the user will be forced to first download and unpack the library in a location recognized by the user's source-registry, which has sensible defaults (at least on Unix) and can otherwise be configured.
Creating and defining systems installable though ASDF is done through the creation and placement of one or more system definition (.asd) files at the root of a directory containing the files that make up the system. The system definition file must contain at least one call to defsystem, a lisp form in which are defined all of the components and dependencies of the system. ASDF is capable of automatically
compiling
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
and loading lisp source code, as well as automatically building and linking
C programming language
''The C Programming Language'' (sometimes termed ''K&R'', after its authors' initials) is a computer programming book written by Brian Kernighan and Dennis Ritchie, the latter of whom originally designed and implemented the language, as well as ...
(also known as C source code). It contains hooks to allow for definitions of alternate compilers and complex treatment of custom components.
References
External links
*
ASDF manualasdf on CLiki
Common Lisp (programming language) software
{{compu-library-stub