CamlORBit - an OCaml / ORBit2 interface --------------------------------------- This package is an OCaml binding for ORBit, the CORBA ORB of the GNOME project. There are 3 parts : - a CORBA <-> Caml mapping - an IDL compiler - a runtime library The idea is that all IIOP marshaling and communication, POA management, etc. is handled by ORBit. We simply provide a mixed Caml/C library that translates caml values to and from C CORBA structures and invokes CORBA operations. This part was heavily inspired by pyorbit [1], the python bindings by Jame Henstridge. The IDL compiler (a regular caml program) parses IDL files and generates .ml files that implement the CORBA mapping and call the runtime library. The compiler uses the lexer and parser idlparse [2], written by Alan Schmitt. The compiler uses (modified) parts of the Averell library by Vincent Simonet [3]. Requirements ------------ OCaml >= 3.08, ORBit2 >= 2.7.2, (optionally) bonobo-activation Building & Installing --------------------- 1) ./configure 2) make 3) make install configure options : --disable-debug disable debugging checks --enable-cleanup enable memory cleanup code Prevents ORBit compiled with debugging from complaining of "leaked objects references" when the program exits. Only useful for debugging CamlORBit or if the ORBit warnings annoy you. Examples -------- There are simple examples of CORBA servers/clients in test/echo and test/fib. Debugging --------- When compiled with --enable-debug (on by default), the CAMLORB_DEBUG environment variable can be set to a list of the following keywords (delimited by `:') to enable output of debugging messages: reg, exn, invoke, servant, mem, tc, all -- Olivier Andrieu [1] http://www.advogato.org/proj/pyorbit/ [2] http://sourceforge.net/projects/camlorb/ [3] http://cristal.inria.fr/~simonet/soft/index.en.html