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 209FD81799 for ; Fri, 26 Jul 2013 08:14:57 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of gabriel.scherer@gmail.com) identity=pra; client-ip=209.85.214.42; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; x-conformance=sidf_compatible Received-SPF: Pass (mail3-smtp-sop.national.inria.fr: domain of gabriel.scherer@gmail.com designates 209.85.214.42 as permitted sender) identity=mailfrom; client-ip=209.85.214.42; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="gabriel.scherer@gmail.com"; 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@mail-bk0-f42.google.com) identity=helo; client-ip=209.85.214.42; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="gabriel.scherer@gmail.com"; x-sender="postmaster@mail-bk0-f42.google.com"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Al0CAHoT8lHRVdYqjWdsb2JhbABAGoM7UKs+kiqBDAgWDgEBAQEHCwsJEgYkgiQBAQQBQAEbEgsBAwELBgULAwoNISEBAREBBQEKEgYTEodrAQMJBgwzmx2MT4J/hEAKGScDCmSHdAEFDI0JgjUzB4QAA5V2gWmBKYp+g0EWKYQ8Og X-IPAS-Result: Al0CAHoT8lHRVdYqjWdsb2JhbABAGoM7UKs+kiqBDAgWDgEBAQEHCwsJEgYkgiQBAQQBQAEbEgsBAwELBgULAwoNISEBAREBBQEKEgYTEodrAQMJBgwzmx2MT4J/hEAKGScDCmSHdAEFDI0JgjUzB4QAA5V2gWmBKYp+g0EWKYQ8Og X-IronPort-AV: E=Sophos;i="4.89,748,1367964000"; d="scan'208";a="22307230" Received: from mail-bk0-f42.google.com ([209.85.214.42]) by mail3-smtp-sop.national.inria.fr with ESMTP/TLS/RC4-SHA; 26 Jul 2013 08:14:56 +0200 Received: by mail-bk0-f42.google.com with SMTP id jk13so989243bkc.15 for ; Thu, 25 Jul 2013 23:14:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; bh=c1Zrn80nHW3neC4X4yr7bAqtGSxlnHbyCDAqh8lwfnM=; b=W6N4NvQQLTKVrK39nGsz/h6nUKO0NtFN/1K0vDhQianKzo8cdrUtQ218jdatmNml3E P/h4B1HZqwQtHD590SU63zmNVhnpsa0fSEw1NnJdeZyhn3yQpgmDuIb/1fVc2/VsXEya 5kFzDAHhc/OvUDw2yRC5YIcQ35/TR/MIiazR8q7Pa7b5x0RLmFAnaPbd9skKXR9ylrGH r+rEA0b3O5wPSnTAVRUP45M0OYhicSK/gZMzsNWPX64hd/59cdKk+WW8IXT49hxzNGl/ BwjlVmL6h7IDlJv7j5Olk0RbMYl8UaQlsUdWH6fskRAJzgZVWTiDtWHZB6pxwSXFidLE 9UkQ== X-Received: by 10.204.54.206 with SMTP id r14mr6731467bkg.120.1374819295541; Thu, 25 Jul 2013 23:14:55 -0700 (PDT) MIME-Version: 1.0 Received: by 10.204.20.131 with HTTP; Thu, 25 Jul 2013 23:14:15 -0700 (PDT) In-Reply-To: References: <1374669368.25411.5@samsung> <1B6BB035-9909-4F0C-9DEA-F713B977A467@ocamlpro.com> <7F8931D5-E65D-49EB-B54D-A50716F3EFDD@recoil.org> <51F0801A.5080603@riken.jp> <20130725172359.a40fdfb172b120cadab5544a@gmerlin.de> <20130725200356.GA15673@notk.org> <51F1CD6C.3050305@riken.jp> From: Gabriel Scherer Date: Fri, 26 Jul 2013 08:14:15 +0200 Message-ID: To: Jeff Meister Cc: Caml List Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Subject: Re: ocamlbuild (was Re: [Caml-list] Re: GODI is shutting down) > As an end user, I see two key > advantages: ocamlbuild is part of INRIA's official OCaml distribution, wh= ich > implies a certain level of commitment to continued support, In all fairness, I should point out that this is not a good argument in favor of OCamlbuild. While it is currently part of the official distribution, it may be phased out in the future (the core maintainers are eager to reduce the surface of code they have to maintain); as some have mentioned it has seen disappointing levels of maintenance in the past (since Nicolas Pouillard moved out to a post-doc, Xavier Clerc did some work on ocamlbuild but has been very busy with other things as well; only relatively recently did Wojciech put a fair amount of effort into handling some of the users bugreports). As I said above, I plan to keep using ocamlbuild and incrementally fix some of its shortcomings (parallelization, documentation, plugin composability...). I hope that some other users will also make a contribution and help to solve some of the issues that have been reported on the bugtracker (most of them are not very hard to tackle). Wojciech and I eager to welcome patches and review them. But I think you should pick your build system based on which one you prefer (and you think can and will improve again in the long run), rather than "political" aspects such as which one is blessed by this or that organization. If you find out that some other build system fits your needs better, by all means, use it. > ocamlbuild > knows all about how to build OCaml projects (even using ocamlfind), so for > simple applications it "just works". Yes, that's something I like with ocamlbuild. One corresponding downside is that currently, the way things go wrong, when they go wrong, is not very clear to users, so it may appear like a magic box that works very well for simple projects, but does not degrade carefully. I'm confident we can improve on that aspect in the future -- and in practice I've found the _log file reasonably easy to understand. But other people have made the choice to favor systems that do less auto-detection, to make it easier to have a good understanding of the build process. > I'm more encouraged now that a section has appeared in the OCaml manual. It's easy to improve the manual, so if you see something in this section that can be improved, please provide a patch! (Or a bugreport, possibly with a replacement/change suggestion; that's already very helpful.) > I'm wondering > if there are some documents, or even mailing list threads, that would help > me learn how to customize the building of a complex codebase like you just > did in the "which ocaml build system" thread? I'm hoping there is a way to > acquire this knowledge that doesn't involve trial and error with the build > system. :) Besides the ocamlbuild manual, the OCamlbuild wiki that I mentioned before in this thread has helpful content: http://brion.inria.fr/gallium/index.php/Ocamlbuild OCamlbuild also has some auto-documenting features that I mentioned in this blog post: http://gallium.inria.fr/blog/quick-tip-the-ocamlbuild-documentation-optio= n/ Besides that, I learned what I know about ocamlbuild by looking at existing plugins, the _log, possibly with some level of verbosity, and finally looking at the sources (admittedly not the preferred way to documentation, but still better than "trial and error"), in particular the ocaml_specific.ml file that encodes most of the build rules used for OCaml programs. On Fri, Jul 26, 2013 at 7:29 AM, Jeff Meister wrote: > I have a codebase that currently depends on an old version of OMake, and I > would rather use ocamlbuild instead. As an end user, I see two key > advantages: ocamlbuild is part of INRIA's official OCaml distribution, wh= ich > implies a certain level of commitment to continued support, and ocamlbuild > knows all about how to build OCaml projects (even using ocamlfind), so for > simple applications it "just works". > > However, I was reluctant to look into ocamlbuild when it first appeared, > since the only documentation was a set of presentation slides. It seemed > powerful, but like you, I am not really interested in build systems. I'm > more encouraged now that a section has appeared in the OCaml manual. Aside > from that, are there any other resources I should look into? I'm wondering > if there are some documents, or even mailing list threads, that would help > me learn how to customize the building of a complex codebase like you just > did in the "which ocaml build system" thread? I'm hoping there is a way to > acquire this knowledge that doesn't involve trial and error with the build > system. :) > > > On Thu, Jul 25, 2013 at 10:02 PM, Gabriel Scherer > wrote: >> >> I am not very interested in build systems. I use one (ocamlbuild) that >> I find decent (has several known areas of improvement, but bear with >> me), and instead of rewriting a new one from scratch=B9 I decided that >> maybe the existing one I could be improved to fix its shortcomings. >> You know, by writing bug reports, and more importantly proposing >> patches (to the code or the documentation), instead of just >> complaining on the mailing-list. I'm not aware, so far, of a major >> design problem that can't be incrementally fixed, and whose resolution >> is worth the pain of switching to a completely new system. >> >> =B9: or juggling with three different unannounced build systems; I think >> you forgot Jenga and the various adaptations of redo for OCaml; nobody >> added OCaml rules to Shake as far as I know, but certainly that will >> happen in the future. >> >> On Fri, Jul 26, 2013 at 3:14 AM, Francois Berenger >> wrote: >> > On 07/26/2013 05:03 AM, Adrien Nader wrote: >> >> >> >> Hi, >> >> >> >> I believe this entry on the bugtracker is worth mentionning: >> >> "ocamlbuild should expose common interface as a library" >> >> http://caml.inria.fr/mantis/view.php?id=3D5869 >> >> >> >> More generally, ocamlbuild's development was mostly stalled but has >> >> restarted recently. This should allow fixing many issues and >> >> shortcomings. >> > >> > >> > There is not only ocamlbuild! >> > >> > I would love to see projects such as obuild: >> > >> > https://github.com/vincenthz/obuild >> > >> > come out of the woods (like an official release announce if it is >> > ready for mass consumption) and become the de facto gold standard. >> > >> > PS: even OCamlPro have written a tool to replace ocamlbuild >> > (ocp-build)... >> > >> > >> > -- >> > Caml-list mailing list. Subscription management and archives: >> > https://sympa.inria.fr/sympa/arc/caml-list >> > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> > Bug reports: http://caml.inria.fr/bin/caml-bugs >> >> -- >> Caml-list mailing list. Subscription management and archives: >> https://sympa.inria.fr/sympa/arc/caml-list >> Beginner's list: http://groups.yahoo.com/group/ocaml_beginners >> Bug reports: http://caml.inria.fr/bin/caml-bugs > >