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 mail3-relais-sop.national.inria.fr (mail3-relais-sop.national.inria.fr [192.134.164.104]) by sympa.inria.fr (Postfix) with ESMTPS id 54CA57FACC for ; Wed, 10 Sep 2014 15:02:54 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of adrien@notk.org) identity=pra; client-ip=91.121.71.147; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="adrien@notk.org"; x-sender="adrien@notk.org"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of adrien@notk.org designates 91.121.71.147 as permitted sender) identity=mailfrom; client-ip=91.121.71.147; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="adrien@notk.org"; x-sender="adrien@notk.org"; x-conformance=sidf_compatible; x-record-type="v=spf1" Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@nautica.notk.org) identity=helo; client-ip=91.121.71.147; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="adrien@notk.org"; x-sender="postmaster@nautica.notk.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AgYFAGFLEFRbeUeT/2dsb2JhbABZgw2DVlDPBwGBDxZ4hAMBAQQBI1YFCwsYAgIFEw4CAg8FGDEnB4gfDKhPlSIBF4EsjiEHgnk2gR0FnHIBlS6DYzuCfgEBAQ X-IPAS-Result: AgYFAGFLEFRbeUeT/2dsb2JhbABZgw2DVlDPBwGBDxZ4hAMBAQQBI1YFCwsYAgIFEw4CAg8FGDEnB4gfDKhPlSIBF4EsjiEHgnk2gR0FnHIBlS6DYzuCfgEBAQ X-IronPort-AV: E=Sophos;i="5.04,499,1406584800"; d="scan'208";a="78443614" Received: from nautica.notk.org ([91.121.71.147]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/ADH-AES256-SHA; 10 Sep 2014 15:02:53 +0200 Received: by nautica.notk.org (Postfix, from userid 1003) id 838F1C009; Wed, 10 Sep 2014 15:02:52 +0200 (CEST) Date: Wed, 10 Sep 2014 15:02:52 +0200 From: Adrien Nader To: Yotam Barnoy Cc: Ocaml Mailing List Message-ID: <20140910130252.GA26529@notk.org> References: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [Caml-list] One build system to rule them all? On Wed, Sep 10, 2014, 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? It's a bit like asking if there could be a single programming language that would fit all the needs of everyone at the same time. I'm not sure you'd spend a lot of time chosing Coq, OCaml, shell scripts and asm for a given project. > b. What are the use-cases missing from specific build systems, that have > driven people to use other build systems? I won't answer exactly on this but considering that building a .ml requires that its dependencies have already been built and are reachable. You can mix C in too. Some build systems automatically discover dependencies. You can produce .ml files from .mll/.mly ones. You can add camlp4 or another preprocess to the mix. You might want support for linking against C libraries, and also discovering them. And that list is still incomplete. > 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? Even then, not everyone would be happy about it. Some people don't like some of the approaches used in ocamlbuild. That said, and for unrelated reasons, I'd like to know if ocamlbuild is going to be split or not (with 4.02 getting out and ICFP and other confs around, I'm not very surprised there hasn't been an answer on that yet). -- Adrien Nader