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
[Caml-list] ocamlmklib missing in win32 ?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2002-08-26 (13:22)
From: Xavier Leroy <xavier.leroy@i...>
Subject: Re: [Caml-list] ocamlmklib missing in win32 ?
> I had been trying to install some additional packages in my system.
> My original intention was to install PXP.  I am getting closer now. I have
> managed PCRE (with some hints and files from Yutaka OIWA).
> I needed to build (I think) the wlex - runtime to get PXP built.
> But while building wlex broke because there is no ocamlmklib in my system.

Correct: ocamlmklib is only available under Unix (and Cygwin), but not
for the native Win32 port of OCaml.

The reason is as follows: ocamlmklib builds both a DLL and a static
library from a common set of C object files.  This works fine under
Unix because (with the right compilation options) the same object
files can be used in both DLL and static contexts.  But this isn't so
under Windows: object files for a DLL need to be compiled with
different, incompatible flags than object files for a static library.

Hence, the Windows Makefiles for a mixed OCaml/C library must be
written in such a way that C files are compiled twice, with the
correct flags, and the building of the DLL and of the static library
must be done by hand.  To see how to proceed, refer to 
otherlibs/*/Makefile.nt in the OCaml source distribution.

Sorry for the inconvenience, but once more Windows makes things more
complex than they really need to be :-)

- Xavier Leroy
To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr
Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/
Beginner's list: http://groups.yahoo.com/group/ocaml_beginners