CFFI-Grovel will generate many files that not only architecture-specific, but also implementation-specific, and should not be distributed. ASDF will generate these files in its output cache; if you build with multiple architectures (e.g. with NFS/AFS home directories) or implementations, it is critical for avoiding clashes to keep this cache in an implementation-dependent directory (as is the default).
foo-internal.lisp, the resulting
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
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.