contributing.txt 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. Contributing to the Meson build system
  2. There are two simple ways to submit your patches. The preferred way is to
  3. send a github pull request. You can also send patches as emails to the Meson
  4. mailing list. Remember to add your name to the list of contributors
  5. in authors.txt.
  6. Python Coding style
  7. Meson follows the basic Python coding style. Additional rules are the
  8. following:
  9. - indent 4 spaces, no tabs ever
  10. - indent meson.build files with two spaces
  11. - try to keep the code as simple as possible
  12. - contact the mailing list before embarking on large scale projects
  13. to avoid wasted effort
  14. - all new features must come with a test (or several if it is
  15. a big feature)
  16. C/C++ coding style
  17. Meson has a bunch of test code in several languages. The rules for
  18. those are simple.
  19. - indent 4 spaces, no tabs ever
  20. - brace always on the same line as if/for/else/function definition
  21. External dependencies
  22. The goal of Meson is to be as easily usable as possible. The user
  23. experience thould be "get Python3 and Ninja, run", even on
  24. Windows. Unfortunately this means that we can't have dependencies on
  25. projects outside of Python's standard library. This applies only to
  26. core functionality, though. For additional helper programs etc the use
  27. of external dependencies may be ok. If you feel that you are dealing
  28. with this kind of case, please raise the issue on the mailing list
  29. first.
  30. What not to contribute?
  31. There are a few things that people seem to want to add to Meson but which
  32. are not there by design and will not be added either.
  33. The first one is defining your own functions or a generalised for loop.
  34. These are bad because they would make Meson's DSL Turing complete. The
  35. second feature is a Make backend.
  36. The FAQ has specific information why these two features will not be
  37. added to Meson: https://github.com/mesonbuild/meson/wiki/FAQ
  38. Merge requests adding either of these two features will be automatically
  39. rejected. Please save everyone's time (especially your own) and don't start
  40. working on these features.
  41. Do I need to sign a CLA?
  42. No. All contributions are welcome.