661
edits
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.). | ||