Lines Matching +full:libwayland +full:- +full:dev
5 ---------------
16 <https://mesonbuild.com/Getting-meson.html>`__ to install the
22 Unix-like OSes
28 .. code-block:: sh
30 sudo apt-get install meson # Ubuntu
34 .. code-block:: sh
41 You'll also need `Ninja <https://ninja-build.org/>`__. If it's not
42 already installed, use apt-get or dnf to install the *ninja-build*
51 All these dependencies are for latest linux distros and is tested on ubuntu-24 only for now.
55 … the full content of the packages, so make sure to also install ``-dev``/``-devel``/``-headers``/e…
57 1. glslang-tools
58 2. python3-pyyaml
59 3. python3-mako
61 5. libclc-<version>
62 6. llvm-<version>
63 7. libllvmspirvlib-<version>
64 8. libclang-<version>
69 …You should make sure that all the llvm related packages (libclc, libclc-dev, llvm, libllvmspirvlib…
73 1. libwayland
74 2. libwayland-egl-backend
81 4. libxcb-glx
82 5. libxcb-shm
83 6. libx11-xcb
84 7. libxcb-dri2
85 8. libxcb-dri3
86 9. libxcb-present
91 for intel vulkan ray-tracing:
93 1. python3-ply
111 modules (Mako). You also need pkg-config (a hard dependency of Meson),
115 .. code-block:: sh
122 .. code-block:: sh
128 .. code-block:: sh
130 py -3 -m pip install meson packaging mako
136 --------------
140 latter must be enabled via the ``--backend`` switch, as Ninja is the
143 Meson only supports out-of-tree builds, and must be passed a directory
146 directory <https://mesonbuild.com/Using-multiple-build-directories.html>`__
151 .. code-block:: sh
162 .. code-block:: sh
169 `meson_options.txt <https://gitlab.freedesktop.org/mesa/mesa/-/blob/main/meson_options.txt>`__
174 to this command are in the form ``-D "option"="value"``. For example:
176 .. code-block:: sh
178 meson configure build/ -Dprefix=/tmp/install -Dglx=true
181 complicated <https://mesonbuild.com/Build-options.html#using-build-options>`__,
183 separate values (``-D platforms=drm,wayland``) and brackets to represent
184 an empty list (``-D platforms=[]``).
189 .. code-block:: sh
191 ninja -C build/
197 .. code-block:: sh
199 ninja -C build/ install
203 .. code-block:: sh
211 .. code-block:: sh
221 clang-cl, or ICL (the Intel Compiler), read on.
224 Meson with these it to open a shell. For clang-cl you will need to open
226 file <https://mesonbuild.com/Native-environments.html>`__, or with the
231 ``--backend=vs`` to Meson will generate a Visual Studio solution.
234 -----------------
243 than the system library directory. This can be done with the --prefix
246 .. code-block:: sh
248 meson --prefix="${PWD}/build/install" build/
262 Instead, it is recommended to use ``-D${lang}_args`` and
263 ``-D${lang}_link_args``. Among the benefits of these options is that
266 This example sets -fmax-errors for compiling C sources and -DMAGIC=123
269 .. code-block:: sh
271 meson setup builddir/ -Dc_args=-fmax-errors=10 -Dcpp_args=-DMAGIC=123
284 .. code-block:: sh
286 CC=clang CXX=clang++ meson setup build-clang
287 ninja -C build-clang
288 ninja -C build-clang clean
289 meson configure build -Dc_args="-Wno-typedef-redefinition"
290 ninja -C build-clang
294 `here <https://mesonbuild.com/Reference-tables.html#compiler-ids>`__.
299 Meson includes upstream logic to wrap llvm-config using its standard
304 :file:`libllvm.so`. There is also a ``-Dcmake_module_path`` option,
308 .. code-block:: sh
310 meson setup builddir -Dcmake_module_path=/home/user/mycmake/prefix
313 file" <https://mesonbuild.com/Native-environments.html>`__, these files
316 to find llvm-config:
318 .. code-block:: ini
319 :caption: custom-llvm.ini
322 llvm-config = '/usr/local/bin/llvm/llvm-config'
326 .. code-block:: sh
328 meson setup builddir/ --native-file custom-llvm.ini
330 For selecting llvm-config for cross compiling a `"cross
331 file" <https://mesonbuild.com/Cross-compilation.html#defining-the-environment>`__
334 .. code-block:: ini
335 :caption: cross-llvm.ini
339 llvm-config = '/usr/lib/llvm-config-32'
340 cmake = '/usr/bin/cmake-for-my-arch'
342 Obviously, only CMake or llvm-config is required.
346 .. code-block:: sh
348 meson setup builddir/ --cross-file cross-llvm.ini
350 See the :ref:`Cross Compilation <cross-compilation>` section for more
353 On Windows (and in other cases), using llvm-config or CMake may be
355 `wrap <https://mesonbuild.com/Wrap-dependency-system-manual.html>`__, in
358 - Install the binaries and headers into the
360 - Add a :file:`meson.build` file to that directory (more on that later)
364 - ``dep_llvm``: a ``declare_dependency()`` object with
369 - ``irbuilder_h``: a ``files()`` object pointing to llvm/IR/IRBuilder.h
370 - ``has_rtti``: a ``bool`` that declares whether LLVM was built with
422 The ``pkg-config`` utility is a hard requirement for configuring and
423 building Mesa on Unix-like systems. It is used to search for external
425 the search path for ``pkg-config``. For instance, setting
434 passed as --option=foo to :program:`meson`, but -Doption=foo to
436 -Doption=foo.
440 ``--buildtype/-Dbuildtype``
445 setting it to ``release`` will yield non-optimal performance and
454 ``-Db_ndebug``
460 .. _cross-compilation:
462 4. Cross-compilation and 32-bit builds
463 --------------------------------------
466 cross-compilation <https://mesonbuild.com/Cross-compilation.html>`__ by
468 this file to ``meson`` or ``meson configure`` with the ``--cross-file``
478 Those running on Arch Linux can use the AUR-maintained packages for some
481 - `meson-cross-x86-linux-gnu <https://aur.archlinux.org/packages/meson-cross-x86-linux-gnu>`__
482 - `meson-cross-aarch64-linux-gnu <https://github.com/dcbaker/archlinux-meson-cross-aarch64-linux-g…
484 32-bit build on x86 linux:
486 .. code-block:: ini
491 ar = '/usr/bin/gcc-ar'
493 pkg-config = '/usr/bin/pkg-config-32'
494 llvm-config = '/usr/bin/llvm-config32'
497 c_args = ['-m32']
498 c_link_args = ['-m32']
499 cpp_args = ['-m32']
500 cpp_link_args = ['-m32']
508 64-bit build on ARM linux:
510 .. code-block:: ini
513 c = '/usr/bin/aarch64-linux-gnu-gcc'
514 cpp = '/usr/bin/aarch64-linux-gnu-g++'
515 ar = '/usr/bin/aarch64-linux-gnu-gcc-ar'
516 strip = '/usr/bin/aarch64-linux-gnu-strip'
517 pkg-config = '/usr/bin/aarch64-linux-gnu-pkg-config'
518 exe_wrapper = '/usr/bin/qemu-aarch64-static'
526 64-bit build on x86 Windows:
528 .. code-block:: ini
531 c = '/usr/bin/x86_64-w64-mingw32-gcc'
532 cpp = '/usr/bin/x86_64-w64-mingw32-g++'
533 ar = '/usr/bin/x86_64-w64-mingw32-ar'
534 strip = '/usr/bin/x86_64-w64-mingw32-strip'
535 pkg-config = '/usr/bin/x86_64-w64-mingw32-pkg-config'