mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-23 13:01:42 -08:00
88 lines
2.5 KiB
Text
88 lines
2.5 KiB
Text
ASDF: Another System Definition Facility
|
|
========================================
|
|
|
|
Quick Summary
|
|
-------------
|
|
|
|
1- Build it with::
|
|
|
|
make
|
|
|
|
|
|
2- Make sure you put it under a path registered by the source-registry,
|
|
if that isn't the case yet (see the manual). One place would be::
|
|
|
|
~/.local/share/common-lisp/source/asdf/
|
|
|
|
|
|
What is ASDF?
|
|
-------------
|
|
|
|
ASDF is the de facto standard build facility for Common Lisp.
|
|
|
|
If you come from the C/C++ world, the function ASDF covers a bit of what
|
|
each of make, autoconf, dlopen and libc do for C programs:
|
|
it orchestrates the compilation and dependency management,
|
|
handles some of the portability issues, dynamically finds and loads code,
|
|
and offers some portable system access.
|
|
Except everything is different in Common Lisp, and ultimately much simpler,
|
|
though it requires acquiring some basic concepts.
|
|
Importantly, ASDF builds all software in the current Lisp image.
|
|
|
|
To use ASDF, read our manual::
|
|
|
|
http://common-lisp.net/project/asdf/asdf.html
|
|
|
|
The first few sections, Loading ASDF, Configuring ASDF and Using ASDF,
|
|
will get you started as a simple user.
|
|
If you want to define your own systems, further read the section
|
|
Defining systems with defsystem.
|
|
|
|
The manual is also in the doc/ subdirectory, and can be prepared with::
|
|
|
|
make doc
|
|
|
|
|
|
ASDF 3 now includes an extensive runtime support library:
|
|
UIOP, the Utilities for Implementation- and OS- Portability.
|
|
Its documentation unhappily lies mainly in the source code and docstrings.
|
|
See uiop/README for an introduction.
|
|
|
|
More information and additional links can be found on ASDF's home page at::
|
|
|
|
http://common-lisp.net/project/asdf/
|
|
|
|
|
|
Building and testing it
|
|
-----------------------
|
|
|
|
If you cloned our git repository, bootstrap a copy of build/asdf.lisp with::
|
|
|
|
make
|
|
|
|
To run all the tests on your favorite Lisp implementation $L,
|
|
choose your most elaborate installed system $S, and try::
|
|
|
|
make t u l=$L s=$S
|
|
|
|
|
|
Debugging tip
|
|
-------------
|
|
|
|
To load ASDF in such a way that M-. will work, install the source code, and run::
|
|
|
|
(asdf:load-system :uiop) ;; loading uiop is simple
|
|
(map () 'load ;; loading asdf/defsystem is tricky
|
|
(mapcar 'asdf:component-pathname
|
|
(asdf::required-components :asdf/defsystem :keep-component 'asdf:cl-source-file)))
|
|
|
|
|
|
What has changed?
|
|
-----------------
|
|
|
|
You can consult the debian/changelog for an overview of the
|
|
significant changes in each release, and
|
|
the git log for a detailed description of each commit.
|
|
|
|
|
|
Last updated Wednesday, March 13th, 2014.
|