Version française
Home     About     Download     Resources     Contact us    

This site is updated infrequently. For up-to-date information, please visit the new OCaml website at

Browse thread
[Caml-list] dlopen win32 port
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: 2001-08-31 (21:51)
From: Jeff Henrikson <jehenrik@y...>
Subject: [Caml-list] dlopen win32 port
Hi caml-list,

I made the "dlopen" ocaml library compile under win32.  I don't have any idea how to integrate changes into the autotools scripts,
or if it is worth it to do so.  Opinions?

Win32 has functions that correspond nearly one to one with dlopen dlsym and dlclose.  The only compatability issue I can think of
are windows' fairly uniform use of stdcall for DLL functions, and the corresponding name mangling of foo(int x, int y) to _foo@4.
It seems like there should be some wrapping around this to make it disappear so that equal C files link the same on both platforms.
Would need to have a switch to turn it off for dlls that break the convention.  Haven't done that yet.

I have been trying to get a Mac port of this, but I am too much of newbie at MPW right now.  But I from what I've read I think
think the CFM model for dynamic linking is a bit more exotic.

Does anybody have a bulletproof way to unzip source code on Mac?  I used the obvious stuffit expander to unsit the ocaml source,
and after various control panel tweaking (Stuffit by default thinks Makefile.Mac is a picture for some reason) I still get CRLF
problems with :tools:make-opcodes.Mac.  There are at least two other build problems that I have used duct tape to fix.  (I'm using
the 3.02 tarball right now, the 3.01 mac makefiles had more errors)

Is it me or does the DoMake script have to start from scratch every time you make it?

> Xavier Leroy wrote on 8/24:
>"dynamic_loading" branch on the OCaml development sources
>(  I'll post more information about it once I'm
>happy with the result, to get some feedback on the design.

I checked out these sources and did some superficial diffing of it, and it wasn't obvious to me which the salient changes were.  I
think I was diffing source that was too old though (3.01).  A big mess.  Is this code for dynamic linking FFI code like DlOpen, or
for the general problem of incorporating typing info and etc from one Caml module into another at runtime?

Jeff Henrikson

Bug reports:  FAQ:
To unsubscribe, mail  Archives: