llvm-project/llvm/bindings/ocaml
Nikita Popov 42358b686c [llvm-ocaml] Add and use opaque pointer compatible bindings
Add bindings for LLVMConstGEP2, LLVMAddAlias2, LLVMBuildLoad2,
LLVMBuildInvoke2, LLVMBuildGEP2, LLVMBuildInBoundsGEP2,
LLVMBuildStructGEP2, LLVMBuildPtrDiff2 and use these in tests.
2022-06-02 11:42:24 +02:00
..
all_backends [NFC][OCaml] Remove vestigial CAMLprim declarations 2021-04-05 10:55:08 +01:00
analysis [NFC][OCaml] Remove vestigial CAMLprim declarations 2021-04-05 10:55:08 +01:00
backends [NFC][OCaml] Remove vestigial CAMLprim declarations 2021-04-05 10:55:08 +01:00
bitreader [NFC][OCaml] Reformat to clean up following CAMLprim removal 2021-04-05 10:55:08 +01:00
bitwriter [NFC][OCaml] Remove vestigial CAMLprim declarations 2021-04-05 10:55:08 +01:00
debuginfo [OCaml][DebugInfo] Add bindings for parameter and auto variable creation 2022-04-24 09:37:04 +05:30
executionengine [NFC][OCaml] Reformat to clean up following CAMLprim removal 2021-04-05 10:55:08 +01:00
irreader [NFC][OCaml] Reformat to clean up following CAMLprim removal 2021-04-05 10:55:08 +01:00
linker [NFC][OCaml] Reformat to clean up following CAMLprim removal 2021-04-05 10:55:08 +01:00
llvm [llvm-ocaml] Add and use opaque pointer compatible bindings 2022-06-02 11:42:24 +02:00
target [NFC][OCaml] Reformat to clean up following CAMLprim removal 2021-04-05 10:55:08 +01:00
transforms Remove loop-unswitch from various bindings. 2022-04-29 10:53:17 +01:00
.ocamlformat [OCaml] DebugInfo support for OCaml bindings 2021-03-17 10:15:56 +05:30
CMakeLists.txt [OCaml] DebugInfo support for OCaml bindings 2021-03-17 10:15:56 +05:30
README.txt [llvm] [bindings/OCaml] Remove unused dep on ounit2 2022-02-16 19:30:25 +01:00

README.txt

This directory contains LLVM bindings for the OCaml programming language
(http://ocaml.org).

Prerequisites
-------------

* OCaml 4.00.0+.
* ctypes 0.4+.
* CMake (to build LLVM).

Building the bindings
---------------------

If all dependencies are present, the bindings will be built and installed
as a part of the default CMake configuration, with no further action.
They will only work with the specific OCaml compiler detected during the build.

The bindings can also be built out-of-tree, i.e. targeting a preinstalled
LLVM. To do this, configure the LLVM build tree as follows:

    $ cmake -DLLVM_OCAML_OUT_OF_TREE=TRUE \
            -DCMAKE_INSTALL_PREFIX=[Preinstalled LLVM path] \
            -DLLVM_OCAML_INSTALL_PATH=[OCaml install prefix] \
            [... any other options]

then build and install it as:

    $ make ocaml_all
    $ cmake -P bindings/ocaml/cmake_install.cmake