Internships/ProjectIdeas/Meson style checker
Style checker for Meson
Summary: Write a style checker for QEMU's Meson-based build system
QEMU is a complex program with a complex build system. The switch to Meson made it possible to access a pre-parsed representation of the build process. We would like to style-check Meson files for occurrences of possible issues:
- dependencies searched with a method other than "pkg-config" or "system"
- dependencies lacking "kwargs: static_kwargs"
- static libraries lacking "build_by_default: false"
- variables not defined on all paths (Meson accepts undefined variables on the RHS of short-circuiting boolean operators)
- always-true or always-false conditions
The Meson language is not Turing complete and does not have functions, hence the Meson files have a very simple control-flow graph; complicated dataflow analysis techniques are not necessary. However it is useful to know the basics of what is a CFG and how dataflow analysis works.
- Skill level: Intermediate
- Language: Python 3.6
- Topic/Skill areas: compilation techniques, Meson build system
- Mentor: Paolo Bonzini <firstname.lastname@example.org>
- IRC nick: pbonzini (OFTC). I am usually reachable here between 10AM CET and 6PM CET, Monday-Friday.