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 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by yquem.inria.fr (Postfix) with ESMTP id 098B3BC0A for ; Tue, 15 May 2007 21:43:19 +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 l4FJhECh019504 for ; Tue, 15 May 2007 21:43:18 +0200 X-IronPort-AV: E=Sophos;i="4.14,538,1170595800"; d="scan'208";a="128829165" Received: from ppp59-172.lns2.syd6.internode.on.net (HELO [192.168.1.201]) ([121.44.59.172]) by ipmail01.adl2.internode.on.net with ESMTP; 16 May 2007 05:13:13 +0930 Subject: Re: [Felix-impl] it no me build From: skaller To: Rhythmic Fistman Cc: felix-impl , Emmanuel Onzon , caml-list In-Reply-To: <131e28b50705151200k7989f3d2m64ef3cea4668ca33@mail.gmail.com> References: <131e28b50705141643l195bae7cxb80c278e5eec7c4f@mail.gmail.com> <1179251231.7592.9.camel@rosella.wigram> <131e28b50705151200k7989f3d2m64ef3cea4668ca33@mail.gmail.com> Content-Type: text/plain Date: Wed, 16 May 2007 05:43:10 +1000 Message-Id: <1179258190.7592.46.camel@rosella.wigram> Mime-Version: 1.0 X-Mailer: Evolution 2.10.1 Content-Transfer-Encoding: 7bit X-Miltered: at concorde with ID 464A0D52.001 by Joe's j-chkmail (http://j-chkmail . ensmp . fr)! X-Spam: no; 0.00; 0200,:01 ocaml:01 tarball:01 ocamlc:01 ocamlc:01 ocamlopt:01 ocaml:01 ocamlopt:01 bytecode:01 bytecode:01 -pack:01 -pack:01 submodules:01 -for-pack:01 sourceforge:01 On Tue, 2007-05-15 at 21:00 +0200, Rhythmic Fistman wrote: > > The Felix build scripts ARE different .. but the effect should > > be the same. Any which way it should either fail on all platforms > > or build on all platforms .. there's no C code here, and Ocaml > > is supposed to be portable. > > Somewhere... someone lied. > > Haha, just kidding. The difference is that the tarball uses ocamlc and > flx here is using ocamlc.opt. Could that be relevant? As I understand it: No. ocamlc.opt and ocamlc are functionally equivalent. The only difference is ocamlc is compiled with ocamlc, whereas ocamlc.opt is compiled with ocamlopt. In other words, ocamlc.opt is faster because it is built as native code, but they're built from the same ocaml sources. Bootstrapping is cool! In fact there ARE differences between ocamlc and ocamlopt built code, apart from speed: for example bytecode supports dynamic loading of bytecode whereas native code does not .. but this shouldn't affect ocamlc. However, -pack MAY be different; it is a new feature and didn't work on any processor other than x86 originally, so this might be a difference. -pack does nasty stuff with native code which requires arcane knowledge of object files, whereas with bytecode it's the same on all platforms. The -pack option 'packs' several object files into a single object file and makes the submodules of a the new master file. For native code -for-pack has to be specified, whereas it isn't used with bytecode -- so there's a difference between ocamlc and ocamlopt .. but this is related to the object file formats and what information they contain (bytecode contains what ocaml wants it to, whereas native code is machine binary and is restricted by the platform linker format). -- John Skaller Felix, successor to C++: http://felix.sf.net