[asdf-devel] What do I win?

Robert Goldman rpgoldman at sift.info
Fri Oct 15 17:03:11 UTC 2010


On 10/15/10 Oct 15 -11:57 AM, Nikodemus Siivola wrote:
> On 15 October 2010 19:49, Robert Goldman <rpgoldman at sift.info> wrote:
> 
>>> Ok, I'll put this on my TODO: I think :DEPENDS-ON ((:FEATURES ...))
>>> would be a nice way to indicate that something is eg. only meant for
>>> SBCL on Linux, or whatever.
>>
>> I'm going a little by memory, but IIRC the officially approved way of
>> doing this in ASDF is very cumbersome.
>>
>> You indicate a features-based dependency and then you have to set up an
>> error-handler (well, effectively an error handler), using
>> :if-component-dep-fails to say "and if this dependency fails, ignore it."
> 
> I've done this, and it works fine -- from eg. SB-CGA:
> 
>    (:module "ports"
>             :if-component-dep-fails :try-next
>             :components ((:file "sbcl" :in-order-to ((compile-op
> (feature :sbcl))))
>                          (:file "ccl" :in-order-to ((compile-op
> (feature :ccl))))))
> 
> The :DEPENDS-ON for the whole system in this case is intended for
> system introspection for things like Quicklisp -- or that's my idea at
> least.
> 
> Cheers,
> 
>  -- Nikodemus

Right.  But, honestly, I find

(:module "ports"
   :components
	(
         #+sbcl
         (:file "sbcl")
         #+ccl
         (:file "ccl"))
 ...)

a lot easier to read...

best
r





More information about the asdf-devel mailing list