index.html 23.6 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<!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>
17
18
19
    <div class="system-links">
      <ul>
        <li><a href="#what_it_is">What it is</a></li>
20
21
        <li><a href="#what_it_is_not">What it is not</a></li>
        <li><a href="#implementations">Supported Implementations</a></li>
22
        <li><a href="#examples">Examples</a></li>
23
24
        <li><a href="#documentation">Documentation</a></li>
        <li><a href="#downloads">Getting it</a></li>
25
        <li><a href="#extensions">Extensions</a></li>
26
        <li><a href="#bugs">Reporting Bugs</a></li>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
27
        <li><a href="#mailing-lists">Mailing Lists</a></li>
28
29
30
31
        <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=log"
               >Changelog</a></li>
      </ul>
    </div>
32
    <div class="contents">
33
34
        <a id="ASDF 3"></a>
        <h3>ASDF 3</h3>
35
        <p>ASDF 3 is the current successor to Daniel Barlow's ASDF.
36
          It was rewritten for improved portability, robustness, usability,
37
          extensibility, configurability, internal consistency,
38
          and the ability to create standalone executables.
39
40
          It was pre-released as 2.27 on February 1st 2013,
          released as 3.0.0 on May 15th 2013, with further stable releases since.
41
        </p>
42
43
44
        <a id="what_it_is"></a>
        <h3>What it is</h3>
        <p>ASDF stands for <em>A</em>nother <em>S</em>ystem <em>D</em>efinition <em>F</em>acility,
45
          in the continuity of the Lisp <tt>DEFSYSTEM</tt> of yore.
46
        </p>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
47
        <p>ASDF 3 contains two parts: <tt>asdf/defsystem</tt> and <tt>uiop</tt>.
48
        </p>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
        <dl>
          <dt><tt>asdf/defsystem</tt></dt>
          <dd>
            <p>is a tool to describe how Lisp source code is organized in systems,
              and how to build a system in term of actions that depend on previous actions.
            </p>
            <p>
              Typical actions consist in compiling a Lisp source file (if not up to date)
              and loading the resulting compilation output (if not both loaded and up to date).
              And you must typically compile and load files that define packages, macros, variables,
              before you may compile and load other files that use them.
            </p>
            <p>It is roughly what Common Lisp hackers use to build and load software
              where C hackers might use GNU <tt>Make</tt> to build software and
              <tt>ld.so</tt> to load it.
            </p>
            <p><tt>asdf/defsystem</tt> is the part that people usually refer to as <tt>ASDF</tt>,
              with <tt>uiop</tt> being only a supporting library,
              that happens to be distributed at the same time, by necessity.
            </p>
          </dd>
          <dt><tt>uiop</tt></dt>
          <dd>
            <p>also known as <tt>asdf/driver</tt>,
              the Utilities for Implementation- and OS- Portability,
              is a Common Lisp portability library and runtime support system
              that helps you write Common Lisp software in a portable way.
            </p>
            <p>In addition to many general-purpose Lisp utilities,
              it notably provides portable abstractions to
              gloss over implementation quirks, support hot-upgrade of code,
              manipulate pathnames, create programs, use command-line arguments,
              access the environment, use the filesystem,
              call other programs and parse their output,
              compile Lisp code, muffle conditions, or configure Lisp software.
              See its
              <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=uiop/README;hb=HEAD;js=1">README</a>.
            </p>
            <p><tt>uiop</tt> is distributed as part of the <tt>ASDF</tt>,
              its source code is transcluded in the single-file <tt>asdf.lisp</tt> being distributed
              and the precompiled fasls provided by Lisp implementations.
              <tt>ASDF</tt> relies heavily on it for its portability layer and runtime support,
              particularly so as to handle pathnames and filesystem access.
              <tt>uiop</tt> is useful on its own and can also be compiled and distributed separately.
            </p>
          </dd>
        </dl>
96
97
        <a id="what_it_is_not"></a>
        <h3>What it is not</h3>
98
        <p>ASDF will <em>not</em> download missing software components for you.
99
          For that, you want <a href="http://quicklisp.org/"><tt>Quicklisp</tt></a>,
100
101
          that builds upon ASDF, and is great for pulling and installing
          tarballs of packages you may depend upon;
