Skip to content

Latest commit

 

History

History
87 lines (78 loc) · 2.99 KB

presentation.md

File metadata and controls

87 lines (78 loc) · 2.99 KB

Meson Presentation

See https://mesonbuild.com/Comparisons.html

Meson

Pros

Cons

  • Relatively new
  • Does not yet have a very large user base
  • Unfamiliar to the team; yet another thing to learn
  • Because of active development, meson OS packages are old
  • Requires python3, pip3, and installing meson via pip3
  • Slightly different command line syntax to build and configure a project
  • Mainly developed by one guy, with only a small supplementary development team
    • If that guy disappears, then there could be a support problem
  • Because of active development, feature set is changing
  • Linux distros know the Autotools workflow well; they may not know or want to know how to use Meson

Autotools

Pros

  • Stable
  • De facto standard - Used by many people
  • Well-known by a lot of people
  • Understood(?) by our team
  • Can do everything

Cons

  • Difficult to understand
    • Harder to maintain build scripts
    • Easier to introduce bugs and errors
    • Harder to track down build/link bugs
  • Slower
    • Reduces programmer productivity waiting for builds
  • More verbose
  • Relies on shell scripts and Make
  • Possibly not as portable

Conclusion

  • I believe that moving to Meson will reduce our technical debt.
  • It will save debugging time when we have issues figuring out random linking errors.
  • It will also save developer time with the faster build times.
  • Maintaining and editing the build scripts will also be easier and less error-prone.

My recommendation is to give it a try alongside autotools until it proves to be stable. If needed, we can even do separate meson_ branches, so it's isolated.