llvm-project/llvm/bindings/ocaml
Vaivaswatha Nagaraj c244cd7217 [OCaml][DebugInfo] Add tests for debug info API
In the process of adding the tests, several bugs were
found in the implementation and interface of the API
and they were fixed.

Some utilities from the core tests (core.ml) were moved
into a separate file for reuse.

The following new functions have been added:
`dibuild_create_global_variable_expression`,
`dibuild_create_constant_value_expression` and
`llmetadata_null`. The third one already existed but
is now exposed publicly.

Differential Revision: https://reviews.llvm.org/D99403
2021-03-26 22:06:48 +05:30
..
all_backends
analysis [NFC][OCaml] Fix documentation for verify_function and const_of_int64 2021-03-17 12:09:28 +00:00
backends
bitreader llvmbuildectomy - compatibility with ocaml bindings 2020-11-13 14:35:52 +01:00
bitwriter llvmbuildectomy - compatibility with ocaml bindings 2020-11-13 14:35:52 +01:00
debuginfo [OCaml][DebugInfo] Add tests for debug info API 2021-03-26 22:06:48 +05:30
executionengine llvmbuildectomy - compatibility with ocaml bindings 2020-11-13 14:35:52 +01:00
irreader llvmbuildectomy - compatibility with ocaml bindings 2020-11-13 14:35:52 +01:00
linker llvmbuildectomy - compatibility with ocaml bindings 2020-11-13 14:35:52 +01:00
llvm [OCaml] Fix a possible crash in llvm_struct_name 2021-03-26 11:49:13 +00:00
target llvmbuildectomy - compatibility with ocaml bindings 2020-11-13 14:35:52 +01:00
transforms llvmbuildectomy - compatibility with ocaml bindings 2020-11-13 14:35:52 +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 [OCaml] DebugInfo support for OCaml bindings 2021-03-17 10:15:56 +05:30

README.txt

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

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

* OCaml 4.00.0+.
* ctypes 0.4+.
* oUnit 2+ (only required for tests).
* 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