123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111openCmdlinerletfpath_arg=letprintppfv=Fpath.ppppfvinArg.conv(Fpath.of_string,print)lethtml_dir=letdoc="Directory in which the generated HTML files go"inArg.(value&optfpath_arg(Fpath.v"_html/")&info["html-dir"]~doc~docs:Manpage.s_common_options)letverbose=letdoc="Enable verbose output"inArg.(value&flag&info["v";"verbose"]~doc~docs:Manpage.s_common_options)letstats=letdoc="Produce 'driver-benchmarks.json' with run stats"inArg.(value&flag&info["stats"]~doc~docs:Manpage.s_common_options)letnb_workers=letdoc="Number of workers."inArg.(value&optint(Domain.recommended_domain_count()-1)&info["j"]~doc~docs:Manpage.s_common_options)letodoc_bin=letdoc="Odoc binary to use"inArg.(value&opt(somestring)None&info["odoc"]~doc~docs:Manpage.s_common_options)letodoc_md_bin=letdoc="Odoc-md binary to use"inArg.(value&opt(somestring)None&info["odoc-md"]~doc~docs:Manpage.s_common_options)letgenerate_json=letdoc="Also generate json output"inArg.(value&flag&info["json-output"]~doc~docs:Manpage.s_common_options)letodoc_dir=letdoc="Directory in which the intermediate odoc files go"inArg.(value&opt(somefpath_arg)None&info["odoc-dir"]~doc)letodocl_dir=letdoc="Directory in which the intermediate odocl files go"inArg.(value&opt(somefpath_arg)None&info["odocl-dir"]~doc)letindex_dir=letdoc="Directory in which the intermediate index files go"inArg.(value&opt(somefpath_arg)None&info["index-dir"]~doc)letmld_dir=letdoc="Directory in which the auto-generated mld files go"inArg.(value&opt(somefpath_arg)None&info["mld-dir"]~doc)typet={verbose:bool;html_dir:Fpath.t;stats:bool;nb_workers:int;odoc_bin:stringoption;odoc_md_bin:stringoption;generate_json:bool;}typedirs={odoc_dir:Fpath.toption;odocl_dir:Fpath.toption;mld_dir:Fpath.toption;index_dir:Fpath.toption;}letwith_dirsdirsfn:unit=letwith_dir=Util.with_dirinlet{odoc_dir;odocl_dir;mld_dir;index_dir}=dirsinwith_dirodoc_dir"odoc-%s"@@funodoc_dir()->with_dirodocl_dir"odocl-%s"@@funodocl_dir()->with_dirindex_dir"index-%s"@@funindex_dir()->with_dirmld_dir"mld-%s"@@funmld_dir()->fn~odoc_dir~odocl_dir~index_dir~mld_dir()openTermlet(let+)tf=constf$tlet(and+)ab=const(funxy->(x,y))$a$bletdirs_term=let+odoc_dir=odoc_dirand+odocl_dir=odocl_dirand+mld_dir=mld_dirand+index_dir=index_dirin{odoc_dir;odocl_dir;mld_dir;index_dir}letterm=let+verbose=verboseand+html_dir=html_dirand+stats=statsand+nb_workers=nb_workersand+odoc_bin=odoc_binand+odoc_md_bin=odoc_md_binand+generate_json=generate_jsonin{verbose;html_dir;stats;nb_workers;odoc_bin;odoc_md_bin;generate_json}