1 (**************************************************************************)
2 (* *)
3 (* OCaml *)
4 (* *)
5 (* Xavier Leroy, projet Gallium, INRIA Rocquencourt *)
6 (* *)
7 (* Copyright 2010 Institut National de Recherche en Informatique et *)
8 (* en Automatique *)
9 (* *)
10 (* All rights reserved. This file is distributed under the terms of *)
11 (* the GNU Lesser General Public License version 2.1, with the *)
12 (* special exception on linking described in the file LICENSE. *)
13 (* *)
14 (**************************************************************************)
15
16 (* Format of .cmxs files *)
17
18 open Misc
19
20 (* Each .cmxs dynamically-loaded plugin contains a symbol
21 "caml_plugin_header" containing the following info
22 (as an externed record) *)
23
24 type dynunit = {
25 dynu_name: modname;
26 dynu_crc: Digest.t;
27 dynu_imports_cmi: crcs;
28 dynu_imports_cmx: crcs;
29 dynu_defines: string list;
30 }
31
32 type dynheader = {
33 dynu_magic: string;
34 dynu_units: dynunit list;
35 }
36