On Tue, 19 Mar 2013 10:08:55 +0200, Luís Oliveira luismbo@gmail.com wrote:
On Tue, Mar 19, 2013 at 4:25 AM, iso noncopyable@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.