Version française
Home     About     Download     Resources     Contact us    
Browse thread
OCaml for Windows: a suggestion
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Lionel Fourquaux <lionel.fourquaux@w...>
Subject: RE: OCaml for Windows: a suggestion


> -----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