Implementor's note: This info might not be up-to-date.
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.
Implementor's note: Maybe we should tag the generated names with something host or OS-specific?
Implementor's note: For now, after some experimentation with clisp having no long-long, it seems appropriate to assert that the generated.cfiles are architecture and operating-system dependent, but lisp-implementation independent. This way the same.cfile (and so the same.grovel-tmp.lispfile) will be shareable between the implementations running on a given system.