[asdf-devel] [cclan-list] How to depend on a system optionally?

james anderson james.anderson at setf.de
Mon Jul 20 20:12:10 UTC 2009

On 2009-07-20, at 21:10 , Robert Goldman wrote:

> james anderson wrote:
>> On 2009-05-18, at 14:55 , Nikodemus Siivola wrote:
>>> 2009/5/18 Robert Goldman <rpgoldman at sift.info>:
>>>> Tobias C. Rittweiler wrote:
>>>>> I've read several times that it's a head ache to configure  
>>>>> optional
>>>>> dependencies with ASDF.
>>>>> How true is that? Could we perhaps provide another clause
>>>>> :OPTIONALLY-DEPEND-ON in DEFSYSTEM which would load a system  
>>>>> only if
>>>>> available?
>>> Doesn't :WEAKLY-DEPENDS-ON do what you want?
>> there is at least one more kind of dependency between two components:
>> "contingency".
> ...
> Did this discussion ever go anywhere?
> James, would it be possible for you to resend this email with the  
> tables
> given as a text attachment, rather than as inline text?  I don't know
> about the rest of the list, but my client (Thunderbird) turned your
> tables into complete and utter gibberish.

[i suspect it was because i neglected to disable line-wrapping before  
i sent the message.]

to summarize:

in addition to simple and weak dependency, there is at least one more  
kind of dependency between two components: "contingency".

in order to manage a system for multiple runtimes, each of which
entails it's own foreign libraries, i have found it useful to add a
constraint called "contingent-on". this may-or-may-not be what you
intend with "optionally-depend-on". i have found it useful to express
the constraints:

   "if a feature|system 'X' is present, then system|component 'Y' is  
required, and depends on 'X'. if 'X' is not present, do nothing."

i attach an html file which describes, as a table, the relation  
between system model state and operations.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: asdf-dependency-use-cases.html
Type: application/applefile
Size: 574 bytes
Desc: not available
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20090720/4f69d7f1/attachment.bin>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/asdf-devel/attachments/20090720/4f69d7f1/attachment.html>
-------------- next part --------------

More information about the asdf-devel mailing list