You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
0 commit comments