Merge commit 'ocaml3102'
[ocaml.git] / ocamlbuild / ocaml_compiler.mli
blob60ad1666333e0f7f0db2c51fbed264c73abebc5c
1 (***********************************************************************)
2 (* ocamlbuild *)
3 (* *)
4 (* Nicolas Pouillard, Berke Durak, projet Gallium, INRIA Rocquencourt *)
5 (* *)
6 (* Copyright 2007 Institut National de Recherche en Informatique et *)
7 (* en Automatique. All rights reserved. This file is distributed *)
8 (* under the terms of the Q Public License version 1.0. *)
9 (* *)
10 (***********************************************************************)
12 (* $Id$ *)
13 (* Original author: Nicolas Pouillard *)
15 val forpack_flags : string -> Tags.t -> Command.spec
16 val ocamlc_c : Tags.t -> Pathname.t -> Pathname.t -> Command.t
17 val ocamlc_link_lib : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
18 val ocamlc_link_prog : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
19 val ocamlc_p : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
20 val ocamlopt_c : Tags.t -> Pathname.t -> Pathname.t -> Command.t
21 val ocamlopt_link_lib : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
22 val ocamlopt_link_prog : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
23 val ocamlopt_p : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
24 val ocamlmklib : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
25 val ocamlmktop : Tags.t -> Pathname.t list -> Pathname.t -> Command.t
26 val prepare_compile : Rule.builder -> Pathname.t -> unit
27 val byte_compile_ocaml_interf : string -> string -> Rule.action
28 val byte_compile_ocaml_implem : ?tag:string -> string -> string -> Rule.action
29 val prepare_link :
30 Pathname.t -> Pathname.t ->
31 string list -> Rule.builder -> unit
32 val native_compile_ocaml_implem : ?tag:string -> ?cmx_ext:string -> string -> Rule.action
33 val prepare_libs :
34 string -> string -> Pathname.t ->
35 Rule.builder -> Pathname.t list
36 val link_gen :
37 string -> string -> string -> string list ->
38 (Tags.t -> Pathname.t list -> Pathname.t -> Command.t) ->
39 (Tags.t -> Tags.t) ->
40 string -> string -> Rule.action
41 val byte_link : string -> string -> Rule.action
42 val byte_library_link : string -> string -> Rule.action
43 val byte_debug_link : string -> string -> Rule.action
44 val byte_debug_library_link : string -> string -> Rule.action
45 val native_link : string -> string -> Rule.action
46 val native_library_link : string -> string -> Rule.action
47 val native_profile_link : string -> string -> Rule.action
48 val native_profile_library_link : string -> string -> Rule.action
49 val link_modules :
50 (Pathname.t * string list) list ->
51 string -> string ->
52 string -> (Tags.t -> Pathname.t list -> Pathname.t -> Command.t) ->
53 (Tags.t -> Tags.t) ->
54 string list -> string -> Rule.action
55 val pack_modules :
56 (Pathname.t * string list) list ->
57 string -> string ->
58 string -> (Tags.t -> Pathname.t list -> Pathname.t -> Command.t) ->
59 (Tags.t -> Tags.t) ->
60 string list -> string -> Rule.action
61 val byte_library_link_modules : string list -> string -> Rule.action
62 val byte_library_link_mllib : string -> string -> Rule.action
63 val byte_debug_library_link_modules : string list -> string -> Rule.action
64 val byte_debug_library_link_mllib : string -> string -> Rule.action
65 val byte_pack_modules : string list -> string -> Rule.action
66 val byte_pack_mlpack : string -> string -> Rule.action
67 val byte_debug_pack_modules : string list -> string -> Rule.action
68 val byte_debug_pack_mlpack : string -> string -> Rule.action
69 val byte_toplevel_link_modules : string list -> string -> Rule.action
70 val byte_toplevel_link_mltop : string -> string -> Rule.action
71 val native_pack_modules : string list -> string -> Rule.action
72 val native_pack_mlpack : string -> string -> Rule.action
73 val native_library_link_modules : string list -> string -> Rule.action
74 val native_library_link_mllib : string -> string -> Rule.action
75 val native_profile_pack_modules : string list -> string -> Rule.action
76 val native_profile_pack_mlpack : string -> string -> Rule.action
77 val native_profile_library_link_modules : string list -> string -> Rule.action
78 val native_profile_library_link_mllib : string -> string -> Rule.action
80 (** [hide_package_contents pack_name]
81 Don't treat the given package as an open package.
82 So a module will not be replaced during linking by
83 this package even if it contains that module. *)
84 val hide_package_contents : string -> unit