[cffi-devel] always recompile with "asdf:load-system"

nan noncopyable at gmail.com
Tue Mar 19 09:15:55 UTC 2013


On Tue, 19 Mar 2013 10:08:55 +0200, Luís Oliveira <luismbo at gmail.com>
wrote:

> On Tue, Mar 19, 2013 at 4:25 AM, iso <noncopyable at gmail.com> wrote:
>> After updating to new version (via quicklisp) i first had issues with my
>> grovel file.
>> I used to be able to reference types defined outside of grovel file,  
>> now i
>> can't.
>> I am not sure if it was a bug or a feature but somehow it compiled  
>> before!
>> Anyways, after modifying a few things it is now working.
>
> Can you expand on this issue? Did you have foreign types defined in
> some file A then referenced from some grovel file B without having B
> depend on A?

An asdf system with (:serial t) and in the :components i have:

(:file "type")
(cffi-grovel:grovel-file "grovel")

i used to have types in type.lisp:

(defctype enum :unsigned-int)

which could then be used in grovel.lisp:

(cenum
      (some-type :base-type enum)
      ...)

Now i have to do it like:

(cenum
      (some-type :base-type :unsigned-int)
      ...)

> I'll try to reproduce this. Can you give me detailed instructions on
> how to reproduce the problem? That'd be rather helpful.

I am using static-vectors as example because it is the first project i
could find using cffi-grovel other than mine.

(ql:quickload :static-vectors)

;;; at this point whenever i restart image and load it, it gets compiled
;;; i am a CL noob so i'll restart image here, with
(,restart-inferior-lisp ,rest works!)
,rest
(asdf:load-system :static-vectors)

But if i did this with cl-opengl (another project based on cffi but
doesn't use cffi-grovel) after ql:quickload, it just loads without
compilation.

Thanks.




More information about the cffi-devel mailing list