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 7E6A27FACD for ; Thu, 18 Sep 2014 22:30:09 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of nogin@metaprl.org) identity=pra; client-ip=216.14.127.180; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="nogin@metaprl.org"; x-sender="nogin@metaprl.org"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of nogin@metaprl.org) identity=mailfrom; client-ip=216.14.127.180; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="nogin@metaprl.org"; x-sender="nogin@metaprl.org"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@main.metaprl.org) identity=helo; client-ip=216.14.127.180; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="nogin@metaprl.org"; x-sender="postmaster@main.metaprl.org"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AsMEAKU/G1TYDn+0X2dsb2JhbABgg2BXgwDGS4dNAYEhAQYfVIQEAQEDASNNCAYLCxoCBRMDCwICCQMCAQIBMRQGDQgBAYgyCA2sC5Y0AReBLI1oaoJ4gVMFhQ0ChTp3ikWIZ5dmTIJKAQEB X-IPAS-Result: AsMEAKU/G1TYDn+0X2dsb2JhbABgg2BXgwDGS4dNAYEhAQYfVIQEAQEDASNNCAYLCxoCBRMDCwICCQMCAQIBMRQGDQgBAYgyCA2sC5Y0AReBLI1oaoJ4gVMFhQ0ChTp3ikWIZ5dmTIJKAQEB X-IronPort-AV: E=Sophos;i="5.04,549,1406584800"; d="scan'208";a="79973675" Received: from ns.n0bu.com (HELO main.metaprl.org) ([216.14.127.180]) by mail3-smtp-sop.national.inria.fr with ESMTP; 18 Sep 2014 22:30:07 +0200 Received: from hp.nogin.org (c-76-20-72-37.hsd1.ca.comcast.net [76.20.72.37]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by main.metaprl.org (Postfix) with ESMTPSA id F37E015AC1455 for ; Thu, 18 Sep 2014 13:32:18 -0700 (PDT) Message-ID: <541B40CB.4050102@metaprl.org> Date: Thu, 18 Sep 2014 13:30:03 -0700 From: Aleksey Nogin Organization: MetaPRL/Mojave Research Group User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.8.0 MIME-Version: 1.0 To: Caml List References: In-Reply-To: Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: Re: [Caml-list] improve omake [was One build system to rule them all] All, As you obviously know, OMake have not had a proper maintainer for a few years now - while I did not completely abandon it, I did not have time to devote to even little things (like pushing out a new 0.9.8.6 release which I have been hoping to call "version 1.0", and which have been lingering in "release candidate" mode for almost four years). It is clear that there are quite a few people on this list with good ideas on how to improve OMake (e.g. ability to write rules in OCaml instead of/in addition to the OMake language seems like a good idea) - so I am wondering - is there somebody who would be willing to take over as the omake maintainer - ideally somebody whom people on this list would trust with this role? If there was some sort of consensus on this list about a new maintainer, I would be happy to pass on this role (redirect omake.metaprl.org accordingly, etc). Aleksey On 18.09.2014 13:14, Bob Zhang wrote: > Dear camlers, > I have done some work to improve omake available here: > https://github.com/bobzhang/omake-fork/tree/work > Before deciding spending some time in improving omake, I have tried > various build systems. > 1. ocamlbuild > ocamlbuild is really nice for small to medium projects and I have > used it pervasively in my personal projects and corporation projects. It > works pretty well in most cases. > There are mainly three drawbacks: > a. Easy things hard to do. > Even for some very trivial things, if you don't write > myocamlbuild.m for a long time, you have to google ocamlbuild API and > figure it out how to do it correctly. > b. Error messages hard to understand > It's cool that ocamlbuild detect dependencies dynamically, when > it does not work out, in general, I would turn on -verbose and search > which part goes wrong. > c. no parallellism > This is fatal and main reason that I gave it up > 2. ocp-build > I tried it for my hobby project, it's not close to maturity yet. > 3. jenga > Jenga looks promising, but I don't think it would be usable inside > our company, the dependency is huge, more importantly, its dependency > chain includes Camlp4 which we can not rely on. Also, looking at the > examples, it is quite verbose even for trivial projects. > > omake has its own drawbacks as well, for example, the language is > overly complex and error message is hard to understand(still better than > ocamlbuild), startup speed is slow, no easy FFI interface to write rules > in OCaml language itself, but that's all we can find a way to fix. > > -- > Regards > -- Hongbo Zhang