102
          we also recommend <a href="http://common-lisp.net/project/clbuild/"><tt>clbuild</tt></a>,
103
104
          that now builds upon Quicklisp, as a great tool for pulling from version control
          packages you need to modify or want to contribute to.
105
          We recommend you should <em>not</em> use <tt>asdf-install</tt> anymore,
106
107
          as it is an older similar piece of software that is both unmaintained and obsolete.
        </p><p>
108
109
          If you're unsatisfied with ASDF,
          other somewhat actively maintained build systems for Common-Lisp
110
111
          that may or may not satisfy you include:
          Fran&ccedil;ois-Ren&eacute; Rideau's
112
          <a href="http://common-lisp.net/project/xcvb/"><tt>XCVB</tt></a>
113
114
          (trying to build object and image files deterministically and in parallel,
          has fallen behind ASDF since 2012),
115
116
          or its polar opposite,
          Drew McDermott's
117
          <a href="http://cs-www.cs.yale.edu/homes/dvm/"><tt>YTools</tt></a>
118
          (trying to maintain coherence of the current Lisp image at a fine grain),
119
          Dmitriy Ivanov's
120
          <a href="http://lisp.ystok.ru/asdlite/"><tt>ASDlite</tt></a>
121
          (a somewhat improved incompatible variant of ASDF 1, less featureful than ASDF 3),
122
123
          or Alastair Bridgewater's one-package-per-file
          <a href="https://bugs.launchpad.net/asdf/+bug/1230368"><tt>quick-build</tt></a>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
