[RFE] Consider tooling for easily spotting dependencies
- 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
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