[cffi-devel] CFFI-GROVEL ASDF integration

Juan Jose Garcia-Ripoll juanjose.garciaripoll at gmail.com
Mon Nov 5 23:33:15 UTC 2012


On Mon, Nov 5, 2012 at 12:57 PM, Mark Cox <markcox80 at gmail.com> wrote:

> I am not sure if Juan reads this list. He may have a better idea on how to
> achieve this approach.


I am afraid I do not know what grovel is doing, but all what you mentioned
in your email is correct. ECL needs both files because that is the only
correct way to build a shared library out of an ASDF definition. In the
past we only kept the FASL and threw away the object file, which implied a
second recompilation for every new operation and this led to unwanted
changes in the order of ASDF -- the resulting libraries were not identical
to the process of loading a clean and fresh ASDF library.

What I do not understand is why cffi-grovel is dealing with the output of a
compile-op operation. I would have implemented
http://common-lisp.net/project/cffi/manual/html_node/Groveller-ASDF-Integration.html#Groveller-ASDF-Integrationusing
the following ASDF dependency rule (method on depends-on or something
like that)

load-op grovel-file -> grovel-op grovel-file & load-op resulting-lisp-file
compile-op grovel-file -> grovel-op grovel-file & compile-op
resulting-lisp-file

This parallel rule would ensure that the intermediate lisp is always
generated (via grovel-op) and the grovel-file does not have to deal with
compilation itself, which is delegated to the load/compile-op on the
resulting file.

Juanjo

-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/cffi-devel/attachments/20121106/b77ed072/attachment.html>


More information about the cffi-devel mailing list