Previous: trivial-sockets differences, Up: Top
For foo-internal.lisp, the resulting foo-internal.c, foo-internal, and foo-internal.cffi.lisp are all platform-specific, either because of possible reader-macros in foo-internal.lisp, or because of varying C environments on the host system. For this reason, it is not helpful to distribute any of those files; end users building CFFI-Grovel based software will need CFFI-Grovel anyway.
If you build with multiple architectures in the same directory (e.g. with NFS/AFS home directories), it is critical to remove these generated files or the resulting constants will be very incorrect. Maybe we should tag the generated names with something host or OS-specific?
For now, after some experimentation with CLisp having no long-long, it seems appropriate to assert that the generated .c files are architecture and operating-system dependent, but lisp-implementation independent. This way the same .c file (and so the same .cffi.lisp file) will be sharable between the implementations running on a given system.