On Mon, Sep 28, 2015 at 3:01 PM, Florian Margaine <flor...@margaine.com> wrote: > Faré, > > Following our IRC discussion, I'd like to show a workaround in the > meantime (for future googlers): > >> <Fare> not using quotes around asdf:program-op, it should work > > This does indeed work. So the .asd file would be like this: > > (asdf:defsystem #:my-system > :description "foo" > :serial t > :depends-on (:sb-posix) > :components ((:file "package") > (:file "my-system")) > :build-operation asdf:program-op > :build-pathname "my-system" > :entry-point "my-system:main") > > And the my-system binary is created in the current folder. > Note that this works because the operation you care about, program-op, exists in a package that already exists when the defsystem form is read, asdf. The purpose of accepting classes named in a string is to enable (the symbol that names) such a class to exist in package that doesn't exist yet, but is being defined by a defsystem-depends-on dependency.
Also note that ASDF fails to re-load a defsystem-depends-on dependency when it has changed, or to re-process a .asd file when that happens. OK, created https://bugs.launchpad.net/asdf/+bug/1500578 for that. Don't expect any work on it whatsoever from me, though. —♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org Time and money spent in helping men to do more for themselves is far better than mere giving. — Henry Ford