mesonbuild / mesonbuild/meson

[RFE] Consider tooling for easily spotting dependencies

Open
#9,541 8 comments 0 reactions 0 assignees View on GitHub
Dominant language
Python
Stars
6.6k
Forks
1.9k
Avg merge
2d 6h
Merged PRs (30d)
33

Description

When meson brought a separate `meson_options.txt` it made things a lot easier for packagers to see what options are available, and we really have to thank you for that!

On the other hand, wrt system dependencies, it's another story, as we enter the same tragic (for packagers!) scenario as with CMake. Basically, people end up with a ton of `meson.build` files across their project hierarchy and each one of those can list new dependencies.

Autotools were very far from perfect, and meson is a very nice improvement over them, but the one thing they (nearly) got right was this: apart from a few exceptions (looking at you, custom m4 macros), all the dependencies were listed in one file.

Having something like `meson_dependencies.txt` for this, or a tool such as `meson packaging-report` which would list the dependencies and their conditions (e.g. "only when option foo is enabled") would be really nice, and a "never seen before" feature that would make meson *the best* build tool for packagers too, when it seem to already be the one for developers.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the existing meson_options.txt and scattered meson.build files, then compare how dependency conditions are represented. The issue proposes either meson_dependencies.txt or a meson packaging-report entry point; a complete change would require a decided design, defined dependency and condition output, and tests for the result.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.