Commit ad43c36f authored by Robert Goldman's avatar Robert Goldman
Browse files

Expand shell-friendly syntax for output translations.

parent b12a48c5
...@@ -4233,23 +4233,30 @@ or namestring in an @code{:include} directive, e.g.: ...@@ -4233,23 +4233,30 @@ or namestring in an @code{:include} directive, e.g.:
@node Output Shell-friendly syntax for configuration, Semantics of Output Translations, Output Configuration Directories, Controlling where ASDF saves compiled files @node Output Shell-friendly syntax for configuration, Semantics of Output Translations, Output Configuration Directories, Controlling where ASDF saves compiled files
@section Shell-friendly syntax for configuration @section Shell-friendly syntax for configuration
When considering environment variable @code{ASDF_OUTPUT_TRANSLATIONS} When processing the environment variable
ASDF will skip to the next configuration if it's an empty string. @code{ASDF_OUTPUT_TRANSLATIONS}:
It will @code{READ} the string as an SEXP in the DSL @itemize
if it begins with a paren @code{(} @item ASDF will skip to the next configuration if it's an empty string.
and it will be interpreted as a list of directories. @item ASDF will @code{READ} the string as an SEXP in the DSL, if it
Directories should come by pairs, indicating a mapping directive. begins with a parenthesis @code{(}.
@item Otherwise ASDF will interpret the value as a list of directories
(see below).
@end itemize
In the directory list format,
directories should come in pairs, each pair indicating a mapping directive.
Entries are separated Entries are separated
by a @code{:} (colon) on Unix platforms (including cygwin), by a @code{:} (colon) on Unix platforms (including Mac and cygwin), and
by a @code{;} (semicolon) on other platforms (mainly, Windows). by a @code{;} (semicolon) on other platforms (mainly, Windows).
The magic empty entry, The magic empty entry,
if it comes in what would otherwise be the first entry in a pair, if it comes in what would otherwise be the first entry in a pair,
indicates the splicing of inherited configuration. indicates the splicing of inherited configuration.
If it comes as the second entry in a pair, If the second entry in a pair is empty,
it indicates that the directory specified first is to be left untranslated it indicates that the directory in the first entry is to be left untranslated
(which has the same effect as if the directory had been repeated). (which has the same effect as if the directory had been repeated).
Thus @code{"/foo:/bar::/baz:"} means that
For example, @code{"/foo:/bar::/baz:"} means that
things under directory @file{/foo/} things under directory @file{/foo/}
are translated to be under @file{/bar/}, are translated to be under @file{/bar/},
then include the inherited configuration, then include the inherited configuration,
...@@ -4708,7 +4715,7 @@ and get inspiration (or disinspiration) ...@@ -4708,7 +4715,7 @@ and get inspiration (or disinspiration)
from what it does in @file{header.lisp} and @file{upgrade.lisp}. from what it does in @file{header.lisp} and @file{upgrade.lisp}.
@end defun @end defun
@defun register-preloaded-system name @Arest{} keys @Akeys{} version @AallowOtherKeys{} @defun register-preloaded-system name @Arest{} keys @Akey{} version @AallowOtherKeys{}
A system with name @var{name}, A system with name @var{name},
created by @code{make-instance} with extra keys @var{keys} created by @code{make-instance} with extra keys @var{keys}
(e.g. @code{:version}), (e.g. @code{:version}),
......
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