caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: "Lionel Fourquaux" <lionel.fourquaux@wanadoo.fr>
To: "'Jean Martos'" <jean.martos@wanadoo.fr>
Cc: <caml-list@inria.fr>
Subject: RE: OCaml for Windows: a suggestion
Date: Sat, 10 Feb 2001 20:28:03 +0100	[thread overview]
Message-ID: <000101c0939b$a2e933e0$8660f8c1@wfr01946> (raw)
In-Reply-To: <3A7D9742.16A775CB@wanadoo.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



  reply	other threads:[~2001-02-10 21:51 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-02-08 21:07 Lionel Fourquaux
2001-02-04 17:54 ` Jean Martos
2001-02-10 19:28   ` Lionel Fourquaux [this message]
2001-02-11  9:52   ` Xavier Leroy
2001-02-12 19:37     ` Chris Hecker
2001-02-12 21:27       ` Lionel Fourquaux
2001-02-14 15:32         ` [Caml-list] " Vijay Chakravarthy
2001-02-13 18:07           ` Mattias Waldau
2001-02-13 18:20           ` Gerd Stolpmann
2001-02-13  4:36 Hao-yang Wang

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='000101c0939b$a2e933e0$8660f8c1@wfr01946' \
    --to=lionel.fourquaux@wanadoo.fr \
    --cc=caml-list@inria.fr \
    --cc=jean.martos@wanadoo.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).