Previous: Groveller ASDF Integration, Up: The Groveller


13.4 Implementation Notes

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