[asdf-devel] Two questions
Faré
fahree at gmail.com
Wed Sep 30 10:14:53 UTC 2009
2009/9/30 Nick Levine <ndl at ravenbrook.com>:
> 1. Problems with the :feature feature.
>
> (asdf:defsystem foo
> :components ((:file "pkg")
> (:file "code")
> (:file "foo" :depends-on ((:feature :frob)))))
>
> If :frob is not on *features*, load-system gives me:
>
> Error: Bad dependency (FEATURE FROB). Dependencies must be
> (:version <version>), (:feature <feature>), or a name
>
> If :frob is a *feature* I get a different error:
>
> Error: Error component :FROB not found, required by #<CL-SOURCE-FILE
> "foo" #x8B7A3E6>
>
> Did I misunderstand something?
>
Maybe what you want is #+frob (:file "foo")
> 2. Suppose I would like some code to run at compile-time / load-time
> to determine where the fasls should live (e.g. hypothetically, in a
> subdirectory named after a timestamp, or according to what patches I
> have loaded). How do I express this?
>
You can define your own :around method on output-files, and/or
override default methods. See how ASDF-BINARY-LOCATIONS (now part of
ASDF 1.366 and later) does it.
Note that with XCVB, you can :depends-on (:when (:featurep :frob)
"foo") and you can xcvb --object-directory obj-$(timestamp) ...
[ François-René ÐVB Rideau | Reflection&Cybernethics | http://fare.tunes.org ]
If a vegetarian eats vegetables, what does a humanitarian eat? -- Mark Twain
More information about the asdf-devel
mailing list