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=AWL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail4-relais-sop.national.inria.fr (mail4-relais-sop.national.inria.fr [192.134.164.105]) by yquem.inria.fr (Postfix) with ESMTP id A79C4BC37 for ; Wed, 19 Aug 2009 21:31:40 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AkgJAJfvi0rB/Bd4Wmdsb2JhbACbAwEWCAsHFgK8BYQaBYFO X-IronPort-AV: E=Sophos;i="4.43,410,1246831200"; d="scan'208";a="44850348" Received: from smtp-msa-out01.orange.fr ([193.252.23.120]) by mail4-smtp-sop.national.inria.fr with ESMTP; 19 Aug 2009 21:31:40 +0200 Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf5a04.orange.fr (SMTP Server) with ESMTP id BD32F1C00097; Wed, 19 Aug 2009 21:31:39 +0200 (CEST) Received: from me-wanadoo.net (localhost [127.0.0.1]) by mwinf5a04.orange.fr (SMTP Server) with ESMTP id AC2521C000A8; Wed, 19 Aug 2009 21:31:39 +0200 (CEST) Received: from [192.168.1.53] (APuteaux-154-1-76-45.w83-204.abo.wanadoo.fr [83.204.179.45]) by mwinf5a04.orange.fr (SMTP Server) with ESMTP id 5C1FD1C00097; Wed, 19 Aug 2009 21:31:38 +0200 (CEST) X-ME-UUID: 20090819193139377.5C1FD1C00097@mwinf5a04.orange.fr X-ME-User-Auth: lexifi Message-ID: <4A8C531B.4040404@frisch.fr> Date: Wed, 19 Aug 2009 21:31:39 +0200 From: Alain Frisch User-Agent: Thunderbird 2.0.0.22 (Windows/20090605) MIME-Version: 1.0 To: Richard Jones Cc: caml-list@yquem.inria.fr Subject: Re: [Caml-list] Re: OCaml and kernels References: <7c737f300908171302q6c251441u35ed3bd99552bd46@mail.gmail.com> <200908171526.52574.toots@rastageeks.org> <3c1674c90908171430m12c4a3e7pa96cc5e60df72b17@mail.gmail.com> <20090818084452.f9df0801.mle+ocaml@mega-nerd.com> <3c1674c90908171622j79ec5df1ob4e6236dff3a1b36@mail.gmail.com> <20090818093300.a041d75a.mle+ocaml@mega-nerd.com> <4A8A8979.4010705@bik-gmbh.de> <20090818210723.c45efcaf.mle+ocaml@mega-nerd.com> <20090818152116.GA18840@annexia.org> <4A8BF366.1030001@gmail.com> <20090819163100.GA4320@annexia.org> In-Reply-To: <20090819163100.GA4320@annexia.org> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam: no; 0.00; frisch:01 frisch:01 ocaml:01 mingw:01 ocaml:01 ocamlopt:01 masm:01 redistribute:01 fwiw:01 lexifi:01 ocamlopt:01 mlp:01 2009:98 wrote:01 wrote:01 Richard Jones wrote: > On Wed, Aug 19, 2009 at 09:43:18PM +0900, Alexander Danilov wrote: >> + out of box support for native executables creation for win32/mingw > > Not sure what you mean here, because I've built Win32 native > executables from OCaml using both the INRIA-supplied binaries and our > cross-compiler. Works perfectly well out of the box. I guess Alexander means that ocamlopt requires external tools (assembler and linker). This can be an issue since masm/link cannot be redistributed (and cannot be found in a standalone package, not embedded in a full Visual Studio installation) and some people are reluctant to redistribute or install gas/ld (for whatever reason). FWIW, we faced this problem at LexiFi, so we developed a direct COFF/x86 backend for ocamlopt (just a straightforward replacement for emit_nt.mlp that produces x86 opcodes and put them in a .obj file). This avoids the need for an external assembler. We also extended flexlink with a stand-alone mode in order to produce DLLs from COFF files without relying on an external linker. This is enough to build .cmxs files from OCaml code, and this was enough for our needs. To produce an executable, more work would be needed on flexlink. -- Alain