[OCaml] De-duplicate llvm_raise and llvm_string_of_message.
[oota-llvm.git] / bindings / ocaml / linker / llvm_linker.mli
1 (*===-- llvm_linker.mli - LLVM OCaml Interface -----------------*- OCaml -*-===*
2  *
3  *                     The LLVM Compiler Infrastructure
4  *
5  * This file is distributed under the University of Illinois Open Source
6  * License. See LICENSE.TXT for details.
7  *
8  *===----------------------------------------------------------------------===*)
9
10 (** Linker.
11
12     This interface provides an OCaml API for LLVM bitcode linker,
13     the classes in the Linker library. *)
14
15 exception Error of string
16
17 (** Linking mode. *)
18 module Mode : sig
19   type t =
20   | DestroySource
21   | PreserveSource
22 end
23
24 (** [link_modules dst src mode] links [src] into [dst], raising [Error]
25     if the linking fails. *)
26 val link_modules : Llvm.llmodule -> Llvm.llmodule -> Mode.t -> unit