Browse thread
MacOS port and file formats
-
Mary Fernandez
-
Jacques Garrigue
-
Mary Fernandez
- Jacques Garrigue
-
Mary Fernandez
-
Jacques Garrigue
[
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: | 2005-01-02 (01:36) |
From: | Jacques Garrigue <garrigue@m...> |
Subject: | Re: [Caml-list] MacOS port and file formats |
From: Mary Fernandez <mff@research.att.com> > Thanks for your message. Here is what I am trying to do. > > My O'Caml application is an XQuery engine. It has three > APIs: one for O'Caml, one for C, and one for Java applications. > > We create a native-code, dynamically linked > C library that includes our O'Caml library, the O'Caml runtime, > and several other C libraries that our application depends upon > the unix, nums, str libraries plus an external PCRE library. > We actually do this by hand with ocamlopt (not ocamlmklib) > because in the past, we found ocamlmklib did not work consistently > on all platforms. To be more precise, ocamlmklib produces two kinds of output: a DLL for dynamic loading in bytecode programs, and a static library for custom and native programs. What you seem to want is a dynamic library to link with native programs, which is out of the specification. On most architectures, the DLL can be used as a dynamic library, but this is not true on darwin, and only partly true on windows (you also need a binding library, which is not kept.) If your concern is darwin, then there is a simple answer: you can just get the installed static library, and turn it into a dynamic library, as all C code on darwin is position independent. Just look for the correct linker incantation in the darwin manual. It's better not to try to meddle with the core ocaml compilation, which has different goals in mind. Hope this helps, Jacques Garrigue