chore(docs): rusticl: improve list of build dependencies

v2:
 - added more requirements for LLVM (thanks Mike Lothian (@FireBurn)).
v3:
 - note the optional cases for rustfmt (thanks @LingMan)
 - remove the part about the SPIR-V target for LLVM (thanks Karol Herbst
   (@karolherbst))
v4:
 - added minimum version requirements (thanks Karol Herbst
   (@karolherbst))

Signed-off-by: Kai Wasserbäch <kai@dev.carbon-project.org>
Reviewed-by: Karol Herbst <kherbst@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/18640>
This commit is contained in:
Kai Wasserbäch
2022-09-17 11:53:26 +02:00
parent 345f52661c
commit e4c7cf1568

View File

@@ -1,10 +1,29 @@
Rusticl
=======
The easiest way to build Rusticl is by either installing ``rustc``,
``rustfmt`` and ``bindgen`` from your distribution or to simply use
rustup. Just make sure that the ``rustfmt`` and ``bindgen`` components
are installed. Then simply add ``-Dgallium-rusticl=true -Dllvm=enabled
To build Rusticl you need to satisfy the following build dependencies:
- ``rustc``
- ``rustfmt`` (highly recommended, but only *required* for CI builds
or when authoring patches)
- ``bindgen``
- `LLVM <https://github.com/llvm/llvm-project/>`__ built with
``libclc`` and ``-DLLVM_ENABLE_DUMP=ON``.
- `SPIRV-Tools <https://github.com/KhronosGroup/SPIRV-Tools>`__
- `SPIRV-LLVM-Translator
<https://github.com/KhronosGroup/SPIRV-LLVM-Translator>`__ for a
``libLLVMSPIRVLib.so`` matching your version of LLVM, ie. if you're
using LLVM 15 (``libLLVM.so.15``), then you need a
``libLLVMSPIRVLib.so.15``.
The minimum versions to build Rusticl are:
- Rust: 1.59
- Meson: 0.61.4
- LLVM: 11.0.0 (recommended: 15.0.0)
- SPIRV-Tools: any version (recommended: v2022.3)
Afterwards you only need to add ``-Dgallium-rusticl=true -Dllvm=enabled
-Drust_std=2021`` to your build options.
Most of the code related to Mesa's C code lives inside ``/mesa``, with