You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Original bug ID: 4870 Reporter: louis Status: resolved (set by @damiendoligez on 2017-02-27T13:44:59Z) Resolution: suspended Priority: normal Severity: minor Version: 3.11.1 Target version: later Category: -for ocamlbuild use https://github.com/ocaml/ocamlbuild/issues Monitored by:@bobzhang@ygrek
Bug description
when there are lots of directories in your project, using "include" as an easy way to compile (given you don't have clashes between module names) leads to a very long time just to check what should be done: we got to more than 20 seconds in case there is nothing to do.
Additional information
It seems that every rule is duplicated for every possible directory, which may be at the root of the problem.
We could circumvent it by having a cleaner hierarchy: never use the tag "include", but build and link libraries instead, and use Pathname.define_context by hand for directories that need to work together.
Also, we had to add:
dep ["use_"^lib; "byte"] [lib^".cma"];
dep ["use_"^lib; "native"] [lib^".cmxa"];
for the internal libraries to be built correctly.
The text was updated successfully, but these errors were encountered:
Original bug ID: 4870
Reporter: louis
Status: resolved (set by @damiendoligez on 2017-02-27T13:44:59Z)
Resolution: suspended
Priority: normal
Severity: minor
Version: 3.11.1
Target version: later
Category: -for ocamlbuild use https://github.com/ocaml/ocamlbuild/issues
Monitored by: @bobzhang @ygrek
Bug description
when there are lots of directories in your project, using "include" as an easy way to compile (given you don't have clashes between module names) leads to a very long time just to check what should be done: we got to more than 20 seconds in case there is nothing to do.
Additional information
It seems that every rule is duplicated for every possible directory, which may be at the root of the problem.
We could circumvent it by having a cleaner hierarchy: never use the tag "include", but build and link libraries instead, and use Pathname.define_context by hand for directories that need to work together.
Also, we had to add:
dep ["use_"^lib; "byte"] [lib^".cma"];
dep ["use_"^lib; "native"] [lib^".cmxa"];
for the internal libraries to be built correctly.
The text was updated successfully, but these errors were encountered: