[Ecls-list] CFFI-Grovel and ECL

Greg Pfeil sellout42 at mac.com
Fri May 5 09:53:01 UTC 2006


I previously sent this email directly to Michael Goffioul and the 
CFFI-Grovel authors (CCed) directly, but Michael thought I might find 
additional information here.

Sorry for the list flooding ... I'm playing with four different things 
in ECL right now, figuring that would be the best way to keep moving 
forward while I waited for responses from all the Europeans who are 9 
hours ahead of me ;)

> CFFI-Grovel works fine with ECL when I do the usual
>
>     (asdf:oos 'asdf:load-op :foo)
>
> but ECL also has its own ASDF:BUILD-OP (a subclass of ASDF:COMPILE-OP) 
> for which the CFFI-GROVEL-FILE behavior doesn't work. My ASDF-fu is 
> weak, and my various hacks to get the two parts working together have 
> proved fruitless.
>
> I _assumed_ that the default behavior would "just work", but that was 
> backed by a number of other assumptions:
>
> - since the output-file-name is foo.o, it would generate an object 
> file as opposed to a fasl.
> - the cffi-grovel behavior would be called, since build-op is a 
> subclass of compile-op

Dan pointed out that this could be wrong, since (PERFORM <BUILD-OP> 
<any cffi-grovel-file superclass>) would take precedence over (PERFORM 
<COMPILE-OP> <CFFI-GROVEL-FILE>), but the only PERFORM in asdf-ecl.lisp 
is specialized on SYSTEM, which shouldn't come into play here.

> - ECL wouldn't try loading foo.lisp, since the perform method would 
> generate the expected foo.o

Michael pointed out that this assumption is wrong because the .lisp 
file may be loaded if its forms are needed in order to compile other 
files.

> I must be wrong on at least one of these (or perhaps some other latent 
> assumptions).
>
> Thanks for any help.





More information about the ecl-devel mailing list