From mboxrd@z Thu Jan 1 00:00:00 1970 Received: (from weis@localhost) by pauillac.inria.fr (8.7.6/8.7.3) id UAA12211 for caml-red; Sat, 30 Dec 2000 20:06:06 +0100 (MET) Received: from concorde.inria.fr (concorde.inria.fr [192.93.2.39]) by pauillac.inria.fr (8.7.6/8.7.3) with ESMTP id TAA26572 for ; Wed, 27 Dec 2000 19:47:05 +0100 (MET) Received: from nef.ens.fr (nef.ens.fr [129.199.96.32]) by concorde.inria.fr (8.11.1/8.10.0) with ESMTP id eBRIl4L07274 for ; Wed, 27 Dec 2000 19:47:04 +0100 (MET) Received: from clipper.ens.fr (clipper-gw.ens.fr [129.199.1.22]) by nef.ens.fr (8.10.1/1.01.28121999) with ESMTP id eBRIl4M84676 for ; Wed, 27 Dec 2000 19:47:04 +0100 (CET) Received: from localhost (frisch@localhost) by clipper.ens.fr (8.9.2/jb-1.1) id TAA25197 for ; Wed, 27 Dec 2000 19:47:04 +0100 (MET) Date: Wed, 27 Dec 2000 19:47:04 +0100 (MET) From: Alain Frisch To: caml-list@inria.fr Subject: [announce] dl-runtime Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: weis@pauillac.inria.fr Hello, this is to announce the availability of dl-runtime, a patch to OCaml for using primitives from shared libraries. This is done by allowing runtime systems (ocamlrun or custom systems) to load shared libraries, in addition to statically linked primitives, in order to fulfill the requirements of the bytecode primitive table. There is no special annotation in the source code: the choice of using shared libraries is done at runtime. There are two ways to specify which libraries to import: - give this information via the runtime system command line ("-l..."): ocamlrun -l/usr/local/lib/ocaml/libunix_so.so my_program or: LD_LIBRARY_PATH=/usr/local/lib/ocaml ocamlrun -llibunix_so.so my_program - give the Caml linker a set of shared libraries to remember at runtime ("-dl ...") ocaml -noautolink -o my_program unix.cma my_program.cmo -dl libunix_so.so This simply puts annotations in the bytecode file. For instance, it is possible to build shared versions of libunix, libgraphics, libstr ... and use a small generic runtime system to run any bytecode program using these libraries. The patch is known to work under Linux 2.2 and Solaris 5.7. Information: http://www.eleves.ens.fr:8080/home/frisch/info/README-DL Download: http://www.eleves.ens.fr:8080/home/frisch/soft -- Alain Frisch