https://github.com/EasyCrypt/easycrypt
Tip revision: 8aa82eab0051a774c5bdaadad88869c196c38a50 authored by Pierre-Yves Strub on 29 March 2022, 10:28:41 UTC
[matching]: when crossing a binder, update the env. accordingly
[matching]: when crossing a binder, update the env. accordingly
Tip revision: 8aa82ea
ecRelocate.ml
let myname = Filename.basename Sys.executable_name
let mydir = Filename.dirname Sys.executable_name
let eclocal =
let rex = EcRegexp.regexp "^ec\\.(?:native|byte|exe)$" in
EcRegexp.match_ (`C rex) myname
let sourceroot =
if eclocal then
if Filename.basename mydir = "src"
then Some mydir
else Some (Filename.concat mydir "src")
else None
let resource name =
match eclocal with
| true ->
if Filename.basename mydir = "src" then
List.fold_left Filename.concat mydir
([Filename.parent_dir_name] @ name)
else
List.fold_left Filename.concat mydir name
| false ->
List.fold_left Filename.concat mydir
([Filename.parent_dir_name; "lib"; "easycrypt"] @ name)
module Sites = struct
let theories = [resource ["theories"]]
end