Re: ASDF: alternative system configurations
Christophe Rhodes <[email protected]>
| Newsgroups | gmane.lisp.cclan.general |
|---|---|
| Message-ID | <[email protected]> |
james anderson <[email protected]> writes: > not the original question, but take a situation where i have four system > components a,b,c,d and for the purposes of compiling the system the depandancy is > > a > / \ > b c > \ / > d > > which means that the builder needs to specify either a and b, or a and c to > build. on the other hand, when it comes to documenting or releasing, one would > like to specify a and b and c and not have to worry about what > conditionalization has done to the effective expression of the system structure. Again, a late response; I've only just begun pushing the boundaries of "normal" asdf use; (untested): (defsystem foo :components ((:file "a") (:module "bar" :depends-on "a" :components ((:file "b" :in-order-to (compile-op (feature :use-b))) (:file "c" :in-order-to (compile-op (feature :use-c)))) :if-component-dep-fails :try-next) (:file "d" :depends-on "bar"))) And I think you can probably play the same trick as in my mail to Nikodemus with subclassing asdf:cl-source-file and an :around method to avoid the (ab)use of *FEATURES*. Cheers, Christophe [ PS: James, your mail system appears not to talk to mine; I don't know why. On the assumption that it talks to sourceforge, just to let you know that I've had reasonable success in compiling cl-xml under released versions of sbcl; not having any application for it, though, I'm at a bit of a loss as to how to test it. ] -- 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 is sponsored by: Etnus, makers of TotalView, The best thread debugger on the planet. Designed with thread debugging features you've never dreamed of, try TotalView 6 free at www.etnus.com.