Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Avoid building
runtime/gen/basis-ffi.{h,sml}
with clean sources
6a466d9 was a previous attempt to avoid building `runtime/gen/basis-ffi.{h,sml}` when building from clean sources. This avoids the need for a working `mlton` when building the runtime, which is convenient for cross-compiling and porting. It typically worked, because a fresh `git clone` or `tar x` would create the `runtime/gen/basis-ffi.{h,sml}` and `runtime/gen/gen-basis-ffi.{sml,stamp}` files with sufficiently close timestamps that `make` wouldn't consider anything to be out of date. However, this is not guaranteed. This commit removes `runtime/gen/gen-basis-ffi.stamp` and adds `runtime/gen/basis-ffi.{h,sml}.chk` files, which are SHA checksums of the inputs and outputs of `runtime/gen/basis-ffi.{h,sml}`. If the checksum of the current sources matches the saved checksum, then the targets can be brought up to date with a simple `touch`. If an input has changed, then the targets (and the checksum) are updated by building and running the `runtime/gen/gen-basis-ffi` tool.
- Loading branch information