From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id WAA26709 for caml-red; Sat, 10 Feb 2001 22:51:59 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id VAA09013 for ; Sat, 10 Feb 2001 21:05:24 +0100 (MET) Received: from lantana.wanadoo.fr (smtp-rt-8.wanadoo.fr [193.252.19.51]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id f1AK5ND08149 for ; Sat, 10 Feb 2001 21:05:23 +0100 (MET) Received: from antholoma.wanadoo.fr (193.252.19.153) by lantana.wanadoo.fr; 10 Feb 2001 21:05:23 +0100 Received: from wfr01946 (193.248.98.194) by antholoma.wanadoo.fr; 10 Feb 2001 21:05:00 +0100 Reply-To: From: "Lionel Fourquaux" To: "'Jean Martos'" Cc: Subject: RE: OCaml for Windows: a suggestion Date: Sat, 10 Feb 2001 20:28:03 +0100 Message-ID: <000101c0939b$a2e933e0$8660f8c1@wfr01946> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook CWS, Build 9.0.2416 (9.0.2910.0) Importance: Normal In-Reply-To: <3A7D9742.16A775CB@wanadoo.fr> X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400 Sender: weis@pauillac.inria.fr > -----Message d'origine----- > De : Jean Martos [mailto:jean.martos@wanadoo.fr] > Envoyé : dimanche 4 février 2001 18:54 > À : lionel.fourquaux@wanadoo.fr > Cc : caml-list@inria.fr > Objet : Re: OCaml for Windows: a suggestion > > > > > Lionel Fourquaux a écrit : > > > [French version at the end] > > > > Hello, > > > > I'd like to suggest a change in the way OCaml is built > > under Windows. Wouldn't it be better if the files from byterun/ > > that are shared by ocamlrun, the native code compiler and the > > otherlibs (i.e. the GC, the primitives, and support functions) > > were put in a DLL ? > > In poor English : > > This is a good idea. But I think that the most important job to do for > OCaml on Windows > is to port it under gcc. I already compile it with mingw32. I do it > because I need to interface OCaml and gnat, and for the moment it runs > fine. It's probably a very good idea. However, I'd like the support for msvc to continue. It shouldn't be too difficult : the headers and the libraries are similar. Moreover, compiling with gcc would create a faster bytecode interpreter : interp.c is full of gcc-specific optimizations, while msvc sees only normal C code. (I tried a comparison, and the difference was huge.) > > Due to the cleany OCaml code, the modifications are limited, > and the job > to make > the patches in order to make a cleany distribution is not so > important. > > I think that such a distribution is awaited by a numerous > people of the > Ocaml community. > > En français : > > C'est une bonne idée. Mais il me semble qu'il serait plus > intéressant de > disposer d'une > distribution compilée avec gcc. C'est probablement une très bonne idée. J'aimerais quand même que le support pour msvc continue, ce qui ne devrait pas être difficile : les deux environnements sont quand même assez proches. En plus, une version compilée avec gcc disposerait d'un interpréteur de bytecode beaucoup plus rapide : interp.c est plein d'optimisations pour gcc, alors que msvc ne voit que du C normal. (J'ai fait un petit essai : la différence est très importante.) > > J'ai compilé la version 3.0 avec mingw32, car j'ai besoin d'interfacer > OCaml avec gnat. Et cela marche trés bien. Est-ce qu'il est vraiment nécessaire d'utiliser mingw32 pour interfacer avec gnat ? (Pure curiosité : il me semble que les différences avec msvc ne sont pas si grandes.) > > Le code Ocaml est trés bien écrit et les modifications que j'ai > effectuées, aussi bien dans les sources que dans les > makefiles sont trés > limitées (Merci de ne pas avoir utilisé AUTOCONF). > > Je crois que nous sommes nombreux parmi la communauté OCaml à attendre > une distribution compilant avec gcc sous Windows, cela permetrait de > s'affranchir du compilateur vcc et, surtout de l'assembleur masm, qui > est difficile à trouver et à installer. Je suis à peu près sûr qu'il est possible de se débarasser complètement du compilateur C, et de n'utiliser qu'un assembleur et un linkeur, avec les bibliothèques associées. Comme je l'ai déjà indiqué ici, tout cela est inclus dans le DDK de Windows 2000, qu'il est facile de télécharger depuis le site de Microsoft. Donc même sans gcc, il serait facile de ne pas avoir à acheter msvc. (Et masm n'est pas si dur à trouver...) A mon avis, en plus de ne pas utiliser ce compilateur C, il y aurait une autre modification très utile dans ce sens : placer les lignes de commandes à l'extérieur de l'exécutable (dans le registry, ou dans un fichier de configuration), là où elles seraient faciles à modifier, et ajouter la possibilité de choisir le style d'assembleur généré. Ainsi, chacun pourrait utiliser les outils qui lui plaisent (msvc, gcc, nasm+alink, etc...) sans avoir à recompiler la distribution. (Bien sûr, cela nécessiterait un peu plus de travail.) > > Le travail à effectuer pour fournir une distribution gcc officielle > sous windows n'est pas si important. Peut être que nos amis de l'INRIA > ... nous ferons ce cadeau pour la naissance du consortium? Je l'espère ! Lionel Fourquaux