Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

krml/Makefiles: unifying logic for detecting F* #512

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

mtzguido
Copy link
Member

@mtzguido mtzguido commented Jan 4, 2025

Mostly preparing for using F* outside of a repo, i.e. without an FSTAR_HOME. The Makefiles and krml will now only locate fstar.exe, and call it to find its library and OCaml files. To find fstar.exe, the process is:

  • First try to read the environment variable FSTAR_EXE.
  • If unset, try FSTAR_HOME/bin/fstar.exe (for compatibility)
  • If FSTAR_HOME is unset, check the PATH.

(I'm proposing other projects should use that logic too.. does it make sense? Steel is already doing via this same locate_fstar.mk)

Mostly preparing for using F* outside of a repo, i.e. without an
FSTAR_HOME. The Makefiles and krml will now only locate fstar.exe, and
call it to find its library and OCaml files. To find fstar.exe, the
process is:
- First try to read the environment variable FSTAR_EXE.
- If unset, try FSTAR_HOME/bin/fstar.exe (for compatibility)
- If FSTAR_HOME is unset, check the PATH.
@gebner
Copy link

gebner commented Jan 4, 2025

I'm proposing other projects should use that logic too.. does it make sense?

Personally I think it's more complicated than necessary. In virtually all cases you want to have fstar.exe in your PATH anyhow. So I'd skip step 1 and 2 and just call fstar.exe directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants