My own asdf problem (exactly one of ...)

Christophe Rhodes <[email protected]>
Newsgroups gmane.lisp.cclan.general
Message-ID <[email protected]>
Hi,

I ran into what I fear is a wall today.  I am working on CLX, and was
attempting to move sbcl implementations of system-independent routines
into their own file, so that where before there was just
"dependent.lisp", there would be "sbcl-dependent.lisp" to be used if
the implementation is sbcl, and "dependent.lisp" otherwise.  The
problem arose when trying to describe this to ASDF.  It's easy enough
to say "don't use sbcl-dependent if :SBCL isn't on *FEATURES*":
  (:module dependent
           (:file "sbcl-dependent"
                  :if-component-dep-fails :try-next
                  :in-order-to ((compile-op (feature :sbcl))))
           ...)
but the description "don't use dependent.lisp if :SBCL *is* on
*FEATURES*" eluded me.  The best I could come up with was
           (:file "dependent"
                  :perform (compile-op :around (o c)
                             (unless (member :sbcl *features*)
                               (call-next-method)))
                  :output-files (compile-op :around (o c)
                                  (unless (member :sbcl *features*)
                                    (call-next-method))))
which did not fill me with joy.  Is there a better way in current
ASDF?  Do other defsystems let you express this in a more consise way?

Cheers,

Christophe
-- 
http://www-jcsu.jesus.cam.ac.uk/~csr21/       +44 1223 510 299/+44 7729 383 757
(set-pprint-dispatch 'number (lambda (s o) (declare (special b)) (format s b)))
(defvar b "~&Just another Lisp hacker~%")    (pprint #36rJesusCollegeCambridge)


-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100006ave/direct;at.asp_061203_01/01
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.