Internships/ProjectIdeas/Meson style checker: Difference between revisions
m (Add meson category) |
|||
Line 20: | Line 20: | ||
* Mentor: Paolo Bonzini <pbonzini@redhat.com> | * Mentor: Paolo Bonzini <pbonzini@redhat.com> | ||
** IRC nick: pbonzini (OFTC). I am usually reachable here between 10AM CET and 6PM CET, Monday-Friday. | ** IRC nick: pbonzini (OFTC). I am usually reachable here between 10AM CET and 6PM CET, Monday-Friday. | ||
[[Category:Meson]] |
Latest revision as of 06:47, 14 June 2024
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.
Details:
- Skill level: Intermediate
- Language: Python 3.6
- Topic/Skill areas: compilation techniques, Meson build system
- Mentor: Paolo Bonzini <pbonzini@redhat.com>
- IRC nick: pbonzini (OFTC). I am usually reachable here between 10AM CET and 6PM CET, Monday-Friday.