1dfc58e3bcfcb8f37796b2ca1c289dd202f26d03cSylvestre Ledru(*===-- llvm_bitwriter.ml - LLVM OCaml Interface ----------------*- C++ -*-===*
28ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
38ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *                     The LLVM Compiler Infrastructure
48ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
5234d529e582963ad4b5d83b911cd057fe99d1435Chris Lattner * This file is distributed under the University of Illinois Open Source
6234d529e582963ad4b5d83b911cd057fe99d1435Chris Lattner * License. See LICENSE.TXT for details.
78ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
88ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *===----------------------------------------------------------------------===
98ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
10dfc58e3bcfcb8f37796b2ca1c289dd202f26d03cSylvestre Ledru * This interface provides an OCaml API for the LLVM intermediate
118ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen * representation, the classes in the VMCore library.
128ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *
138ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen *===----------------------------------------------------------------------===*)
148ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
158ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen
168ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen(* Writes the bitcode for module the given path. Returns true if successful. *)
178ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksenexternal write_bitcode_file : Llvm.llmodule -> string -> bool
188ef426baa36639458f6777309db25c1768dc9c8aGordon Henriksen                            = "llvm_write_bitcode_file"
19e623050048e56a512e77c28b69925e7dc1efa6adErick Tryzelaar
20e623050048e56a512e77c28b69925e7dc1efa6adErick Tryzelaarexternal write_bitcode_to_fd : ?unbuffered:bool -> Llvm.llmodule
21e623050048e56a512e77c28b69925e7dc1efa6adErick Tryzelaar                               -> Unix.file_descr -> bool
22e623050048e56a512e77c28b69925e7dc1efa6adErick Tryzelaar                             = "llvm_write_bitcode_to_fd"
23e623050048e56a512e77c28b69925e7dc1efa6adErick Tryzelaar
24e623050048e56a512e77c28b69925e7dc1efa6adErick Tryzelaarlet output_bitcode ?unbuffered channel m =
25e623050048e56a512e77c28b69925e7dc1efa6adErick Tryzelaar  write_bitcode_to_fd ?unbuffered m (Unix.descr_of_out_channel channel)
26