Browse thread
Re: [Caml-list] cygwin/mingw linking
- CaptnJamesKirk@a...
[
Home
]
[ Index:
by date
|
by threads
]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: | 2001-09-16 (16:05) |
From: | CaptnJamesKirk@a... |
Subject: | Re: [Caml-list] cygwin/mingw linking |
In a message dated 9/14/2001 6:41:57 PM Central Daylight Time, CaptnJamesKirk@aol.com writes: > Hi everyone, > > I've got OCaml 3.02 succesfully installed, compiled, and working under > Windows ME using the latest cygwin. I would like to be able to link my > programs using mingw so the executable doesn't need cygwin1.dll. The docs > mention using the -output-obj option to create an *.o object file that can > be linked, but the manual talks about wrapping this with a C program, etc., > which is not what I want. I just want to manually link the object file(s) > with whichever libraries are needed, using a separate mingw installation. > Can I do this? > > /John Doesn't look like it's possible now. Here's what I tried. I compiled "hello_world.ml" with the "-output-obj" option to produce "camlprog.o". Next, still under cygwin, I tried "gcc -o hello_world camlprog.o -lgdi32 -L/usr/lib/ocaml -lasmrun" and it worked! So, I could manually link a complete ocmal program without wrapping with a C program. Next, I exited from cygwin and opened up my dos-box for mingw (which doesn't have the cygwin bin directory in it's path, so there's no conflict). I used the "camlprog.o" which was created under cygwin and directed the linker to the ocaml libs. Unfortunately, the linker now complains with, among other things, /cygwin/lib/ocaml/libasmrun.a(signals.o)(.text+0x17):signals.c: undefined reference to `sigemptyset' If I'm not mistaken, these are references to some of the more "unix-like" functions that cygwin provides and mingw doesn't so it can avoid using the cygwin1.dll. So it looks like even a simple "hello world" program need things from the ocaml libs that call the cygwin1.dll. This is unfortunate. I think support for mingw would be a big plus for ocaml. Not only is mingw easier to install and use under Windows than cygwin, it doesn't require the pesky cygwin1.dll. /John ------------------- Bug reports: http://caml.inria.fr/bin/caml-bugs FAQ: http://caml.inria.fr/FAQ/ To unsubscribe, mail caml-list-request@inria.fr Archives: http://caml.inria.fr