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.