1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00
llvm-mirror/bindings/ocaml
Timotej Kapus b99ed0163e [OCaml] Handle nullptr in Llvm.global_initializer
LLVMGetInitializer returns nullptr in case there is no initializer.
There is not much that can be done with nullptr in OCaml, not even
test if it is null. Also, there does not seem to be a C or OCaml API
to test if there is an initializer. So this diff changes
Llvm.global_initializer to return an option.

Reviewed By: whitequark

Differential Revision: https://reviews.llvm.org/D65195
2021-03-17 13:39:35 +00:00
..
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 support for OCaml bindings 2021-03-17 10:15:56 +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] Handle nullptr in Llvm.global_initializer 2021-03-17 13:39:35 +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

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