I haven't been able to build a fresh clone of GSLL for a while now (maybe never?). This has already floated up on this list before, but GSLL/CFFI-GROVEL don't know where to find header files. There seems to be no way to tell them other than changing the source and passing a special :cc-flags on the groveler line. I also have to do this with FSBV. It would be nice if there was something in CFFI-GROVEL that allows you to say "check here, here, and here for my header files." I'm talking about something like CFFI:*FOREIGN-LIBRARY-DIRECTORIES*. I am bringing it up here first since I might be mistaken about the state of things. Any other people out there have headers in places CFFI-GROVEL doesn't think to look? Do you have a better solution?
Zach
Zach,
I was going to add a message to you on my reply to Jason, but since you've sent a separate message, I'll reply here. I understand you use OSX. This is a little bit different because I don't use OSX, but nevertheless my answer is the same.
Simply put, CFFI-grovel doesn't "think to look" anywhere, it looks where the application author (me, in the case of GSLL) tells it. I put the #+darwin conditional in libffi-unix.lisp based on a Mac-using colleague's report that he found ffi.h in ffi/ffi.h (sorry I don't know the full path). That clause works for him. I understand that people can install from Darwin ports, fink, etc., but libffi in particular is an Apple standard library so I used the location Apple seems to use.
So I'm going to rely on your Mac expertise here (because I have none) but can you answer the questions I asked of Jason? (modified suitably for OS X). What was the path you gave it? Why isn't ffi.h in the Apple-defined place? etc. You say in your other message "...I have for a long time had to do this for any system that uses cffi-grovel, since I often have libraries in only somewhat standard places under OS X." If they are in different places because of the semi-standard install (e.g. Darwin ports), arguably we should have that in GSLL. If on the other hand you have a unique organization, you're going to have to make your own modifications to each system. I don't know of a way to supply a list of possibilities to search in cffi-grovel, but even if that's possible, I'd only make use of it for semi-standard locations.
Liam
On Tue, Jun 23, 2009 at 6:49 PM, Zachelzacho@gmail.com wrote:
I haven't been able to build a fresh clone of GSLL for a while now (maybe never?). This has already floated up on this list before, but GSLL/CFFI-GROVEL don't know where to find header files. There seems to be no way to tell them other than changing the source and passing a special :cc-flags on the groveler line. I also have to do this with FSBV. It would be nice if there was something in CFFI-GROVEL that allows you to say "check here, here, and here for my header files." I'm talking about something like CFFI:*FOREIGN-LIBRARY-DIRECTORIES*. I am bringing it up here first since I might be mistaken about the state of things. Any other people out there have headers in places CFFI-GROVEL doesn't think to look? Do you have a better solution?
Zach
Gsll-devel mailing list Gsll-devel@common-lisp.net http://common-lisp.net/cgi-bin/mailman/listinfo/gsll-devel