GettingInvolved.rst 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. Getting Involved
  2. ================
  3. LLVM welcomes contributions of all kinds. To get started, please review the following topics:
  4. .. contents::
  5. :local:
  6. .. toctree::
  7. :hidden:
  8. Contributing
  9. DeveloperPolicy
  10. SphinxQuickstartTemplate
  11. Phabricator
  12. HowToSubmitABug
  13. BugLifeCycle
  14. CodingStandards
  15. :doc:`Contributing`
  16. An overview on how to contribute to LLVM.
  17. :doc:`DeveloperPolicy`
  18. The LLVM project's policy towards developers and their contributions.
  19. :doc:`SphinxQuickstartTemplate`
  20. A template + tutorial for writing new Sphinx documentation. It is meant
  21. to be read in source form.
  22. :doc:`Phabricator`
  23. Describes how to use the Phabricator code review tool hosted on
  24. http://reviews.llvm.org/ and its command line interface, Arcanist.
  25. :doc:`HowToSubmitABug`
  26. Instructions for properly submitting information about any bugs you run into
  27. in the LLVM system.
  28. :doc:`BugLifeCycle`
  29. Describes how bugs are reported, triaged and closed.
  30. :doc:`CodingStandards`
  31. Details the LLVM coding standards and provides useful information on writing
  32. efficient C++ code.
  33. .. _development-process:
  34. Development Process
  35. -------------------
  36. Information about LLVM's development process.
  37. .. toctree::
  38. :hidden:
  39. Projects
  40. LLVMBuild
  41. HowToReleaseLLVM
  42. Packaging
  43. ReleaseProcess
  44. HowToAddABuilder
  45. ReleaseNotes
  46. :doc:`Projects`
  47. How-to guide and templates for new projects that *use* the LLVM
  48. infrastructure. The templates (directory organization, Makefiles, and test
  49. tree) allow the project code to be located outside (or inside) the ``llvm/``
  50. tree, while using LLVM header files and libraries.
  51. :doc:`LLVMBuild`
  52. Describes the LLVMBuild organization and files used by LLVM to specify
  53. component descriptions.
  54. :doc:`HowToReleaseLLVM`
  55. This is a guide to preparing LLVM releases. Most developers can ignore it.
  56. :doc:`ReleaseProcess`
  57. This is a guide to validate a new release, during the release process. Most developers can ignore it.
  58. :doc:`HowToAddABuilder`
  59. Instructions for adding new builder to LLVM buildbot master.
  60. :doc:`Packaging`
  61. Advice on packaging LLVM into a distribution.
  62. :doc:`Release notes for the current release <ReleaseNotes>`
  63. This describes new features, known bugs, and other limitations.
  64. .. _mailing-lists:
  65. Mailing Lists
  66. -------------
  67. If you can't find what you need in these docs, try consulting the mailing
  68. lists.
  69. `Developer's List (llvm-dev)`__
  70. This list is for people who want to be included in technical discussions of
  71. LLVM. People post to this list when they have questions about writing code
  72. for or using the LLVM tools. It is relatively low volume.
  73. .. __: http://lists.llvm.org/mailman/listinfo/llvm-dev
  74. `Commits Archive (llvm-commits)`__
  75. This list contains all commit messages that are made when LLVM developers
  76. commit code changes to the repository. It also serves as a forum for
  77. patch review (i.e. send patches here). It is useful for those who want to
  78. stay on the bleeding edge of LLVM development. This list is very high
  79. volume.
  80. .. __: http://lists.llvm.org/pipermail/llvm-commits/
  81. `Bugs & Patches Archive (llvm-bugs)`__
  82. This list gets emailed every time a bug is opened and closed. It is
  83. higher volume than the LLVM-dev list.
  84. .. __: http://lists.llvm.org/pipermail/llvm-bugs/
  85. `Test Results Archive (llvm-testresults)`__
  86. A message is automatically sent to this list by every active nightly tester
  87. when it completes. As such, this list gets email several times each day,
  88. making it a high volume list.
  89. .. __: http://lists.llvm.org/pipermail/llvm-testresults/
  90. `LLVM Announcements List (llvm-announce)`__
  91. This is a low volume list that provides important announcements regarding
  92. LLVM. It gets email about once a month.
  93. .. __: http://lists.llvm.org/mailman/listinfo/llvm-announce
  94. IRC
  95. ---
  96. Users and developers of the LLVM project (including subprojects such as Clang)
  97. can be found in #llvm on `irc.oftc.net <irc://irc.oftc.net/llvm>`_.
  98. This channel has several bots.
  99. * Buildbot reporters
  100. * llvmbb - Bot for the main LLVM buildbot master.
  101. http://lab.llvm.org:8011/console
  102. * smooshlab - Apple's internal buildbot master.
  103. * robot - Bugzilla linker. %bug <number>
  104. * clang-bot - A `geordi <http://www.eelis.net/geordi/>`_ instance running
  105. near-trunk clang instead of gcc.
  106. .. _meetups-social-events:
  107. Meetups and social events
  108. -------------------------
  109. .. toctree::
  110. :hidden:
  111. MeetupGuidelines
  112. Besides developer `meetings and conferences <https://llvm.org/devmtg/>`_,
  113. there are several user groups called
  114. `LLVM Socials <https://www.meetup.com/pro/llvm/>`_. We greatly encourage you to
  115. join one in your city. Or start a new one if there is none:
  116. :doc:`MeetupGuidelines`
  117. .. _community-proposals:
  118. Community wide proposals
  119. ------------------------
  120. Proposals for massive changes in how the community behaves and how the work flow
  121. can be better.
  122. .. toctree::
  123. :hidden:
  124. CodeOfConduct
  125. Proposals/GitHubMove
  126. BugpointRedesign
  127. Proposals/LLVMLibC
  128. Proposals/TestSuite
  129. Proposals/VariableNames
  130. Proposals/VectorizationPlan
  131. :doc:`CodeOfConduct`
  132. Proposal to adopt a code of conduct on the LLVM social spaces (lists, events,
  133. IRC, etc).
  134. :doc:`Proposals/GitHubMove`
  135. Proposal to move from SVN/Git to GitHub.
  136. :doc:`BugpointRedesign`
  137. Design doc for a redesign of the Bugpoint tool.
  138. :doc:`Proposals/LLVMLibC`
  139. Proposal to add a libc implementation under the LLVM project.
  140. :doc:`Proposals/TestSuite`
  141. Proposals for additional benchmarks/programs for llvm's test-suite.
  142. :doc:`Proposals/VariableNames`
  143. Proposal to change the variable names coding standard.
  144. :doc:`Proposals/VectorizationPlan`
  145. Proposal to model the process and upgrade the infrastructure of LLVM's Loop Vectorizer.