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 F282B7ED25 for ; Mon, 22 Jul 2013 11:07:38 +0200 (CEST) Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of r.3@libertysurf.fr) identity=pra; client-ip=212.27.42.6; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="r.3@libertysurf.fr"; x-sender="r.3@libertysurf.fr"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of r.3@libertysurf.fr) identity=mailfrom; client-ip=212.27.42.6; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="r.3@libertysurf.fr"; x-sender="r.3@libertysurf.fr"; x-conformance=sidf_compatible Received-SPF: None (mail3-smtp-sop.national.inria.fr: no sender authenticity information available from domain of postmaster@smtp6-g21.free.fr) identity=helo; client-ip=212.27.42.6; receiver=mail3-smtp-sop.national.inria.fr; envelope-from="r.3@libertysurf.fr"; x-sender="postmaster@smtp6-g21.free.fr"; x-conformance=sidf_compatible X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: Au0AAI317FHUGyoGlGdsb2JhbABagkJ5UIMKvSWBDhYOAQEBAQcNCQkUAyWCKyNKKyUZAlMGiC2WU45+kQGPYjuCXYEhA5kGkzg6gW4 X-IPAS-Result: Au0AAI317FHUGyoGlGdsb2JhbABagkJ5UIMKvSWBDhYOAQEBAQcNCQkUAyWCKyNKKyUZAlMGiC2WU45+kQGPYjuCXYEhA5kGkzg6gW4 X-IronPort-AV: E=Sophos;i="4.89,718,1367964000"; d="scan'208,217";a="21875046" Received: from smtp6-g21.free.fr ([212.27.42.6]) by mail3-smtp-sop.national.inria.fr with ESMTP; 22 Jul 2013 11:07:37 +0200 Received: from zimbra27-e5.priv.proxad.net (unknown [172.20.243.177]) by smtp6-g21.free.fr (Postfix) with ESMTP id 7655F822B1 for ; Mon, 22 Jul 2013 11:07:34 +0200 (CEST) Date: Mon, 22 Jul 2013 11:07:33 +0200 (CEST) From: r.3@libertysurf.fr To: caml-list@inria.fr Message-ID: <1672419877.217810363.1374484053368.JavaMail.root@zimbra27-e5.priv.proxad.net> In-Reply-To: <51ECF4EB.1060301@libertysurf.fr> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_217810362_1520344669.1374484053367" X-Originating-IP: [172.16.79.17, 143.196.127.2] X-Mailer: Zimbra 7.2.0-GA2598 (ZimbraWebClient - FF3.0 (Linux)/7.2.0-GA2598) X-Authenticated-User: r.3@libertysurf.fr Subject: [Caml-list] which ocaml build system ------=_Part_217810362_1520344669.1374484053367 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Hello, I have a new question : which package build system ? 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 think that people maintaining opam and godi may have important opinions on that. Here are my personal thoughts on this. 1) pur ocaml, 1 platform (1 person, or a team with identical computers and systems) 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. I also tried Makefiles without OcamlMakefile, autotools (with ocaml-autoconf) 2) ocaml with c dependencies, multi platforms, cross builds Here the best thing I found was autotools with ocaml-autoconf. Though autotools are not easy to handle, that was the tool for the job. lablgtk, cairo-ocaml use this for example. 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. Best regards, William R ------=_Part_217810362_1520344669.1374484053367 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit
Hello,

I have a new question : which package build system ?

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 think that people maintaining opam and godi may have important opinions on that. Here are my personal thoughts on this.


1) pur ocaml, 1 platform (1 person, or a team with identical computers and systems)

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.

I also tried Makefiles without OcamlMakefile, autotools (with ocaml-autoconf)



2) ocaml with c dependencies, multi platforms, cross builds

Here the best thing I found was autotools with ocaml-autoconf.
Though autotools are not easy to handle, that was the tool for the job. lablgtk, cairo-ocaml use this for example.

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.


Best regards,
William R

------=_Part_217810362_1520344669.1374484053367--