I'd suggest oasis, based on my limited experience (I don't compile C bindings nor to js_of_ocaml, but I write libraries, sub-libraries, and programs that use ocamlfind). Le Wed, 10 Sep 2014, Yotam Barnoy a écrit : > It appears to me that every couple of months we hear of someone > implementing yet another build system in ocaml. Given the success of opam, > I think it's clear that sometimes a monolithic solution, behind which the > entire community can organize, is the best solution -- especially for > infrastructure. Looking at haskell, having cabal as the main build system > has really helped them advance in terms of supporting other platforms (such > as windows), and since all community efforts in this realm are focused on > cabal, they can improve it rapidly. > > a. Is there any build system we can organize behind to crown as the > official build system? I like oasis a lot, especially the fact that every information related to a project is written down in a single file. It can generate documentation, libraries, executables, ocamlfind-related files (META...), configure/Makefile, and run tests. Even if oasis isn't blessed as the canonical build system, its project description should be a good model for the winner. > b. What are the use-cases missing from specific build systems, that have > driven people to use other build systems? > c. To pick one possible candidate, if ocamlbuild were spun out of the > compiler, could it be enhanced to cover all the main use-cases so (almost) > everyone would be happy with it? In the case of oasis, it already relies on ocamlbuild, so both could be merged somehow (and the redundancies, hopefully, removed)... > It's just such a shame to see the ocaml community re-inventing the wheel > over and over again, each time with some limitation so that the next person > needs to do the same thing yet again. My 2 ¢ -- Simon full disclosure: I don't have any interest in promoting oasis, nor have I been paid (sadly) to do so ;) http://weusepgp.info/ key 49AA62B6, fingerprint 949F EB87 8F06 59C6 D7D3 7D8D 4AC0 1D08 49AA 62B6