English version
Accueil     À propos     Téléchargement     Ressources     Contactez-nous    

Ce site est rarement mis à jour. Pour les informations les plus récentes, rendez-vous sur le nouveau site OCaml à l'adresse ocaml.org.

Browse thread
3.09.3 release candidate 1
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2006-09-14 (07:48)
From: Hendrik Tews <tews@c...>
Subject: Re: [Caml-list] 3.09.3 release candidate 2

"Nicolas Pouillard" <nicolas.pouillard@gmail.com> writes:

   On 9/13/06, Hendrik Tews <tews@cs.ru.nl> wrote:
   >    > I do not understand why you do need .cmo files when you have a library
   >    > (gramlib.cma or camlp4.cma) that includes these modules (note that .a
   >    > and .cmxa are also available for native linking).
   > But with this line of reasoning, plexer.{o,cmx} should not be
   > installed either, shouln't it?

   Yes, but if I remember correctly it's you that request for these files
   to be installed?

Sure, but I didn't knew about the library, when I filed the bug

   So in order to be consistent either one do not expose at all the
   content of a library or one install all components (.cmo, .cmi, .cmx,
   .o). I tend to prefer the first one.

OK, Jacques clarified this, you need to install the .cmi .cmx
together with the library. .cmo and .o are in the library.

   > (I could still imagine some camlp4 application szenario, where
   > you need to use -linkall, but don't want to link all of
   > gramlib.cma. Then you would need the cmo itself, right? However,
   > this was not the case in my application.)

   Yes but it's a choice made by the library designer.

The library designer can hardly forsee all the possible usages of
the modules in his library. Therefore, in my opinion, one should
install all .cmi .cmo .cmx .o and have the libraries available
for convenience. The additional space needed is negligible (less
than 1M for both gramlib and plexer). Cases where users needed a
uncleaned ocaml source directory to compile certain features of
an application would then belong to the past.