summaryrefslogtreecommitdiffstats
path: root/src/meson.build
Commit message (Collapse)AuthorAgeFilesLines
* meson: Only require expat when building wayland-scannerMichael Weiss2021-04-021-1/+9
| | | | | | | | This code is only required for building wayland-scanner so it should be scoped accordingly. libxml-2.0 will only be required if both "scanner" and "dtd_validation" are set to true. Signed-off-by: Michael Weiss <dev.primeos@gmail.com>
* meson: link with -lrt if needed for clock_gettimeLoïc Yhuel2020-12-231-2/+3
| | | | | | This is already done in autotools, and fixes the build with glibc < 2.17. Signed-off-by: Loïc Yhuel <loic.yhuel@softathome.com>
* meson: Deduplicate generation of wayland-version.hMatt Turner2020-03-181-17/+8
| | | | Signed-off-by: Matt Turner <mattst88@gmail.com>
* meson: Add option to control building wayland-scannerMatt Turner2020-03-131-35/+50
| | | | | | | | | | | | | | | | | | | | | | | Wayland requires a binary, wayland-scanner, to be run during the build process. For any configuration other than native builds (including cross compiling and even 32-bit x86 builds on an x86-64 build machine) Wayland's build process builds and uses its own wayland-scanner. For any builds using a cross file, wayland-scanner is built for the host machine and therefore cannot be executed during the build of the Wayland libraries. Instead builds using a cross file must execute the build machine's wayland-scanner (typically /usr/bin/wayland-scanner). As such, to build Wayland's libraries for a non-native ABI a package manager must build and install /usr/bin/wayland-scanner first. But then the build for the native ABI then rebuilds wayland-scanner itself and doesn't use the system's, and worse, wants to install its own, which conflicts with the /usr/bin/wayland-scanner already installed! So, add the -Dscanner=... option to control whether to install wayland-scanner. Signed-off-by: Matt Turner <mattst88@gmail.com>
* meson: Require wayland-scanner of a matching versionMatt Turner2020-03-091-1/+1
| | | | | | | | | | | We have always built libwayland with the scanner from the same build so that the generated code and installed headers are exactly up-to-date with the libwayland version. If libwayland was to use a scanner later than itself, the scanner might do things that are not available in the libwayland at hand, leading to a broken build or a broken library (headers). Signed-off-by: Matt Turner <mattst88@gmail.com>
* build: check wayland-scanner versionSimon Ser2020-01-161-1/+1
| | | | | | We need the --strict flag, released in wayland 1.14.0. Signed-off-by: Simon Ser <contact@emersion.fr>
* meson: use strict wayland-scanner modeSimon Ser2020-01-151-2/+2
| | | | | | | Otherwise an invalid protocol will print warnings to stdout but won't make the build fail. Signed-off-by: Simon Ser <contact@emersion.fr>
* Revert "build: check wayland-scanner version"Simon Ser2020-01-131-1/+1
| | | | | | This reverts commit c2ce50b9d7bd470c2fe8faa4b0d996fca0fcbbaa. Pushed by mistake. Sorry about that.
* build: check wayland-scanner versionSimon Ser2020-01-131-1/+1
| | | | | | We need the --strict flag, released in wayland 1.14.0. Signed-off-by: Simon Ser <contact@emersion.fr>
* Add Meson buildEmmanuele Bassi2020-01-101-0/+228
Meson is a next generation build system, simpler than Autotools and also faster and more portable. Most importantly, it will make integrating ASan easier in CI. The goal is to maintain feature parity of the Meson build with the Autotools build, until such time when we can drop the latter. Add a script which generates the desired Doxygen configuration for our various output formats and executes it using that configuration. This is not something Meson can or should do. Fixes: https://gitlab.freedesktop.org/wayland/wayland/issues/80 [daniels: Changed to bump version, use GitLab issues URL, remove header checks not used in any code, remove pre-pkg-config Expat support, added missing include paths to wayland-egl and cpp-compile-test, added GitLab CI. Bumped version, removed unnecessary pkg-config paths.] [daniels: Properly install into mandir/man3 via some gross paramaterisation, generate real stamp files.] Pekka: - squashed patches - removed MAKEFLAGS from meson CI - remove unused PACKAGE* defines - fix up scanner dependency handling - instead of host_scanner option, build wayland-scanner twice when cross-compiling - changed .pc files to match more closely the autotools versions - reorder doxygen man sources to reduce diff to autotools - fix pkgconfig.generate syntax warnings (new in Meson) - bump meson version to 0.47 for configure_file(copy) and run_command(check) - move doc tool checks into doc/meson.build, needed in more places - make all doc tools mandatory if building docs - check dot and doxygen versions - add build files under doc/publican - reindent to match Weston Meson style Simon: - Remove install arg from configure_file - Don't build wayland-scanner twice during cross-build - Fix naming of the threads dependency - Store tests in dict - Add missing HAVE_* decls for functions - Remove unused cc_native variable - Make doxygen targets a dict - Make dot_gv a dict - Use dicts in man_pages - Make decls use dicts - Make generated_headers use dicts - Align Meson version number with autotool's Signed-off-by: Pekka Paalanen <pekka.paalanen@collabora.com> Signed-off-by: Simon Ser <contact@emersion.fr>