aboutsummaryrefslogtreecommitdiffstats
path: root/doc/contribute.rst
diff options
context:
space:
mode:
Diffstat (limited to 'doc/contribute.rst')
-rw-r--r--doc/contribute.rst70
1 files changed, 32 insertions, 38 deletions
diff --git a/doc/contribute.rst b/doc/contribute.rst
index 127f92fca..8c39b1d37 100644
--- a/doc/contribute.rst
+++ b/doc/contribute.rst
@@ -11,9 +11,10 @@
Contributing
############
-The first step might be to use GHDL and explore its possibilities in your own project. If you are new to VHDL, see the
-:ref:`USING:QuickStart` for an introduction. Furthermore, we encourage you to read :ref:`USING:Invoking`, where the most
-commonly used options are explained. You can also check the complete :ref:`REF:Command`.
+As in many other free and open source projects, there are many areas requiring different skills where contributions to GHDL
+are welcome. The first step might be to use GHDL and explore its possibilities in your own project. If you are new to VHDL,
+see the :ref:`USING:QuickStart:Simulation` for an introduction. Furthermore, we encourage you to read :ref:`USING:Invoking`,
+where the most commonly used options are explained. You can also check the complete :ref:`REF:Command`.
If you are more familiar with GHDL, you might start asking yourself how it works internally. If so, you might find
:ref:`Implementation of VHDL <REF:ImplVHDL>` and :ref:`Implementation of VITAL <REF:ImplVITAL>` interesting.
@@ -23,37 +24,32 @@ not covered. In order to improve GHDL, we welcome bug reports, suggestions, and
GHDL. Whether it's a bug or an enhancement, have a look at the |SHIELD:issues-open| and |SHIELD:issues-closed| to see
if someone already told us about it. You might find a solution there.
-Ideas for future work, enhancements, documentation, and internship programs are shown in the `GitHub wiki <https://github.com/ghdl/ghdl/wiki>`_.
+Ideas for future work, enhancements, documentation, and internship programs are shown in the `GitHub wiki <https://github.com/ghdl/ghdl/wiki>`__.
If you found no information on your topic, please, report so that we are aware! You can reach us through various ways:
|SHIELD:gitter| or open a |SHIELD:issues-new|.
.. HINT::
- Since the development of GHDL started in 2002, multiple platforms have been used as a support for both distribution
- and getting feedback. However, the development is now centralized in GitHub.
-
-.. TIP::
- `How To Ask Questions The Smart Way <www.catb.org/~esr/faqs/smart-questions.html>`_
+ * Since the development of GHDL started in 2002, multiple platforms have been used as a support for both distribution
+ and getting feedback. However, the development is now centralized in `github.com/ghdl <https://github.com/ghdl>`__.
+ * `How To Ask Questions The Smart Way <www.catb.org/~esr/faqs/smart-questions.html>`_
.. _reporting_bugs:
Reporting bugs
==============
-.. TIP::
- * If the compiler crashes, this is a bug. Reliable tools never crash.
- * If the compiler emits an error message for a perfectly valid input or does not emit an error message for an invalid
- input, this may be a bug.
- * If the executable created from your VHDL sources crashes, this may be a bug at runtime or the code itself may be
- wrong. Since VHDL has a notion of pointers, an erroneous VHDL program (using invalid pointers for example) may crash.
- * If a compiler message is not clear enough, please tell us. The error messages can be improved, but we do not have
- enough experience with them.
+* If the compiler crashes, this is a bug. Reliable tools never crash.
+* If the compiler emits an error message for a perfectly valid input or does not emit an error message for an invalid
+ input, this may be a bug.
+* If the executable created from your VHDL sources crashes, this may be a bug at runtime or the code itself may be
+ wrong. Since VHDL has a notion of pointers, an erroneous VHDL program (using invalid pointers for example) may crash.
+* If a compiler message is not clear enough, please tell us. The error messages can be improved, but we do not have
+ enough experience with them.
+* It is suggested to test synthesis features with :option:`--synth`, before processing the design with :ref:`Synth:plugin`.
-.. TIP::
- It is suggested to test synthesis features with :option:`--synth`, before processing the design with :ref:`Synth:plugin`.
-
-Please, report issues of this kind through |SHIELD:bug-report|, as this allows us to categorize issues into groups and
-to assign developers to them. You can track the issue’s state and see how it’s getting solved.
+Please, report issues through |SHIELD:bug-report|, as this allows us to categorize issues into groups and to assign developers
+to them. You can track the state and see how it's getting solved.
.. IMPORTANT::
As suggested in the bug report template, please elaborate a `Minimal (non) Working Example` (`MWE <https://en.wikipedia.org/wiki/Minimal_Working_Example>`_)
@@ -64,16 +60,13 @@ to assign developers to them. You can track the issue’s state and see how itâ€
Also, please include enough information in the bug report, for the maintainers to reproduce the problem. The template
includes:
- * Operating system and version of GHDL (you can get it with :samp:`ghdl --version`).
+ * Operating system and version of GHDL (you can get it with :samp:`ghdl version` and :samp:`ghdl hash`).
* Whether you have built GHDL from sources (provide short SHA of the used commit) or used the binary distribution
- (note which release/tag).
-
- * If you cannot compile, please report which compiler you are using and the version.
-
- * Content of the input files which comprise the MWE
+ (note which release/tag); if you cannot compile, please report which compiler you are using and the version.
+ * Content of the input files which comprise the MWE.
* Description of the problem:
- * Comment explaining whether the MWE should compile or not; if yes, whether or not is should run until the assertion.
+ * Comment explaining whether the MWE should compile or not; if yes, whether it should run until the assertion.
* What you expect to happen and what you actually get. If you know the LRM well enough, please specify which paragraph
might not be implemented well.
* Samples of any log.
@@ -81,7 +74,7 @@ to assign developers to them. You can track the issue’s state and see how itâ€
.. NOTE::
If you don't know the LRM, be aware that an issue claimed as a bug report may be rejected because there is no bug
- according to it. GHDL aims at implementing VHDL as defined in `IEEE 1076 <http://ieeexplore.ieee.org/document/4772740/>`_.
+ according to it. GHDL aims at implementing VHDL as defined in `IEEE 1076 <http://ieeexplore.ieee.org/document/4772740/>`__.
However, some other tools allow constructs which do not fully follow the standard revisions. Therefore, comparisons
with other VHDL variants is not a solid argument. Some of them are supported by GHDL (see :ref:`IEEE_library_pitfalls`),
but any such enhancement will have very low priority.
@@ -94,8 +87,8 @@ Requesting enhancements
|SHIELD:feature-request| |SHIELD:gitter|
All enhancements and feature requests are welcome. Please `open a new issue <https://github.com/ghdl/ghdl/issues/new>`_
-to report any, so you can track the request's status and implementation. Depending on the complexity of the request,
-you may want to `chat on Gitter <https://gitter.im/ghdl/ghdl1>`_, to polish it before opening an issue.
+to report any, so you can track the status and implementation. Depending on the complexity of the request,
+you may want to `chat on Gitter <https://gitter.im/ghdl/ghdl1>`_, for polishing it before opening an issue.
Improving the documentation
===========================
@@ -104,8 +97,9 @@ If you found a mistake in the documentation, please send a comment. If you didn'
please tell us. English is not our mother tongue, so this documentation may not be well-written.
Likewise, rewriting part of the documentation or missing content (such as examples) is a good way to improve it. Since
-it automatically is built from `reStructuredText` and `Markdown` sources, you can fork, modify and request the
-maintainers to pull your copy. See :ref:`pull_request`.
+it is built automatically from `reStructuredText`, you can fork, modify and push. The documentation will be shown
+in the GitHub Pages site of your fork: ``https://USERNAME.github.io/ghdl``. When you are done, request the maintainers
+to pull your copy. See :ref:`pull_request`.
.. _pull_request:
@@ -119,16 +113,16 @@ Fork, modify and pull-request
* See section :ref:`BUILD:dir_structure` to faster find the location of the sources you need to modify, and/or to know
where to place new ones.
-Contributing source code/documentation via `Git <https://git-scm.com/>`_ is very easy. Although we don't provide direct
+Contributing source code/documentation is done through `git <https://git-scm.com/>`__. Although we don't provide direct
write access to our repositories, the project is hosted at GitHub, which follows a fork, edit and pull-request
-`flow <https://help.github.com/articles/github-flow/>`_ . That is:
+`flow <https://help.github.com/articles/github-flow/>`__ . That is:
1. Make a copy (`fork <https://help.github.com/articles/fork-a-repo/>`_) of the project.
2. Do the changes you wish (edit, add, rename, move and/or delete).
-3. When you think that the changes are ready to be merged, notify the maintainers by opening a `Pull Request <https://help.github.com/articles/creating-a-pull-request/>`_ (PR).
+3. When you think that the changes are ready to be merged, notify the maintainers by opening a `Pull Request <https://help.github.com/articles/creating-a-pull-request/>`__ (PR).
4. The maintainers will review the proposed changes and will reply in the corresponding thread if any further modification
is required. If so, you can keep adding commits to the same branch, and the PR will be automatically updated.
-5. Last, the maintainers will merge your branch. You will be notified, the PR will be closed, and you'll be allowed to
+5. Last, maintainers will merge your branch. You will be notified, the PR will be closed, and you'll be allowed to
delete the branch, if you want.
.. TIP::