On Mon, Sep 28, 2015 at 3:01 PM, Florian Margaine florian@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