caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Gabriel Scherer <gabriel.scherer@gmail.com>
To: Jeff Meister <nanaki@gmail.com>
Cc: Caml List <caml-list@inria.fr>
Subject: Re: ocamlbuild (was Re: [Caml-list] Re: GODI is shutting down)
Date: Fri, 26 Jul 2013 08:14:15 +0200	[thread overview]
Message-ID: <CAPFanBG4L_9jZqJPdydNNQysD2ot=mpwZAmSpHsOwv6MeO43Vw@mail.gmail.com> (raw)
In-Reply-To: <CAHaHOqRRGAQ6siuUkiVcrzv-2df39WwiB9jwRUPBUnLqZD63Sg@mail.gmail.com>

> As an end user, I see two key
> advantages: ocamlbuild is part of INRIA's official OCaml distribution, which
> 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-option/

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 <nanaki@gmail.com> 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, which
> 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
> <gabriel.scherer@gmail.com> 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¹ 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.
>>
>> ¹: 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 <berenger@riken.jp>
>> 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=5869
>> >>
>> >> 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
>
>

  reply	other threads:[~2013-07-26  6:14 UTC|newest]

Thread overview: 93+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-22 21:21 [Caml-list] GODI is shutting down Gerd Stolpmann
2013-07-22 22:32 ` Anil Madhavapeddy
2013-07-23  6:49   ` Gabriel Scherer
2013-07-23  8:46     ` Keyan
2013-07-23  8:57       ` AW: " Gerd Stolpmann
2013-07-23  9:45         ` Paolo Donadeo
2013-07-23 13:31         ` Marek Kubica
2013-07-24  9:09           ` Mihamina Rakotomandimby
2013-07-23  9:34   ` AW: " Gerd Stolpmann
2013-07-23 10:00     ` Jesper Louis Andersen
2013-07-22 23:44 ` oliver
2013-07-23  0:03   ` Nicolas Braud-Santoni
2013-07-23  1:51 ` Francois Berenger
2013-07-24  9:27   ` [Caml-list] " Andreas Hauptmann
2013-07-23  9:07 ` [Caml-list] " Adrien Nader
2013-07-23 10:01   ` AW: " Gerd Stolpmann
2013-07-23 10:22   ` oliver
2013-07-24  1:55   ` Francois Berenger
2013-07-24  7:03     ` Fabrice Le Fessant
2013-07-24  8:42       ` Jun Furuse
2013-07-24 10:30         ` Daniel Bünzli
2013-07-25 14:46           ` [Caml-list] " Sylvain Le Gall
2013-07-24 12:36       ` AW: [Caml-list] " Gerd Stolpmann
2013-07-24 14:44         ` Thomas Gazagnaire
2013-07-24 15:58           ` Markus Mottl
2013-07-24 16:25             ` Thomas Gazagnaire
2013-07-24 16:36               ` Gabriel Scherer
2013-07-24 16:41                 ` Anil Madhavapeddy
2013-07-25 15:21                   ` [Caml-list] " Sylvain Le Gall
2013-07-24 16:39               ` AW: [Caml-list] " Markus Mottl
2013-07-24 16:58                 ` Thomas Gazagnaire
2013-07-24 17:06                   ` Thomas Gazagnaire
2013-07-24 17:33                   ` Török Edwin
2013-07-24 18:49                     ` Markus Mottl
2013-07-25 15:16               ` [Caml-list] Re: AW: " Sylvain Le Gall
2013-07-25 15:29                 ` Leo White
2013-07-25 15:33                   ` Sylvain Le Gall
2013-07-24 16:39             ` [Caml-list] " Anil Madhavapeddy
2013-07-24 17:05               ` Gabriel Scherer
2013-07-24 17:56                 ` Daniel Bünzli
2013-07-24 18:23                   ` Markus Mottl
2013-07-24 20:43                     ` Daniel Bünzli
2013-07-25  5:32                       ` Adrien Nader
2013-07-25  9:52                         ` Daniel Bünzli
2013-07-25 21:01                           ` Adrien Nader
2013-07-25  1:32                 ` Francois Berenger
2013-07-25 15:10                   ` [Caml-list] " Sylvain Le Gall
2013-07-25 15:23                     ` Christopher Zimmermann
2013-07-25 20:03                       ` Adrien Nader
2013-07-26  1:14                         ` ocamlbuild (was Re: [Caml-list] Re: GODI is shutting down) Francois Berenger
2013-07-26  2:43                           ` Peter Groves
2013-07-26  5:02                           ` Gabriel Scherer
2013-07-26  5:26                             ` [Caml-list] Re: ocamlbuild Francois Berenger
2013-07-26  7:25                               ` Wojciech Meyer
2013-07-26  8:07                                 ` Francois Berenger
2013-07-26  9:24                                   ` r.3
2013-07-26 10:48                                 ` Daniel Bünzli
2013-07-26 11:13                                   ` Wojciech Meyer
2013-07-26 17:29                                     ` Ashish Agarwal
2013-07-26  5:29                             ` ocamlbuild (was Re: [Caml-list] Re: GODI is shutting down) Jeff Meister
2013-07-26  6:14                               ` Gabriel Scherer [this message]
2013-07-26 13:48                                 ` Dario Teixeira
2013-07-25 20:18                 ` [Caml-list] GODI is shutting down Wojciech Meyer
2013-07-24 18:04               ` Markus Mottl
2013-07-24 16:18           ` AW: " Matej Kosik
2013-07-24 16:17             ` David Sheets
2013-07-24 16:56               ` Matej Kosik
2013-07-24 17:03                 ` Thomas Gazagnaire
2013-07-25 15:01                   ` [Caml-list] Re: AW: " Sylvain Le Gall
2013-07-24 22:05           ` AW: [Caml-list] " Siraaj Khandkar
2013-07-24 22:06           ` Virgile Prevosto
2013-07-24 22:47             ` Amir Chaudhry
2013-07-24 23:03             ` Anil Madhavapeddy
2013-07-25  5:22               ` Adrien Nader
2013-07-23  9:28 ` [Caml-list] Re: [Godi-list] " Thomas Gazagnaire
2013-07-23 15:32   ` Pierre-Etienne Meunier
2013-07-23 15:37     ` David Sheets
2013-07-23 15:44     ` Daniel Bünzli
2013-07-23 16:19       ` Pierre-Etienne Meunier
2013-07-23 16:26         ` Ashish Agarwal
2013-07-23 16:32         ` Daniel Bünzli
2013-07-23 16:55       ` Virgile Prevosto
2013-07-28 22:29       ` Wojciech Meyer
2013-07-23 19:38     ` Yaron Minsky
2013-07-23 19:49       ` Pierre-Etienne Meunier
2013-07-23 20:02         ` Yaron Minsky
2013-07-23 22:35 ` [Caml-list] " Mike Lin
2013-07-25 16:10 ` [Caml-list] " Sylvain Le Gall
2013-07-25 17:42   ` Daniel Bünzli
2013-07-25 18:52     ` Sylvain Le Gall
2013-07-25 18:28   ` Fabrice Le Fessant
2013-07-25 19:00     ` Sylvain Le Gall
2013-07-25 19:23       ` Yotam Barnoy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CAPFanBG4L_9jZqJPdydNNQysD2ot=mpwZAmSpHsOwv6MeO43Vw@mail.gmail.com' \
    --to=gabriel.scherer@gmail.com \
    --cc=caml-list@inria.fr \
    --cc=nanaki@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).