caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Marek Kubica <marek@xivilization.net>
To: r.3@libertysurf.fr
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] which ocaml build system
Date: Tue, 23 Jul 2013 15:39:56 +0200	[thread overview]
Message-ID: <20130723153956.605104b3@xivilization.net> (raw)
In-Reply-To: <1672419877.217810363.1374484053368.JavaMail.root@zimbra27-e5.priv.proxad.net>

Hello William,

I very much appreciate your effort to create more documetation for the
ocaml.org site!

On Mon, 22 Jul 2013 11:07:33 +0200 (CEST)
r.3@libertysurf.fr wrote:

> I would like to gather thoughts on that in the ocaml.org website,
> because actually its advice is 'make + OcamlMakefile' and 'Omake',
> and I am not sure it is the best advice. 

I suppose this advice used to be good, but today maybe not as much
anymore.

> ocamlbuild because : 
> official tool that comes with ocaml, very handy and powerful, quite
> easy, clear _tags file that shows well dependencies, and support for
> ocamlfind. I espetially like the feature that handles dependencies
> properly and only rebuilds what is needed when rebuilding.

Also, OASIS can directly create a _tags file, which makes it probably
the easiest system to deploy.

In my opinion, this works pretty decent even when extending OCaml with
C modules.

> I also tried Omake but really did not like it, as we have to learn a
> full new "language" with many special instructions. Also, I did not
> succeeded in patching an Omake project (caml-images) for cross
> compilation. The complexity is maybe equivalent as with autotools,
> but learning autotools is much more rewarding as it is a reference
> build system for GNU builds in particular. Oasis looked interesting,
> but was not able to cross compile, and I had more confidence in
> autotools for multi platforms support. 

Omake has a pretty nice feature to recompile the files automatically on
changes, thus you have a workflow that does not feature explicit
compilation. Very useful, since the OCaml compiler is reasonably fast.
I wish other systems would adopt this. I often write shellscripts that
do similar things with inotifywait, but an integrated solution would be
great.

I also agree that the Omake language is… odd. Maybe not more odd than
Makefiles, but Makefiles are common and well understood, whereas Omake
is kinda obscure.

regards,
Marek

  parent reply	other threads:[~2013-07-23 13:42 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <51ECF4EB.1060301@libertysurf.fr>
2013-07-22  9:07 ` r.3
2013-07-22 15:11   ` Ashish Agarwal
2013-07-23 13:39   ` Marek Kubica [this message]
2013-07-25 21:45     ` Martin DeMello
2013-07-26  1:10       ` Francois Berenger
2013-07-26  5:01         ` Malcolm Matalka
2013-07-26  5:46           ` Adrien Nader
2013-07-26  6:49             ` rixed
2013-07-26  7:07               ` David Allsopp
2013-07-26  4:49       ` Gabriel Scherer
2013-08-05 17:34         ` [Caml-list] character syntax error '^M' r.3
2013-08-05 17:38           ` David Allsopp
2013-08-05 20:23             ` William R
2013-08-06 10:52               ` David Allsopp
2013-07-27  9:51       ` [Caml-list] which ocaml build system Goswin von Brederlow

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=20130723153956.605104b3@xivilization.net \
    --to=marek@xivilization.net \
    --cc=caml-list@inria.fr \
    --cc=r.3@libertysurf.fr \
    /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).