|Anonymous | Login | Signup for a new account||2016-07-24 06:57 CEST|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0005550||OCaml||OCamlbuild (the tool)||public||2012-03-20 11:31||2012-03-20 15:19|
|Target Version||Fixed in Version|
|Summary||0005550: Cache results from `ocamlfind query` in _build/|
|Description||Anil Madhavapeddy reported that he uses ocamlbuild on large build trees for Mirage, and found the -use-ocamlfind integration unusable in his case because of the ocamlbuild's repeated invocation of `ocamlfind query`. His workaround is to devise his own ocamlfind logic in myocamlbuild.ml, that reuse library-location information gathered at ./configure time.|
It would be nice if ocamlbuild cached `ocamlfind query` results in the _build/ subdirectory, so that they don't have to be recomputed across ocamlbuild calls.
|Additional Information||After a quick look at ocamlbuild/findlib.ml, it appears that ocamlbuild already caches `ocamlfind query` results across a single ocamlbuild run, by using a hashtable at runtime. So this amount to making this hash-table pervasive by somehow storing it in a file in _build.|
|Tags||No tags attached.|
Marking this acknowledged after discussion with xclerc.
As always, patches are welcome.
Remark: if documented, that feature should be documented because the user could observe caching by compiling a project, installing/removing/updating ocamlfind stuff, then recompiling from (now outdated) cached information.
I don't think there is any magic technique to detect such getting-out-of-date case: does ocamlfind store a time-of-last-update somewhere that is less costly to access that `ocamlfind query`? But this is probably a rare case and we could just document it and recommend to -clean on such occasions, or provide a -clean-ocamlfind option, or advise to `rm _build/ocamlfind.cache` or something.
|2012-03-20 11:31||gasche||New Issue|
|2012-03-20 11:32||gasche||Note Added: 0007114|
|2012-03-20 11:32||gasche||Status||new => acknowledged|
|2012-03-20 11:34||gasche||Note Added: 0007115|
|Copyright © 2000 - 2011 MantisBT Group|