A CFFI -ASDF integration bug

Faré fahree at gmail.com
Tue Aug 4 18:57:52 UTC 2020


On Tue, Aug 4, 2020 at 1:03 PM Ilya Perminov <iperminov at gmail.com> wrote:
>
> I think protobuf and CFFI structure their operations in a very similar way - process-op is analogous to proto-to-lisp, it takes a "specification" file and generates a lisp file and some other files. protobuf generates lisp(fasl) files only, so it does not need to do anything special to support bundle operations. CFFI's process-op generates some .o and .so files that a  bundle operation may need. The current implementation adds .o and .so files to outputs of compile-op and it causes the problem I described.
> I do not know what methods need to be defined on process-op to make bundle operations to pick up its output files. From my very limited understanding of ASDF I do not think there is a way to do it. Method "component-depends-on ((o gather-operation) (s system))" determines input-files of a bundle-op. The method returns dependencies of one operation only (e.g. compile-op), but in case of CFFI's wrapper-file we need output files of two operations: process-op and compile-op.
>
The intended design is that you only take the output of compile-op,
and that process-op is implicitly involved as a dependency to compute
said output, but that process-op's own outputs are not included. If
process-op does the compilation and you want its outputs, you lose.

That said, I haven't looked at the code recently, nor do I intend to,
being too busy trying to make my startup survive and feed my family.

—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org
A word for the epoch of free software and universal publishing:
voluntocracy n 1. governance by those who do the work. 2. the volunteers
who do the work. — Aubrey Jaffer, http://swissnet.ai.mit.edu/~jaffer/



More information about the asdf-devel mailing list