skaller a écrit : > On Thu, 2005-12-01 at 18:03 +0100, Christophe Raffalli wrote: > > >>May be I still do not get the problem > > > Simple. Ocaml cheats. When you *compile* against a cmx > or cmi/cmx pair, Ocaml 'cheats' and lifts non-interface > information out of the cmx. This allows it to, for > example, inline functions by cheating and grabbing their > implementations from the cmx. > Yes, I knew that but .. if I have toto.cmi in /usr/lib/ocaml toto.cmx and toto.o in /usr/lib/ocaml/totov1/ compiled from totov1.ml toto.cmx and toto.o in /usr/lib/ocaml/totov2/ compiled from totov1.ml tata.ml that does "open Toto" then use either ocamlopt -I +totov1 toto.cmx tata.ml ocamlopt -I +totov2 toto.cmx tata.ml shouldn't this work ? Indeed, I tried using "the ln -s" trick for compilation as suggested ... and it seems to work ? It is a bit painfull both for compilation and usage ... BTW: I can not miss inlinig for bindlib, since there will be many calls to small functions (even 1 line ones) in code using bindlib (I guess, but did not try).