[Mesa-dev] [PATCH 0/3] Meson build system

Dylan Baker dylan at pnwbakers.com
Fri Jan 5 20:00:57 UTC 2018


This is a fifth iteration of the meson build system for libdrm. This
version is significantly cleaned up from the last version and uses a
style more like the build system in mesa.

It builds all of the drivers and tests, and the tests can be run via
`ninja test`.

It has support for being used as a wrapped dependency with ext_foo
variables (I have a branch of mesa that will build this code as a wrap,
which has also been useful for testing). This means it can be used to
build a mesa that requires a newer libdrm than the system provides
(which can be especially useful if you can't install packages on that
system), or to build libdrm support that your distro doesn't ship (like
arm only drivers on x86), cross compiling, and for testing.

This has been build tested and mesa has been compiled against it, but
only minimal functional testing has been done, since I only have i965
machines, and i965 only uses libdrm lightly.

Some reviewers of the previous versions have done some additional
testing.

Changes since v3:
  - Fix freedreno kgsl check
  - Fix kgls -> kgsl typo
  - standardize meson options to use only `-` and not `_`
  - fix typo radoen -> radeon
  - add help messages to options
  - fix typo in kms-universal-planes binary
  - build and install modetest (this was missed in the first version for
    some reason)
  - install amdgpu.ids as 644 instead of 444

Changes since v4:
  - Fix minor nits in options descriptions (Igor)
  - Fix editorconfig settings
  - Fix amdgpu.ids searh path
  - Style nits for Eric E.
  - Remove more tabs
  - Ensure that 1/0 defines are always defined, instead of only when
    their value is 1
  - Don't add header files into file lists. (Meson figures out header
    dependencies automatically using graphs that the compiler generates
    during compilation)
  - Don't assign file lists to variables when possible. In a few cases
    files need to be conditionally added, but if we're not in one of
    those cases just put the lists directly in the exectuable or library
    declaration.

Dylan Baker (3):
  Add meson build system
  autotools: Include meson.build files in tarball
  README: Add note about meson

 .editorconfig               |   4 +-
 Makefile.am                 |  30 ++-
 README                      |  24 +-
 amdgpu/.editorconfig        |   4 +-
 amdgpu/meson.build          |  65 +++++++-
 data/meson.build            |  27 +++-
 etnaviv/meson.build         |  59 ++++++-
 exynos/meson.build          |  53 +++++-
 freedreno/meson.build       |  76 ++++++++-
 intel/meson.build           | 105 +++++++++++-
 libkms/meson.build          |  74 ++++++++-
 man/meson.build             |  67 +++++++-
 meson.build                 | 364 +++++++++++++++++++++++++++++++++++++-
 meson_options.txt           | 143 +++++++++++++++-
 nouveau/meson.build         |  58 ++++++-
 omap/meson.build            |  53 +++++-
 radeon/meson.build          |  63 ++++++-
 tegra/meson.build           |  52 +++++-
 tests/amdgpu/meson.build    |  34 +++-
 tests/etnaviv/meson.build   |  45 +++++-
 tests/exynos/meson.build    |  54 +++++-
 tests/kms/meson.build       |  49 +++++-
 tests/kmstest/meson.build   |  30 +++-
 tests/meson.build           |  86 +++++++++-
 tests/modeprint/meson.build |  29 +++-
 tests/modetest/meson.build  |  29 +++-
 tests/nouveau/meson.build   |  30 +++-
 tests/proptest/meson.build  |  28 +++-
 tests/radeon/meson.build    |  27 +++-
 tests/tegra/meson.build     |  27 +++-
 tests/util/meson.build      |  28 +++-
 tests/vbltest/meson.build   |  28 +++-
 vc4/meson.build             |  28 +++-
 33 files changed, 1869 insertions(+), 4 deletions(-)
 create mode 100644 amdgpu/meson.build
 create mode 100644 data/meson.build
 create mode 100644 etnaviv/meson.build
 create mode 100644 exynos/meson.build
 create mode 100644 freedreno/meson.build
 create mode 100644 intel/meson.build
 create mode 100644 libkms/meson.build
 create mode 100644 man/meson.build
 create mode 100644 meson.build
 create mode 100644 meson_options.txt
 create mode 100644 nouveau/meson.build
 create mode 100644 omap/meson.build
 create mode 100644 radeon/meson.build
 create mode 100644 tegra/meson.build
 create mode 100644 tests/amdgpu/meson.build
 create mode 100644 tests/etnaviv/meson.build
 create mode 100644 tests/exynos/meson.build
 create mode 100644 tests/kms/meson.build
 create mode 100644 tests/kmstest/meson.build
 create mode 100644 tests/meson.build
 create mode 100644 tests/modeprint/meson.build
 create mode 100644 tests/modetest/meson.build
 create mode 100644 tests/nouveau/meson.build
 create mode 100644 tests/proptest/meson.build
 create mode 100644 tests/radeon/meson.build
 create mode 100644 tests/tegra/meson.build
 create mode 100644 tests/util/meson.build
 create mode 100644 tests/vbltest/meson.build
 create mode 100644 vc4/meson.build

base-commit: 831036a6f62005da9fb4a75fe043bd96ce672d27
-- 
git-series 0.9.1


More information about the mesa-dev mailing list