llvm_linker.mli revision 9d33bf70c228a5c3b57b1d9bf86ea5949bb77293
19d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov(*===-- llvm_linker.mli - LLVM OCaml Interface -----------------*- OCaml -*-===* 29d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov * 39d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov * The LLVM Compiler Infrastructure 49d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov * 59d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov * This file is distributed under the University of Illinois Open Source 69d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov * License. See LICENSE.TXT for details. 79d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov * 89d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov *===----------------------------------------------------------------------===*) 99d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov 109d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov(** Linker. 119d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov 129d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov This interface provides an OCaml API for LLVM bitcode linker, 139d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov the classes in the Linker library. *) 149d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov 159d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotovexception Error of string 169d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov 179d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov(** Linking mode. *) 189d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotovmodule Mode : sig 199d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov type t = 209d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov | DestroySource 219d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov | PreserveSource 229d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotovend 239d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov 249d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov(** [link_modules dst src mode] links [src] into [dst], raising [Error] 259d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov if the linking fails. *) 269d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotovexternal link_modules : Llvm.llmodule -> Llvm.llmodule -> Mode.t -> unit 279d33bf70c228a5c3b57b1d9bf86ea5949bb77293Peter Zotov = "llvm_link_modules"