CDR 10: Functions COMPILED-FILE-P and ABI-VERSION

Author / Submitter

Sam Steingold

Abstract

A facility to determine whether a file is a valid compiled file for the specific implementation and to identify the current compiled file format.

Rationale

Build tools, like defsystem or asdf, have to determine whether a file needs to be recompiled.

Obviously, when the compiled file is older than the source file, recompilation is in order.

Alas, there are other situations when this might be necessary, e.g., when the implementation changes the compiled file format or when two implementations use the same name for their compiled files (.fasl is used by both SBCL and ACL).

Traditionally, system definition facilities have taken the route of creating a separate directory for each combination of implementation type, version, operating system, and architecture. This is wasteful because the the compiled file format does not necessarily change between versions and does not even have to depend on OS and architecture.

The proposed functions will simplify the build directory tree structure and reduce the number of binary distribution bundles.

The Document

Status

Final