1
/*===-- all_backends_ocaml.c - LLVM OCaml Glue ------------------*- C++ -*-===*\
3
|* The LLVM Compiler Infrastructure *|
5
|* This file is distributed under the University of Illinois Open Source *|
6
|* License. See LICENSE.TXT for details. *|
8
|*===----------------------------------------------------------------------===*|
10
|* This file glues LLVM's OCaml interface to its C interface. These functions *|
11
|* are by and large transparent wrappers to the corresponding C functions. *|
13
|* Note that these functions intentionally take liberties with the CAMLparamX *|
14
|* macros, since most of the parameters are not GC heap objects. *|
16
\*===----------------------------------------------------------------------===*/
18
#include "llvm-c/Target.h"
19
#include "caml/alloc.h"
20
#include "caml/fail.h"
21
#include "caml/memory.h"
22
#include "caml/custom.h"
25
CAMLprim value llvm_initialize_all(value Unit) {
26
LLVMInitializeAllTargetInfos();
27
LLVMInitializeAllTargets();
28
LLVMInitializeAllTargetMCs();
29
LLVMInitializeAllAsmPrinters();
30
LLVMInitializeAllAsmParsers();