Contribute: Difference between revisions
No edit summary |
Carandraug (talk | contribs) (add content for contributing to Octave (instead of contribution rules for the wiki only)) |
||
Line 1: | Line 1: | ||
== Bug reports and patch submission == | |||
Bugs and patches should be submitted to Octave's | |||
[https://savannah.gnu.org/bug/?func=additem&group=octave bug] and | |||
[https://savannah.gnu.org/patch/?func=additem&group=octave patch] | |||
trackers respectively. | |||
The best way to contribute patches is to create a Mercurial changeset. | |||
See the [[Mercurial]] page for instructions. | |||
== Building from development sources == | |||
We general build instructions up to date in the source tree. Please | |||
clone using [[Mercurial]] or download it to see the README. | |||
Distribution specific instructions are kept on the wiki: | |||
* [[Building for Linux systems]] | |||
* [[Octave for Debian systems]] | |||
* [[Octave for Arch Linux]] | |||
* [[Building for Macintosh platform]] | |||
* [[Building on Cygwin platform]] | |||
* [[MXE]] build on Linux system | |||
== Coding style == | |||
Apart from C++ and Octave language (m-files), Octave's sources include | |||
files written in C, Fortran, M4, Perl, Unix shell, AWK, Texinfo, and | |||
@TeX{}. There are not many rules to follow when using these other | |||
languages; some of them are summarized below. In any case, the golden | |||
rule is: if you modify a source file, try to follow any conventions you | |||
can detect in the file or other similar files. | |||
=== C++ guide === | |||
See [[C++ style guide]]. | |||
=== Octave guide === | |||
See [[Octave style sguide]]]. | |||
=== Help text style === | |||
Octave's manual and functions help text is written in Texinfo. | |||
See [[Help text]]. | |||
=== C guide == | |||
For C, you should follow all [[C++ style guide|C++ rules]] that can apply. | |||
=== Fortran guide === | |||
If you modify a Fortran file, you should stay within Fortran 77 with | |||
common extensions like {{codeline|END DO}}. Currently, we want all sources to | |||
be compilable with the f2c and g77 compilers, without special flags if | |||
possible. This usually means that non-legacy compilers also accept the | |||
sources. | |||
=== M4 guide === | |||
The M4 macro language is mainly used for Autoconf configuration files. | |||
You should follow normal M4 rules when contributing to these files. | |||
Some M4 files come from external source, namely the | |||
[https://www.gnu.org/software/autoconf-archive/ Autoconf archive]. | |||
=== mediawiki guide === | |||
* Please try to fit a new page into the already existing category tree. | * Please try to fit a new page into the already existing category tree. | ||
* If you have to create a new category, choose the name and place wisely (try to stay close to Wikipedia's categorization scheme). | * If you have to create a new category, choose the name and place wisely (try to stay close to Wikipedia's categorization scheme). | ||
Line 4: | Line 71: | ||
* The one and only root category is [[:Category:Contents]]. All other categories have to point to it (over one or more subcategories). | * The one and only root category is [[:Category:Contents]]. All other categories have to point to it (over one or more subcategories). | ||
* Start a new page title with a capital letter, the rest is written in lower case (except for names, cities, etc.). | * Start a new page title with a capital letter, the rest is written in lower case (except for names, cities, etc.). | ||
Revision as of 16:32, 24 August 2016
Bug reports and patch submission
Bugs and patches should be submitted to Octave's bug and patch trackers respectively.
The best way to contribute patches is to create a Mercurial changeset. See the Mercurial page for instructions.
Building from development sources
We general build instructions up to date in the source tree. Please clone using Mercurial or download it to see the README.
Distribution specific instructions are kept on the wiki:
- Building for Linux systems
- Octave for Debian systems
- Octave for Arch Linux
- Building for Macintosh platform
- Building on Cygwin platform
- MXE build on Linux system
Coding style
Apart from C++ and Octave language (m-files), Octave's sources include files written in C, Fortran, M4, Perl, Unix shell, AWK, Texinfo, and @TeX{}. There are not many rules to follow when using these other languages; some of them are summarized below. In any case, the golden rule is: if you modify a source file, try to follow any conventions you can detect in the file or other similar files.
C++ guide
See C++ style guide.
Octave guide
See Octave style sguide].
Help text style
Octave's manual and functions help text is written in Texinfo. See Help text.
= C guide
For C, you should follow all C++ rules that can apply.
Fortran guide
If you modify a Fortran file, you should stay within Fortran 77 with
common extensions like END DO
. Currently, we want all sources to
be compilable with the f2c and g77 compilers, without special flags if
possible. This usually means that non-legacy compilers also accept the
sources.
M4 guide
The M4 macro language is mainly used for Autoconf configuration files. You should follow normal M4 rules when contributing to these files. Some M4 files come from external source, namely the Autoconf archive.
mediawiki guide
- Please try to fit a new page into the already existing category tree.
- If you have to create a new category, choose the name and place wisely (try to stay close to Wikipedia's categorization scheme).
- Instead of creating a new page and redirect it to another for link aliases, choose piped links instead. See here for more infos about piped links.
- The one and only root category is Category:Contents. All other categories have to point to it (over one or more subcategories).
- Start a new page title with a capital letter, the rest is written in lower case (except for names, cities, etc.).