On 10/15/10 Oct 15 -11:57 AM, Nikodemus Siivola wrote:
> On 15 October 2010 19:49, Robert Goldman <[email protected]> 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


_______________________________________________
asdf-devel mailing list
[email protected]
http://common-lisp.net/cgi-bin/mailman/listinfo/asdf-devel

Reply via email to