From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: X-Spam-Status: No, score=0.0 required=5.0 tests=none autolearn=disabled version=3.1.3 Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 79153BC69 for ; Thu, 26 Apr 2007 05:00:11 +0200 (CEST) Received: from ipmail01.adl2.internode.on.net (ipmail01.adl2.internode.on.net [203.16.214.140]) by concorde.inria.fr (8.13.6/8.13.6) with ESMTP id l3Q309NU025941 for ; Thu, 26 Apr 2007 05:00:10 +0200 X-IronPort-AV: E=Sophos;i="4.14,452,1170595800"; d="scan'208";a="119553719" Received: from ppp8-148.lns1.syd7.internode.on.net (HELO [192.168.1.201]) ([59.167.8.148]) by ipmail01.adl2.internode.on.net with ESMTP; 26 Apr 2007 12:30:06 +0930 Subject: Re: new+old Camlp4 (was Re: [Caml-list] Bug in ocamlyacc) From: skaller To: Markus Mottl Cc: Martin Jambon , Diego Olivier FERNANDEZ PONS , caml-list@inria.fr, Debian OCaml Maintainers In-Reply-To: References: <001401c785f3$3af5e890$6a7ba8c0@treble> <1177392571.10100.46.camel@rosella.wigram> <20070424122338.ozkvhzfhckcskkc4@webmail.etu.upmc.fr> <1177439118.6172.18.camel@rosella.wigram> Content-Type: text/plain Date: Thu, 26 Apr 2007 13:00:01 +1000 Message-Id: <1177556401.8088.16.camel@rosella.wigram> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 463015B9.000 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; camlp:01 bug:01 ocamlyacc:01 markus:01 mottl:01 camlp:01 ocaml:01 ocaml:01 cygwin:01 cygwin:01 mingw:01 cvs:01 sourceforge:01 wrote:01 caml-list:01 On Wed, 2007-04-25 at 13:11 -0400, Markus Mottl wrote: > > * It means two versions of camlp4 would be distributed and installed with > > ocaml 3.10. > > This would surely be helpful, but I don't think that this is > absolutely necessary. It isn't horribly hard to have two > OCaml-installations, and refer to the old camlp4 where necessary. This is not the case for all users. For example I myself have no problem building multiple versions of Ocaml on my Ubuntu Linux box, where I deliberately do NOT use the Debian packages for Ocaml (in fact I prefer the CVS head). But I also test my product on Cygwin and Windows-native, and both come with pre-built Ocaml packages. It isn't quite so easy to build on Cygwin and I cringe in fear at the idea of having to do a Windows native build -- esp on XP64. I also run Ocaml on platforms I don't control: shell accounts on hosted servers. Furthermore, my product has a Debian package. There's no easy option to have two ocamls using the Debian autobuilder. There's NO WAY I can expect my intended user base to install two versions of Ocaml. I have to write code that "just works" with any reasonably up-to-date Ocaml installation. So actually I don't use any camlp4 macros, and at least part of the reason has been the lack of any concept of installation and package management in the Ocaml distribution: actually getting macros to work with camlp4 is quite hard because you need to know where the files are. The same with third party libraries. And now running with multiple installations of Ocaml will make that even harder -- I already have to do this on Windows where I support both Cygwin and Windows native build, and have to support 64 bit Windows Ocaml if someone manages to actually build one, as well as 32 bit and probably the MinGW version too... So I would like to suggest -- yes, it *is* horribly hard to have two Ocaml installations. If this is necessary the Ocaml debian maintenance team at least will have to change their package management design entirely, since currently it only permits one Ocaml installation. So actually I like this plan: * leave camlp4 as it is * rename the new system camlp5 * supply both In particular this would support what I would do: if I need to build third party libraries I put the source in my product, and if library A uses p4 and library B uses p5 I can easily modify my build scripts to support both A and B because both p4 and p5 are available. -- John Skaller Felix, successor to C++: http://felix.sf.net