diff options
author | 1138-4EB <1138-4EB@users.noreply.github.com> | 2019-08-31 17:32:35 +0200 |
---|---|---|
committer | tgingold <tgingold@users.noreply.github.com> | 2019-08-31 17:32:35 +0200 |
commit | b124c3926b05d7d0770989330039518c391f73cf (patch) | |
tree | ff417a3940604ca8be2f005ae0d93302afcd4519 /doc/getting/LLVM.rst | |
parent | 6852a8f2b79f87ffb523f0aa4157f23540818887 (diff) | |
download | ghdl-b124c3926b05d7d0770989330039518c391f73cf.tar.gz ghdl-b124c3926b05d7d0770989330039518c391f73cf.tar.bz2 ghdl-b124c3926b05d7d0770989330039518c391f73cf.zip |
[doc] Update section 'Getting GHDL' (#906)
* doc: fix version extraction from 'configure'
* doc: update section 'Getting GHDL'
* readme: update
Diffstat (limited to 'doc/getting/LLVM.rst')
-rw-r--r-- | doc/getting/LLVM.rst | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/doc/getting/LLVM.rst b/doc/getting/LLVM.rst new file mode 100644 index 000000000..9190549d2 --- /dev/null +++ b/doc/getting/LLVM.rst @@ -0,0 +1,43 @@ +.. _BUILD:llvm: + +LLVM backend +############ + +.. rubric:: Requirements + +* GCC (Gnu Compiler Collection) +* GNAT (Ada compiler for GCC) +* LLVM (Low-Level-Virtual Machine) and CLANG (Compiler front-end for LLVM): 3.5, 3.8, 3.9, 4.0, 5.0, 6.0, 7.0 or 8.0 + +.. _BUILD:llvm:GNAT: + +GCC/GNAT: GNU/Linux or Windows (MinGW/MSYS2) +============================================ + +.. HINT:: You need to install LLVM (usually depends on ``libedit``, see :ghdlsharp:`29`). Debugging is only supported with LLVM 3.5. + +GHDL is configured by ``configure`` and built by ``make``. + +* First, GHDL needs to be configured. It is common to specify a ``PREFIX`` + (installation directory like ``/usr/local`` or ``/opt/ghdl``). Set the proper + arg, ``./configure --with-llvm-config``, to select LLVM backend. If + ``llvm-config`` is not in your path, you can specify it: + ``./configure --with-llvm-config=LLVM_INSTALL/bin/llvm-config``. + +* Next, ``make`` starts the compilation process. + +* Finally, ``make install`` installs GHDL into the installation directory + specified by ``PREFIX``. + +.. rubric:: Example: + +.. code-block:: Bash + + $ cd <ghdl> + $ mkdir build + $ cd build + $ ../configure --with-llvm-config --prefix=PREFIX + $ make + $ make install + +.. HINT:: If you want to have stack backtraces on errors (like assert failure or index of out bounds), you need to configure and build ``libbacktrace`` from GCC (you don't need to configure GCC). Then add the following arg to configure: ``--with-backtrace-lib=/path-to-gcc-build/libbacktrace/.libs/libbacktrace.a`` |