Version française
Home     About     Download     Resources     Contact us    
Browse thread
[Caml-list] How to create byte-code with static link
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Jacques Garrigue <garrigue@k...>
Subject: Re: [Caml-list] How to create byte-code with static link
From: IKEDA Katsumi <ikeda@msi.co.jp>

> I make dllfoo.so libfoo.a from foo.c.
> Now I can create bar the following
> 
> ocamlc -o bar -dllpath /usr/local/foo/lib -I /usr/local/foo/lib foo.cma bar.cmo
> 
> There are dllfoo.so and libfoo.a in /usr/local/foo/lib
> 
> In this case, dllfoo.so is linked as dynamic link.

Not really linked: its name is just added to a table in your ocaml
bytecode. The system linker is not called.

> Is it possible link bar and libfoo.a as static link?

Yes, you just have to add the -custom flag.

  ocamlc -custom -o bar -I /usr/local/foo/lib foo.cma bar.cmo

By the way, ocamlopt always links in custom mode.
Note also that -custom is not equivalent to -ccopt -static: this one
is passed to the system linker, and is about whether to choose
libxxx.so or libxxx.a during a custom link (it does not affect
non-custom linkage).

---------------------------------------------------------------------------
Jacques Garrigue      Kyoto University     garrigue at kurims.kyoto-u.ac.jp
		<A HREF=http://wwwfun.kurims.kyoto-u.ac.jp/~garrigue/>JG</A>
-------------------
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