Hi Alain, I found the same problem when we did aggressive cross-module inlining in bucklescript. It makes it too hard to build a correct build system, so currently the inlining will stop at B, it will not propagate to C, what do other people think about this? From: alain.frisch@lexifi.com At: 07/04/16 12:49:32 To: caml-list@inria.fr Subject: Re:[Caml-list] ocamldep, transitive dependencies, build systems, flambda Moreover, flambda makes the problem actually quite a bit worse. Indeed, B.cmx can now contain symbolic references to A.cmx, and when compiling C.cmx, the compiler will complain that it cannot find A.cmx (typically when a function in B is inlined in C and calls a function in A). This is warning 58. Simply disabling the warning does not work, since an old version of A.cmx could remain in lib1/pub, leading to mismatched implementation digests and to unreliable parallel build.