Skip to content
Snippets Groups Projects
Commit 62b9d4cd authored by Robert Goldman's avatar Robert Goldman
Browse files

Merge branch 'master' into minimakefile

Catch up on some documentation.
parents 2f489b85 e8d33c03
No related branches found
No related tags found
No related merge requests found
...@@ -8,8 +8,8 @@ ASDF is the de facto standard build facility for Common Lisp. ...@@ -8,8 +8,8 @@ ASDF is the de facto standard build facility for Common Lisp.
Your Lisp implementation probably contains a copy of ASDF, Your Lisp implementation probably contains a copy of ASDF,
which you can load using `(require "asdf")`. which you can load using `(require "asdf")`.
If you come from the C/C++ world, the function ASDF covers a bit of what If you come from the C/C++ world, the ASDF covers a bit of what each of
each of make, autoconf, dlopen and libc do for C programs: make, autoconf, dlopen and libc do for C programs:
it orchestrates the compilation and dependency management, it orchestrates the compilation and dependency management,
handles some of the portability issues, dynamically finds and loads code, handles some of the portability issues, dynamically finds and loads code,
and offers some portable system access. and offers some portable system access.
...@@ -18,8 +18,7 @@ though it requires acquiring some basic concepts. ...@@ -18,8 +18,7 @@ though it requires acquiring some basic concepts.
Importantly, ASDF builds all software in the current Lisp image. Importantly, ASDF builds all software in the current Lisp image.
To use ASDF, read our manual: To use ASDF, read our manual:
<http://common-lisp.net/project/asdf/asdf.html>
http://common-lisp.net/project/asdf/asdf.html
The first few sections, Loading ASDF, Configuring ASDF and Using ASDF, The first few sections, Loading ASDF, Configuring ASDF and Using ASDF,
will get you started as a simple user. will get you started as a simple user.
...@@ -37,8 +36,7 @@ Its documentation unhappily lies mainly in the source code and docstrings. ...@@ -37,8 +36,7 @@ Its documentation unhappily lies mainly in the source code and docstrings.
See [`uiop/README.md`](uiop/README.md) for an introduction. See [`uiop/README.md`](uiop/README.md) for an introduction.
More information and additional links can be found on ASDF's home page at: More information and additional links can be found on ASDF's home page at:
<http://common-lisp.net/project/asdf/>
http://common-lisp.net/project/asdf/
Quick Start Quick Start
...@@ -85,8 +83,8 @@ inferior-shell, lisp-invocation, named-readtables, optima. ...@@ -85,8 +83,8 @@ inferior-shell, lisp-invocation, named-readtables, optima.
If you are a CL developer, you may already have them, or may want If you are a CL developer, you may already have them, or may want
to use your own tools to download a version of them you control. to use your own tools to download a version of them you control.
If you use Quicklisp, you may let Quicklisp download those you don't have. If you use Quicklisp, you may let Quicklisp download those you don't have.
In these cases, you do NOT want to use In these cases, you do NOT want to use the git submodules from make ext.
However, if you want to let ASDF download known-working versions Otherwise, if you want to let ASDF download known-working versions
of its dependencies, you can do it with: of its dependencies, you can do it with:
make ext make ext
...@@ -107,6 +105,10 @@ To load ASDF in such a way that M-. will work, install the source code, and run: ...@@ -107,6 +105,10 @@ To load ASDF in such a way that M-. will work, install the source code, and run:
(mapcar 'asdf:component-pathname (mapcar 'asdf:component-pathname
(asdf::required-components :asdf/defsystem :keep-component 'asdf:cl-source-file))) (asdf::required-components :asdf/defsystem :keep-component 'asdf:cl-source-file)))
Note that the above can be adapted in a general to get all the files in a system, in order.
To also have the files in systems it depends on, add the `:other-systems t` keyword argument
to the call to `asdf::required-components`.
What has changed? What has changed?
----------------- -----------------
...@@ -157,7 +159,7 @@ How do I navigate this source directory? ...@@ -157,7 +159,7 @@ How do I navigate this source directory?
* `doc/` * `doc/`
* documentation for ASDF, including: * documentation for ASDF, including:
* `index.html` -- the web page for http://common-lisp.net/project/asdf/ * `index.html` -- the web page for <http://common-lisp.net/project/asdf/>
* `asdf.texinfo` -- our manual * `asdf.texinfo` -- our manual
* `Makefile` -- how to build the manual * `Makefile` -- how to build the manual
* `cclan.png` `lisp-logo120x80.png` `style.css` `favicon.ico` * `cclan.png` `lisp-logo120x80.png` `style.css` `favicon.ico`
...@@ -192,4 +194,4 @@ How do I navigate this source directory? ...@@ -192,4 +194,4 @@ How do I navigate this source directory?
* plenty of ideas for how to further improve ASDF. * plenty of ideas for how to further improve ASDF.
Last updated Thursday, September 11th, 2014. Last updated Sunday, March 22nd, 2015.
...@@ -2319,9 +2319,17 @@ An operation @emph{may} provide methods for the following generic functions: ...@@ -2319,9 +2319,17 @@ An operation @emph{may} provide methods for the following generic functions:
@findex input-files @findex input-files
A method for this function is often not needed, A method for this function is often not needed,
since ASDF has a pretty clever default @code{input-files} mechanism. since ASDF has a pretty clever default @code{input-files} mechanism.
You only need create a method if there are multiple ultimate input files, You only need create a method if there are multiple ultimate input
and/or the bottom one doesn't depend files.
on the @code{component-pathname} of the component. Most operations inherit from @code{selfward-operation}, which
appropriately sets the input-files to include the source file itself.
@c FIXME: Add documentation of built-in operation types.
@defun input-files operation component
Return a list of pathnames that represent the input to @var{operation}
performed on @var{component}.
@end defun
@item @code{operation-done-p} @item @code{operation-done-p}
@findex operation-done-p @findex operation-done-p
...@@ -2755,6 +2763,29 @@ does additional processing to set the filesystem location of ...@@ -2755,6 +2763,29 @@ does additional processing to set the filesystem location of
the top component in that system. the top component in that system.
This is detailed elsewhere. @xref{Defining systems with defsystem}. This is detailed elsewhere. @xref{Defining systems with defsystem}.
To find the CL pathname corresponding to a component, use
@defun component-pathname component
Returns the pathname corresponding to @var{component}. For components
such as source files, this will be a filename pathname. For example:
@lisp
CL-USER> (asdf:component-pathname (asdf:find-system "xmls"))
#P"/Users/rpg/lisp/xmls/"
@end lisp
and
@lisp
CL-USER> (asdf:component-pathname
(asdf:find-component
(asdf:find-system "xmls") "xmls"))
#P"/Users/rpg/lisp/xmls/xmls.lisp"
@end lisp
@end defun
@subsubsection properties @subsubsection properties
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment