Editing Contribute
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
== Bug reports and patch submission == | == 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 == | ||
Up to date build instructions are available from | |||
[https://hg.savannah.gnu.org/hgweb/octave/file/tip/etc/HACKING.md etc/HACKING.md] | |||
in Octave's [[Mercurial]] development repository. | |||
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 == | == Coding style == | ||
Line 27: | Line 28: | ||
Apart from C++ and Octave language (m-files), Octave's sources include | Apart from C++ and Octave language (m-files), Octave's sources include | ||
files written in C, Fortran, M4, Perl, Unix shell, AWK, Texinfo, and | files written in C, Fortran, M4, Perl, Unix shell, AWK, Texinfo, and | ||
TeX. There are not many rules to follow when using these other | @TeX{}. There are not many rules to follow when using these other | ||
languages; some of them are summarized below. In any case, the golden | 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 | rule is: if you modify a source file, try to follow any conventions you | ||
Line 34: | Line 35: | ||
=== C/C++ guide === | === C/C++ guide === | ||
See [[C++ style guide]]. For C, you should follow all C++ rules that can apply. | |||
=== Octave guide === | === Octave guide === | ||
See [[Octave style guide]]. | |||
=== Help text style === | === Help text style === | ||
Octave's manual and functions help text is written in Texinfo. | |||
See [[Help text]]. | |||
=== Fortran guide === | === Fortran guide === | ||
If you modify a Fortran file, you should stay within Fortran 77 with | If you modify a Fortran file, you should stay within Fortran 77 with | ||
common extensions like {{codeline|END DO}}. Currently, we want | common extensions like {{codeline|END DO}}. Currently, we want all sources to | ||
be compilable with the f2c and g77 compilers, without special flags if | |||
special flags if possible. This usually means that non-legacy compilers | possible. This usually means that non-legacy compilers also accept the | ||
also accept the sources. | sources. | ||
=== M4 guide === | === M4 guide === | ||
Line 59: | Line 61: | ||
[https://www.gnu.org/software/autoconf-archive/ Autoconf archive]. | [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. |