From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Original-To: caml-list@sympa.inria.fr Delivered-To: caml-list@sympa.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by sympa.inria.fr (Postfix) with ESMTPS id 86D557F75C for ; Wed, 10 Sep 2014 15:29:19 +0200 (CEST) X-IronPort-AV: E=Sophos;i="5.04,499,1406584800"; d="scan'208";a="93963950" Received: from meleze.ens.fr (HELO [129.199.99.114]) ([129.199.99.114]) by mail2-relais-roc.national.inria.fr with ESMTP/TLS/DHE-RSA-AES128-SHA; 10 Sep 2014 15:29:19 +0200 Message-ID: <5410522E.3050207@inria.fr> Date: Wed, 10 Sep 2014 15:29:18 +0200 From: Francois Berenger User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:31.0) Gecko/20100101 Thunderbird/31.0 MIME-Version: 1.0 To: caml-list@inria.fr References: In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] One build system to rule them all? On 09/10/2014 02:49 PM, Yotam Barnoy wrote: > 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? > 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? > > 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. It is not a shame, it is a tradition in the ocaml community! :-D For example, almost each ocaml programmer that I know of have written a logger (me included, it's even in opam so that I can reinvent another wheel next time). More seriously, concerning build systems, we clearly have quite some choice on the OCaml shelf: - obuild - ocamlbuild - omake - oasis (which in fact uses ocamlbuild, don't forget that) - jenga - [...] My preffered is obuild (https://github.com/ocaml-obuild/obuild), for the terseness, readability and centralization of its build descriptions. I would love to see the user community of obuild grow, so that we can get rid of more bugs, be able to compile _any_ OCaml project with it and implement even more cool features (contributors are very welcome). I don't want a ring to rule them all, jut a ring that fits _my_ finger. ;) -- Regards, Francois.