Commit 6545466d authored by Gary King's avatar Gary King
Browse files

lots of website tomfoolery

parent 12ab8d7c
{include resources/header.md}
<div class="contents">
### Copyright
ASDF Copyright (C) 2001-2009 Daniel Barlow and contributors
This website Copyright (C) 2001-2009 Daniel Barlow and
contributors
Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated
documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to
whom the Software is furnished to do so, subject to the
following conditions:
The above copyright notice and this permission notice shall
be included in all copies or substantial portions of the
Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
</div>
</div>
{include resources/footer.md}
</div>
{include resources/header.md}
{set-property title "Getting Started | ASDF"}
{set-property docs-package asdf}
# Table of Contents
{table-of-contents :start 2 :depth 3}
## Introduction
Simple Lisp programs are defined in a single file; to use
them, you load the file and go. More complicated systems,
however, are made up of many files (and possibly depend on
other systems made up of their own files). Using these
requires loading the sub-systems and files in the right order
- an error-prone and tedious task.
ASDF is *a*nother *s*ystem *d*efinition *f*acility: a tool
for describing the sub-systems and files that comprise a
system and for operating on these components in the right
order so that they can be compiled, loaded, tested, etc.
ASDF presents two faces: one for system implementors who need
to be able to describe their systems using ASDF and one for
Lisp programmers and users who want to use those systems.
This document describes ASDF for the second audience. If you
want to build your own systems with ASDF, then you'll also
want to read the ASDF [system definition guide][sys-guide].
## Installing ASDF
### Download
Many Lisp implementations include a copy of ASDF. You can
usually load this copy using Common-Lisp's
[require][hs-require] function:
* (require 'asdf)
("ASDF")
Consult your Lisp's documentation for details. If ASDF
doesn't come bundled with your Lisp or if you want to make
sure that you have the most recent version, then you'll want
to download it from the [common-lisp.net][asdf-home] website.
### Setup
The single file [asdf.lisp][] is all you need to use ASDF.
Once you load it in a running Lisp, you're ready to go. For
maximum convenience you will want to have ASDF loaded
whenever you start your Lisp. check your
implementation's manual for details on how to load it from
the startup script or creating a custom Lisp image.-
### Using
ASDF provides three commands for the most common system
operations: [system-load][], [system-compile][], and
[system-test][]:
{docs system-load}
{docs system-compile}
{docs system-test}
Because ASDF is an extensible system for defining
*operations* on *components*, it also provides a generic
function: [operate][] (which is usually abbreviated by
[oos][]). You'll use `oos` whenever you want to do something
beyond compiling, loading and testing.
{docs operate}
{docs oos}
Before ASDF can operate on a system, however, it must be able
to find that system's definition.
### How ASDF finds systems
You can load system definition files by hand:
(load "/path/to/my/system/my-system.asd")
or you can tell ASDF where to look to find them using the
[*central-registry*][*central-registry*] parameter.
{docs *central-registry*}
You'll need to set this variable up to match your system setup and will probably want to include it in your Lisp's startup script.
## Summary
To use ASDF:
* load `asdf.lisp` into your Lisp image,
* make sure ASDF can find system definitions by loading them
yourself or setting up `asdf:*central-registry*`,
* use [operate][] to tell ASDF what you'd like to
do to what systems (for simple operations, you can use
[system-load][], [system-compile][] or [system-test][]
instead).
## Indices
{docs-index all}
{include resources/footer.md}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment