Next: , Previous: , Up: The Groveller   [Contents][Index]


13.4 Implementation Notes

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).

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.

Implementor’s note: 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 .grovel-tmp.lisp file) will be shareable between the implementations running on a given system.