124
125
          (similar to <tt>faslpath</tt> below,
          also reimplemented as the ASDF extension <a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-package-system.git"><tt>asdf-package-system</tt></a>).
126
          Older systems that are not maintained anymore include
127
128
129
130
131
132
          Mark Kantrowitz's
          <a href="http://www.cliki.net/mk-defsystem"><tt>mk-defsystem</tt></a>
          (free software successor of the old proprietary DEFSYSTEM's
          and predecessor of ASDF, obsolete),
          Sean Ross's
          <a href="http://sean-ross.blogspot.com/search/label/mudballs"><tt>mudballs</tt></a>
133
          (an attempt at making things cleaner than in ASDF, aborted),
134
          Peter von Etter's
135
          <a href="http://www.cliki.net/faslpath"><tt>faslpath</tt></a>
136
          (a much simpler system establishing a mapping between packages and files)
137
138
          Alexander Kahl's
          <a href="http://www.cliki.net/evol"><tt>evol</tt></a>
139
          (a reimplementation of the GNU autotools stack in Lisp, abandoned),
140
141
          and probably more.
          However, none of these systems seems to ever have had the traction of ASDF.
142
        </p>
143
        <a id="implementations"></a>
144
        <h3>Supported Implementations</h3>
145
        <p>ASDF 3 now supports all CL implementations
146
          that seem to have any current user base, and then some.
147
        </p><p>
148
          Most implementations provide ASDF as a module,
149
150
151
          and you can simply <tt>(require "asdf")</tt>.
          (All of them but CLISP also accept
          <tt>:asdf</tt>, <tt>"ASDF"</tt> or <tt>'asdf</tt> as an argument.)
152
          All of these implementations provide at least ASDF 2,
153
          and a few of them aready provide ASDF 3
154
          (<tt>abcl</tt>, <tt>allegro</tt>, <tt>ccl</tt>, <tt>clisp</tt>, <tt>cmucl</tt>,
155
          <tt>ecl</tt>, <tt>sbcl</tt>).
156
          Hopefully soon all will follow suit;
157
158
          but in the meantime, you can download ASDF 3,
          and use <tt>(asdf:load-system :asdf)</tt>
159
          to upgrade to the latest ASDF from a properly configured ASDF 2,
160
          which you should do before you use ASDF for anything else.
161
162
163
164
        </p><p>
          A few implementations don't provide ASDF yet,
          but have announced they will in their next release.
          As for remaining implementations,
165
          they are obsolete and/or mostly unmaintained;
166
          still ASDF 3 supports them if you load it manually,
167
168
169
          though there might never be a next release
          to provide it through <tt>require</tt>.
        </p>
170
        <table border="1">
171
          <tr><th></th>
172
173
            <th align="left">Provide ASDF 3</th>
            <th align="left">Provide ASDF 2</th>
174
175
176
            <th align="left">Will provide it</th>
            <th align="left">Obsolete</th></tr>
          <tr><th align="left">Free</th>
177
178
            <td align="left"><tt>abcl ccl clisp cmucl ecl sbcl</tt></td>
            <td align="left"><tt>mkcl xcl</tt></td>
179
            <td> </td>
180
            <td align="left"><tt>gcl mcl</tt></td></tr>
181
          <tr><th align="left">Proprietary</th>
182
            <td align="left"><tt>allegro</tt></td>
183
            <td align="left"><tt>lispworks mocl</tt></td>
184
185
            <td align="left"><tt>scl</tt></td>
            <td align="left"><tt>cormanlisp genera</tt></td></tr>
186
187
188
189
190
191
        </table>
        <!-- Note to self:
             The maintainers of the following implementations follow asdf-announce:
             clisp	(sds)

             The maintainers of the following implementations require direct notification:
192
             abcl ccl cmucl gcl lispworks sbcl mkcl scl xcl
193
194
195
196
197
Armed Bear <armedbear-devel@common-lisp.net>,
openmcl-devel@clozure.com,
cmucl-imp@cons.org,
gcl-devel@gnu.org,
lisp-support@lispworks.com,
198
199
bugs@franz.com, (allegro)
ecls-list@lists.sourceforge.net
200
SBCL Devel-list <sbcl-devel@lists.sourceforge.net>,
201
202
203
Jean-Claude Beaudoin <jean.claude.beaudoin@gmail.com>, (MKCL)
Douglas Crosher <dtc3@scieneer.com>, (Scieneer CL)
Peter Graves <gnooth@gmail.com> (XCL).
204
        -->
205
206
        <p>
          If there is an old or new implementation that we are missing,
207
          it shouldn't be hard to adapt ASDF to support it.
208
          Ask us!
209
        </p>
210

211
212
213
214
215
216
        <a id="examples"></a>
        <h3>Examples</h3>
        <p>Download any of the many packages available through
          <a href="http://quicklisp.org/">Quicklisp</a>
          to see as many examples.</p>

217
218
219
220
221
222
223
        <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>
224
          <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob;f=doc/asdf.texinfo">as texinfo source</a></li>
225
        </ul>
226
227
        <p>Regarding the internal design of ASDF in general,
          and the work we did on ASDF 2,
228
229
230
          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"
231
232
233
234
                   >Evolving ASDF: More Cooperation, Less Coordination</a></cite>,
          or the slides of the
          <a href="https://github.com/fare/asdf3-2013/blob/master/els-slides.org"
             >ASDF 3 tutorial</a> presented at ELS 2013.
235
236
237
238
239
        <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>
240
241
242
243
        <p>Until we write more documentation on the further innovations of ASDF 3,
          the documentation strings, the source code, the changelog and the git log
          are unfortunately your best chances for discovering the available functionality.
        </p>
244

245
        <a id="downloads"></a>
246
247
248
249
250
        <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>
251
          <li>download just the latest <em>release</em> source for
252
            <!--<a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf.git;a=blob_plain;tag=RELEASE;f=asdf.lisp">asdf.lisp</a>,-->
253
            <a href="http://common-lisp.net/project/asdf/asdf.lisp">asdf.lisp</a>;
254
          </li>
255
          <li>download the latest <em>release</em>
256
257
            <!--<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>
258
            to get all bells and whistles;
259
          </li>
260
          <li>pull the latest <em>development</em> tree from our git repository
261
            <pre>git clone git://common-lisp.net/projects/asdf/asdf.git</pre>
262
            (note that our "master" branch is for current development;
263
264
            get our "release" branch for the latest stable release.
            Run <tt>make</tt> to create <tt>build/asdf.lisp</tt>);
265
266
267
268
269
270
          </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>
271
272
        </li></ul>

273
274
275
276
277
        <a id="extensions"></a>
        <h3>Extensions</h3>
        <p>Known extensions to ASDF include:</p>
	<ul>
	  <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-contrib.git"
278
		 ><tt>asdf-contrib</tt></a>,
279
280
	    a collection of most of the below.</li>
	  <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-encodings.git"
281
		 ><tt>asdf-encodings</tt></a>,
282
283
	    to compile Lisp source files with character encodings other than UTF-8.</li>
	  <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-finalizers.git"
284
		 ><tt>asdf-finalizers</tt></a>,
285
286
287
	    to allow macros to include code to be evaluated
	    at the end of a file being compiled.</li>
	  <li><a href="http://common-lisp.net/gitweb?p=projects/xcvb/asdf-dependency-grovel.git"
288
		 ><tt>asdf-dependency-grovel</tt></a>,
289
290
	    to compute the actual dependencies in a big ASDF system.</li>
	  <li><a href="http://common-lisp.net/project/qitab/"
291
		 ><tt>poiu</tt></a>,
292
	    to compile a system in parallel.</li>
293
	  <li><a href="http://common-lisp.net/project/asdf-system-connections/"
294
		 ><tt>asdf-system-connections</tt></a>,
295
296
	    lets you specify systems that are automatically loaded when
            two other systems are loaded, to connect them.</li>
297
	  <li><a href="http://www.lrde.epita.fr/~didier/software/lisp/misc.php#asdf-flv"
298
		 ><tt>asdf-flv</tt></a>,
299
	    to bind file-local variables around the compilation of some files.</li>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
300
301
302
303
304
305
          <li><a href="http://common-lisp.net/gitweb?p=projects/asdf/asdf-package-system.git"
                 ><tt>asdf-package-system</tt></a>,
            to compile Lisp source files with one package per file
            that also determines dependencies, in the style of
            <a href="https://bugs.launchpad.net/asdf/+bug/1230368"><tt>quick-build</tt></a> or
            <a href="http://www.cliki.net/faslpath"><tt>faslpath</tt></a>
306
307
            (this functionality is built into recent ASDF releases,
            but this package exists for backward compatibility with earlier versions of ASDF 3).
308
309
310
        </ul>
        <p>Former extensions, now superseded, include:</p>
        <ul>
311
	  <li><tt>asdf-binary-locations</tt> allowed one to redirect where ASDF creates its output files,
312
            so they don't clash between implementations and don't pollute source directories.
313
            It is superseded by <tt>asdf/defsystem</tt> builtin <tt>asdf-output-translations</tt> mechanism;
314
315
            a limited compatibility mode is available to easily convert
            your former ABL configuration into an AOT configuration.
316
317
            <tt>common-lisp-controller</tt> and <tt>cl-launch</tt> used to provide similar mechanisms,
            and have also been superseded by <tt>asdf-output-translations</tt>.
318
          </li>
319
	  <li><tt>asdf-bundle</tt>, n&eacute;e <tt>asdf-ecl</tt>,
320
            allowed you to create a single-file bundle out of a system,
321
            for easier delivery.
322
            It is now a builtin part of <tt>asdf/defsystem</tt>,
323
324
            and allows to deliver a single FASL for a system,
            or (on supported implementations), a standalone executable program.
325
          </li>
326
	  <li><tt>asdf-utils</tt> was a collection of utilities that originated with ASDF.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
327
            It is now superseded by <tt>uiop</tt>, aka <tt>asdf/driver</tt>,
328
329
330
            which is part of ASDF,
            and exports its functionality
            in its own package <tt>uiop</tt>.
331
          </li>
332
	  <li><tt>asdf-condition-control</tt>, initially part of XCVB's <tt>xcvb-driver</tt>,
333
            allowed you to muffle uninteresting conditions during compilation.
334
            Is now superseded by equivalent functionality in <tt>uiop</tt>.
335
          </li>
336
337
338
339
340
341
342
	</ul>

        <h3>Contributing</h3>
        <p>Join our mailing list, check the code out from git,
          send questions, ideas and patches!
        </p>

343
344
        <a id="bugs">
        <h3>Reporting Bugs</h3>
345
        <p>To report bugs, you can use our
346
347
348
349
350
          <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>

Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
351
352
        <a id="mailing-lists"></a>
        <h3>Mailing Lists</h3>
353
        <ul>
Robert P. Goldman's avatar
Robert P. Goldman committed
354
          <li><b>asdf-devel</b><!-- <a href="http://lists.common-lisp.net/mailman/listinfo/asdf-devel">asdf-devel</a> -->:
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
355
356
357
            A list for questions, suggestions, bug reports, patches, and so on.
	    It's for everyone and everything. Please join the conversation!
	  </li>
Robert P. Goldman's avatar
Robert P. Goldman committed
358
          <li><b>asdf-announce</b><!-- <a href="http://lists.common-lisp.net/mailman/listinfo/asdf-announce">asdf-announce</a> -->:
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
359
360
361
362
363
            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.
364
        </li></ul>
Robert P. Goldman's avatar
Robert P. Goldman committed
365
366
367
        <p>To subscribe to these mailing lists, send an email to, e.g.,
        asdf-devel+subscribe at common-lisp.net.  For more information about
        mailing lists at common-lisp.net, see <a href="http://common-lisp.net/listinfo.html">here</a>.</p>
368
369
370
371
372
373
374
375
376

        <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>
377
          <dt>October 2013</dt>
378
379
380
          <dd>Version 3.0.3 of ASDF 3 has been released.
            It contains many bug fixes, including notably better Windows support.
          </dd>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
381
          <dt>Since July 2013</dt>
382
383
          <dd>Fran&ccedil;ois-Ren&eacute; Rideau has resigned as maintainer
            after releasing ASDF 3.0.1.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
384
385
386
387
            Robert P. Goldman is interim maintainer until someone more gifted,
            charming, dedicated, and better-looking can be secured to fill the role.
          </dd>
          <dt>November 2012 to June 2013</dt>
388
          <dd>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
389
            Fran&ccedil;ois-Ren&eacute; Rideau completely rewrites ASDF
390
            and publishes ASDF 3, pre-released as 2.27 in February 2013,
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
391
392
393
            and released as 3.0.1 in May 2013.
            It now includes both the traditional <tt>asdf/defsystem</tt>
            and a formalized portability library <tt>uiop</tt> (née <tt>asdf/driver</tt>).
394
            <tt>asdf/defsystem</tt> is a backward-compatible reimplementation of ASDF
395
            with correct timestamp propagation based on a consistent dependency model,
396
            and featuring support for bundle output, deferred warnings check, and more.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
397
398
            <tt>uiop</tt> provides many abstractions to write portable Common Lisp programs.
            Last version: 3.0.1.
399
          </dd>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
400
          <dt>December 2009 to October 2012</dt>
401
          <dd>Fran&ccedil;ois-Ren&eacute; Rideau is de facto maintainer,
402
            with notable contributions from Robert P. Goldman, but also
403
            Juanjo Garcia-Ripoll and James Anderson.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
404
            ASDF 2.000 is released in May 2010
405
            with many clean-ups, better configurability, some new features,
406
            and updated documentation.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
407
408
409
410
            The ASDF 2 series culminates with ASDF 2.26 in October 2012,
            which in addition to many bug fixes and small features
            includes support for file encodings, around-compile and compile-check hooks.
            Last version: 2.26.
411
412
413
414
          </dd>
          <dt>May 2006 to November 2009</dt>
          <dd>Gary King is de facto maintainer,
            with notable contributions from
415
            Robert P. Goldman, Nikodemus Siivola, Christophe Rhodes, Daniel Herring.
416
            Many small features and bug fixes,
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
417
            making the project more maintainable,
418
            moving to using git and common-lisp.net.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
419
            Last version: 1.369.
420
421
422
423
424
          </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.
425
            The system made more robust, a few more features.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
426
            Last version: 1.97.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
427
          </dd>
428
          <dt>August 2001 to May 2004</dt>
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
429
          <dd>Created then developed by Daniel Barlow, with notable contributions from
430
            Christophe Rhodes, Kevin Rosenberg, Edi Weitz, Rahul Jain.
431
            Last version: 1.85.
Francois-Rene Rideau's avatar
Francois-Rene Rideau committed
432
          </dd>
433
434
      </dl>
          </div>
435
436
437
438
439
      <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>
440
        <p><span class="copyright"Copyright &copy; 2001-2013 Daniel Barlow and contributors</span></p>
441
        <p>ASDF has an <a href="http://www.opensource.org/licenses/mit-license.php">MIT style</a> license</p>
442
        <div id="timestamp">Last updated 2013-10-22</div>
443
    </div>
444
445
  </body>
</html>