Faré fahree@gmail.com writes:
2009/9/30 Nick Levine ndl@ravenbrook.com:
Maybe what you want is #+frob (:file "foo")
Ideally not, as you'd have to remember to reload all your .asd files every time you messed with features.
If this isn't what :feature does, then what is it for?
I had never heard of it before. Looks like it's broken by design.
Well, that's one possibility.
The reason that you don't want reader conditionals for implementation-specific files in a system description is that compilation and loading isn't the only thing that you do to a system. Another thing that you might do, for example, is package up the system, whether that is as a tarball or an operating-system package (e.g. a .deb). To do that from within a Lisp, you need to be able to see all the files, not just the ones that that particular lisp has *features* for; that's what the asdf:feature dependency allows you to encode.
(This isn't just theoretical; the long-forgotten CCLANv1 that operated as a bunch of .debs with common-lisp-controller support worked this way)
[Nick]
Hmm, that's an improvement. (Otoh writing about a rapidly moving target is tricky. Each time I review this it's changed.)
As far as I know, the :around output-files method way of customizing the output location of an asdf operation has worked for many, many years.
Cheers,
Christophe