Newer
Older
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
<head>
<title>ASDF - Another System Definition Facility</title>
<link type='text/css' href='style.css' rel='stylesheet' />
<meta name="author" content="the ASDF group"/>
</head>
<body>
<div class="header">
<span class="logo">
<a href="http://common-lisp.net/project/asdf/" title="ASDF Homepage">
<img src="lisp-logo120x80.png" title="ASDF homepage" width="100" alt="Lisp Lizzard" />
</a>
</span>
<h2>ASDF</h2><h4>Another System Definition Facility</h4>
</div>
<div class="system-links">
<ul>
<li><a href="#what_it_is">What it is</a></li>
<li><a href="#what_it_is_not">What it is not</a></li>
<li><a href="#implementations">Supported Implementations</a></li>
<li><a href="#documentation">Documentation</a></li>
<li><a href="#downloads">Getting it</a></li>
<li><a href="#bugs">Reporting Bugs</a></li>
<li><a href="#mailing-lists">Mailing Lists</a></li>
<li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=log"
>Changelog</a></li>
</ul>
</div>
<div class="contents">
<a id="ASDF 2"></a>
<h3>ASDF 2</h3>
It has since been widely adopted by the CL community.
<a id="what_it_is"></a>
<h3>What it is</h3>
<p>ASDF is a tool for describing how source files are organized:
what depends on which and when.
</p>
<p>It is roughly what Common Lisp hackers use to build software
where C hackers would use say GNU Make.
</p>
<p>ASDF stands for <em>A</em>nother <em>S</em>ystem <em>D</em>efinition <em>F</em>acility,
in the continuity of the Lisp DEFSYSTEM of yore.
</p>
<a id="what_it_is_not"></a>
<h3>What it is not</h3>
<p>ASDF will not download missing software components for you.
For that, you want <a href="http://quicklisp.org/">Quicklisp</a>,
that builds upon ASDF, and is great for pulling and installing
tarballs of packages you may depend upon;
we also recommend <a href="http://common-lisp.net/project/clbuild/">clbuild</a>,
that now builds upon Quicklisp, as a great tool for pulling from version control
packages you need to modify or want to contribute to.
We recommend you should not use ASDF-Install anymore,
as it is another such piece of software that is both unmaintained and obsolete.
</p>
<a id="implmementations"></a>
<h3>Supported Implementations</h3>
<p>ASDF 2 now supports all CL implementations
that seem to have any current user base.
</p><p>
Most implementations provide ASDF 2 as a module,
and you can simply <tt>(require "asdf")</tt> or <tt>(require :asdf)</tt>.
Note that most implementations accept
<tt>:asdf</tt>, <tt>"ASDF"</tt> and <tt>"asdf"</tt>
indiscriminately, but that there are exceptions:
CLISP accepts only lower-case
(in a string, or a properly escaped lower-case symbol),
whereas unless you use a recent version from June 2011 or later,
CMUCL accepts only upper-case (or a case-converted symbol).
</p><p>
A few implementations don't provide ASDF yet,
but have announced they will in their next release.
As for remaining implementations,
they are obsolete and/or mostly unmaintained;
still ASDF 2 supports them if you load it manually,
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
though there might never be a next release
to provide it through <tt>require</tt>.
</p>
<table>
<tr><th></th>
<th align="left">Provide "asdf"</th>
<th align="left">Will provide it</th>
<th align="left">Obsolete</th></tr>
<tr><th align="left">Free</th>
<td align="left">abcl ccl clisp cmucl ecl sbcl xcl</td>
<td> </td>
<td align="left">gcl mcl</td></tr>
<tr><th align="left">Proprietary</th>
<td align="left">allegro</td>
<td align="left">lispworks scl</td>
<td align="left">cormanlisp genera</td></tr>
</table>
<!-- Note to self:
The maintainers of the following implementations follow asdf-announce:
allegro Gary King <gwking@franz.com>
clisp (sds)
ecl (juanjo)
The maintainers of the following implementations require direct notification:
abcl ccl cmucl gcl lispworks sbcl scl xcl
Armed Bear <armedbear-devel@common-lisp.net>,
openmcl-devel@clozure.com,
cmucl-imp@cons.org,
gcl-devel@gnu.org,
lisp-support@lispworks.com,
SBCL Devel-list <sbcl-devel@lists.sourceforge.net>,
Douglas Crosher <dtc3@scieneer.com>,
Peter Graves <gnooth@gmail.com>
-->
<p>
If there is an old or new implementation that we are missing,
it shouldn't hard to adapt ASDF to support it.
Ask us!
</p>
<a id="documentation"></a>
<h3>Documentation</h3>
<p>You can read our manual:</p>
<ul>
<li><a href="asdf.html">as one HTML file</a></li>
<li><a href="asdf/">split into one HTML file per section</a></li>
<li><a href="asdf.pdf">as a PDF document</a></li>
<li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=doc/asdf.texinfo">as texinfo source</a></li>
</ul>
<p>Regarding the internal design of ASDF in general and the work we did on ASDF 2,
see the last draft version of our paper for
<a href="http://www.international-lisp-conference.org/2010/index">ILC 2010</a>,
<cite><a href="ilc2010draft.pdf"
>Evolving ASDF: More Cooperation, Less Coordination</a></cite></p>
<p>Finally, while the manual covers all the basics,
some advanced or new features remain underdocumented.
Please contact our mailing-list (see below)
for any issue that isn't well-documented enough.
</p>
Francois-Rene Rideau
committed
<a id="downloads"></a>
<h3>Getting it</h3>
<p>Though they may lag behind the version here, ASDF comes bundled with most Lisps.
To get the greatest and latest, you can:
</p>
<ul>
<li>download just the latest <em>release</em> source for
<!--<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob_plain;tag=RELEASE;f=asdf.lisp">asdf.lisp</a>,-->
<a href="http://common-lisp.net/project/asdf/asdf.lisp">asdf.lisp</a>;
</li>
<li>download the latest <em>release</em>
<!--<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;tag=RELEASE;a=snapshot;sf=tgz">tarball</a>,-->
<a href="http://common-lisp.net/project/asdf/asdf.tar.gz">tarball</a>
to get all bells and whistles;
</li>
<li>download just the latest <em>development</em> source from our git repository:
<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob_plain;f=asdf.lisp;hb=HEAD">asdf.lisp</a>
</li>
<li>pull the latest <em>development</em> tree from our git repository
<pre>git clone git://common-lisp.net/projects/asdf/asdf.git</pre>
(note that our "master" branch is for current development;
get our "release" branch for the latest stable release.);
</li>
<li>browse the latest <em>development</em> tree from our git repository:
<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git">gitweb</a>
</li>
<li>download the tarball of a past release:
<a href="http://common-lisp.net/project/asdf/archives/">archives</a>
</li></ul>
<a id="bugs">
<h3>Reporting Bugs</h3>
<p>To report bugs, you can use our
<a href="https://launchpad.net/asdf/">launchpad project</a>.
If you're unsure about the bug or want to discuss how to fix it,
you can send email to the project mailing-list below.
</p>
<a id="mailing-lists"></a>
<h3>Mailing Lists</h3>
<ul>
<li><a href="http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel">asdf-devel</a>:
A list for questions, suggestions, bug reports, patches, and so on.
It's for everyone and everything. Please join the conversation!
</li>
<li><a href="http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-announce">asdf-announce</a>:
A low-volume mailing-list for announcements only, mostly regarding new releases.
Posting is restricted to project administrators and to important notices.
Please subscribe to it if you're a Lisp implementation or distribution vendor,
who needs to know when to upgrade the ASDF you distribute,
but are otherwise not interested in day to day design and development.
</li></ul>
<h3>Contributing</h3>
<p>Join our mailing list, check the code out from git,
send questions, ideas and patches!
</p>
<a id="news"></a>
<h3>What is happening</h3>
<dl>
<dd>François-René Rideau is de facto maintainer,
Francois-Rene Rideau
committed
with notable contributions from Robert P. Goldman,
Juanjo Garcia-Ripoll and James Anderson.
ASDF 2 released
with many clean-ups, better configurability
and updated documentation.
</dd>
<dt>May 2006 to November 2009</dt>
<dd>Gary King is de facto maintainer,
with notable contributions from
Robert P. Goldman, Nikodemus Siivola, Christophe Rhodes, Daniel Herring.
Many small features and bug fixes,
moving to using git and common-lisp.net.
</dd>
<dt>May 2004 to April 2006</dt>
<dd>Christophe Rhodes is de facto maintainer,
with notable contributions from
Nikodemus Siivola, Peter Van Eynde, Edi Weitz, Kevin Rosenberg.
The system made more robust, a few more features.
<dt>August 2001 to May 2004</dt>
<dd>Developed by Daniel Barlow, with notable contributions from
Christophe Rhodes, Kevin Rosenberg, Edi Weitz, Rahul Jain.
<dt>August 2001</dt>
<dd>Created by Daniel Barlow</dd>
<div id="footer">
<a class="nav" href="http://validator.w3.org/check/referer" title="xhtml1.1"><img src="http://common-lisp.net/project/cl-containers/shared/buttons/xhtml.gif" width="80" height="15" title="valid xhtml button" alt="valid xhtml" /></a>
<a class="nav" href="http://www.catb.org/hacker-emblem/" title="hacker"> <img src="http://common-lisp.net/project/cl-containers/shared/buttons/hacker.png" width="80" height="15" title="hacker emblem" alt="hacker button" /></a>
<a class="nav" href="http://www.lisp.org/" title="Association of Lisp Users"> <img src="http://common-lisp.net/project/cl-containers/shared/buttons/lambda-lisp.png" width="80" height="15" title="ALU emblem" alt="ALU button" /></a>
<a class="nav" href="http://common-lisp.net/" title="Common-Lisp.net"> <img src="http://common-lisp.net/project/cl-containers/shared/buttons/lisp-lizard.png" width="80" height="15" title="Common-Lisp.net" alt="Common-Lisp.net button" /></a>
<p><span class="copyright"Copyright © 2001-2011 Daniel Barlow and contributors</span></p>
<p>ASDF has an <a href="http://www.opensource.org/licenses/mit-license.php">MIT style</a> license</p>
<div id="timestamp">Last updated 2011-06-18</div>
</body>
</html>