Ok, point taken. This discussion will be moved to an appropriate place. However, I believe you have a sample space of 3 now. I just checked the other Mac (also v10.4 like mine) in the office and it doesn't have ffi.h anywhere in the file system. If you don't care as you want a mac expert to take over, I completely understand and please disregard these comments.
(cffi-grovel:grovel-file .... #+(or gsll:macports gsll:darwinports
gsll:fink) :cc-flags #+(or macports darwinports)"-I/opt/local/include" #+fink"-I/sw/include")
I'm unclear on who/what put gsll:macports onto *features*. That's not anything I do, nor could I. Therefore I couldn't put it into my source code.
The user would. There are definitely some errors here, I didn't actually try this out. I think it would work if the symbols were from the keyword package rather than GSLL.
I believe that it is okay Lisp style to have the user push a symbol on the features list in order to tell packages what features are present. Like I could (push :macports *features*) before building GSLL, which, with proper reader conditionals, could allow GSLL customize the build according to a system that uses macports. Which all becomes another way for the user to tell you where to look for paths.
Thanks for your work and thoughts on this matter, Zach