On 12/20/05, Surendra Singhi efuzzyone@netscape.net wrote:
Hello, Right now :cffi is not pushed into the *features* list, rather :cffi/no-long-long is. Is there any reason why this is done so?
Because of this I am not able to write code which can conditionally depend on the presence of cffi, for example `#+cffi (do-something)'.
Hi Surendra. I hope my perspective might be useful. In my case, I have decided to concentrate on using CFFI, instead of trying to keep native FFI layer code around. My gut feeling is that this is low-risk.
I figure that if I run into a problem, I've got the option of writing my own temporary shim to solve the problem in such a way that the conditionalization for each Lisp implementation is hidden. Then see about submitting a patch (which I am certainly not saying *you* need to be reminded to do, just that this is part of my rationale); in any case, I have confidence that a real problem in CFFI could be addressed pretty quickly.
Thus, pushing :cffi onto *features* doesn't have any value for me.
I don't think conditionally compiling on `cffi/no-long-long' will be a good idea because it is something which might not be present in the future.
I think cffi/no-long-long is not intended to advertise that CFFI is available, but really is specifically saying "be advised that CFFI doesn't support a long-long type on this target FFI API".
-- Jack