|Anonymous | Login | Signup for a new account||2014-03-09 14:56 CET|
|Main | My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0004573||OCaml||OCamlbuild (the tool)||public||2008-07-01 13:17||2013-06-17 16:32|
|Status||resolved||Resolution||no change required|
|Target Version||4.00.2+dev||Fixed in Version|
|Summary||0004573: Packing modules without _tag|
|Description||Sorry for my bad english.|
Ocamlbuild try to find submodules for <ident>.mlpack file in same dir when the <ident>.mlpack file exists, but when we get "touch _tags" it's look at subdir <ident> for this modules.
|Tags||No tags attached.|
edited on: 2013-06-17 16:19
This is not a bug, but rather a not-well-documented feature of ocamlbuild, related to the default value of the "traverse" tag that controls recursive traversal of subdirectories.
Initially ocamlbuild has "traverse: true" in all circumstances, because that's the most convenient when compiling an OCaml project. However, that was a performance nightmare when ocamlbuild was called from somewhere else: calling ocamlbuild from your home directory could try to traverse it entirely!
So the change that was made (around 3.11 I'd guess) is to use a heuristic to detect whether we're in an real OCaml project, or in a random directory:
- if a "_tags" or a "myocamlbuild.ml" exists in the current working directory, then "traverse" is enabled by default (all subdirectories are recursively traversed)
- if no "_tags" and no "myocamlbuild.ml" file exists, "traverse" is not enabled by default
Note that in either case you can change this default by adding the "traverse" tag to specific subdirectories ("<foo>: traverse") or for everything ("true: traverse"), and conversely disabling it with "-traverse" instead -- either in a _tags file or through the -tag-line "..." option).
PS: I'm not fond of this heuristic, for precisely the reason that it is surprising that adding a "_tags" file would change the observed semantics. But I'm not sure what would be a better choice, and don't see how to change this without breaking compatibility.
|2008-07-01 13:17||Radzevich Belevich||New Issue|
|2008-08-01 16:18||xleroy||Assigned To||=> ertai|
|2008-08-01 16:18||xleroy||Status||new => assigned|
|2010-07-22 11:46||ertai||Assigned To||ertai => xclerc|
|2012-02-02 15:17||protz||Category||OCamlbuild => OCamlbuild (the tool)|
|2012-07-04 17:15||doligez||Target Version||=> 4.00.0+dev|
|2012-07-19 13:50||doligez||Target Version||4.00.0+dev => 4.01.0+dev|
|2012-07-31 13:36||doligez||Target Version||4.01.0+dev => 4.00.1+dev|
|2012-09-10 14:05||frisch||Target Version||4.00.1+dev => 4.00.2+dev|
|2013-06-17 16:17||gasche||Note Added: 0009537|
|2013-06-17 16:17||gasche||Status||assigned => resolved|
|2013-06-17 16:17||gasche||Resolution||open => no change required|
|2013-06-17 16:17||gasche||Assigned To||xclerc => gasche|
|2013-06-17 16:19||gasche||Note Edited: 0009537||View Revisions|
|2013-06-17 16:32||gasche||Severity||major => tweak|
|Copyright © 2000 - 2011 MantisBT Group|