llvm-project/llvm/bindings/ocaml
Peter Zotov e9dd46f4d0 [CMake] [OCaml] Allow building OCaml bindings out of tree.
That is, add build system support for building the OCaml bindings
against preinstalled LLVM libraries. This is important for package
managers such as OPAM, because OCaml libraries need to be built
against a specific OCaml compiler installation.

llvm-svn: 280642
2016-09-05 01:42:22 +00:00
..
all_backends Remove autoconf support 2016-01-26 21:29:08 +00:00
analysis [OCaml] Use LLVMCreateMessage with constant strings when calling llvm_raise 2016-04-01 07:56:17 +00:00
backends Remove autoconf support 2016-01-26 21:29:08 +00:00
bitreader [OCaml] Use LLVMCreateMessage with constant strings when calling llvm_raise 2016-04-01 07:56:17 +00:00
bitwriter Remove autoconf support 2016-01-26 21:29:08 +00:00
executionengine Silence warnings in OCaml bindings 2016-03-31 08:39:42 +00:00
irreader Remove autoconf support 2016-01-26 21:29:08 +00:00
linker [OCaml] Use LLVMCreateMessage with constant strings when calling llvm_raise 2016-04-01 07:56:17 +00:00
llvm [OCaml] Add functions for accessing metadata nodes. 2016-06-22 03:30:24 +00:00
target [OCaml] Reinstate data_layout 2016-04-01 07:54:24 +00:00
transforms Remove the ScalarReplAggregates pass 2016-06-15 00:19:09 +00:00
CMakeLists.txt [OCaml] [cmake] Add CMake buildsystem for OCaml. 2014-12-01 19:50:23 +00:00
README.txt [CMake] [OCaml] Allow building OCaml bindings out of tree. 2016-09-05 01:42:22 +00:00

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=[OCaml install prefix] \
            [... any other options]

then build and install it as:

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