Category:Development: Difference between revisions

From Octave
Jump to navigation Jump to search
(Merge list from main page.)
m (Added a link to a new page)
(22 intermediate revisions by one other user not shown)
Line 1: Line 1:
This page contains links to pages of interest to developers.
:''This page contains links to pages of interest to Octave developers.''
 
* [[5.0.0 Release Checklist]]
** [[Bug Fix List - 5.0 Release]]
* [[Contribution guidelines]]
* [[Doxygen]] - Internal C++ code documentation.
* [[International Characters Support]] - Using Octave in your own language.
* [[:Category:Editors|Editors]] - A list of editors supporting Octave syntax highlighting.
* [[:Category:Building|Building]] - All pages related to build Octave.
** [[Building]] - General information.
** [[Continuous Build]]
** [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Large array support]]
* [[Tests|Testing source code]]
* [[:Category:Packaging|Packaging]] - Building binary distributions.
** [[Create a MacOS X App Bundle Using MacPorts|Create a macOS app using MacPorts]]
** [[Windows_Installer|Create a Windows Installer using MXE]]


== Getting started ==
== Getting started ==
* [[Developer FAQ]]
* [[Developer FAQ]] -- Start here.
* [[Contribution guidelines]] for Octave
* [[Contribution guidelines]] for Octave
** [[C++ style guide]]
** [[C++ style guide]]
** [[Octave style guide]]
** [[Octave style guide]]
* [[Contributing to the development of packages/modules]]
** [[Help text style guide]]
* [[Octave's file types]]
 
== Octave development ==
 
=== [[:Category:Building|Building]] ===


== [[:Category:Project_Ideas|Project ideas]] and work in progess ==
* [[Building]] -- General information how to build Octave from source.
* [[Easy projects]]
** [[Building on Microsoft Windows]]
* [[GSoC Project Ideas]]
** [[Building on Ubuntu Virtual Machine]]
* [[Projects]] -- Many things that would be nice to have done. Not classified into things done or not done in Matlab. (Is that a project in itself?)
* [[Continuous Build]] -- Check changes with [https://buildbot.net/ Buildbot].
** [[Classdef]]
* [[MXE]] -- Cross-compiling to MS Windows.
** [[Java interface]]
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Large array support]] --
** [[JIT]]
** [[GUI terminal widget]] -- Ideas about a new improved terminal widget.


== Tools & techniques ==
==== Tools ====


* [[Mercurial]] -- Version control scheme.
* [[Mercurial]] -- How to use Octave's version control scheme, creating patches (changesets).
* [[MXE]] -- Cross-compiling to Windows.
* [[Doxygen]] -- Documentation for C++ files
* gdb -- debugger.  Useful to obtain stack traces.
* [https://ccache.samba.org/ ccache] -- How to faster compile Octave.
** [[Debugging Octave]] -- particularly .oct files using gdb.
* [[:Category:Editors|Editors]] -- A list of editors supporting Octave syntax highlighting.
* valgrind -- memory leak detector, profiler etc.
** [[Finding Memory Leaks]]
* [https://ccache.samba.org/ ccache] -- cache compilation across builds.


== Documentation ==
=== [[:Category:Testing|Testing]] ===
* [[Help_text|Help text]] -- Document m-files
* [[Doxygen]] -- Document C++ files


== [[:Category:Testing|Testing]] ==
* [[Tests]]
* [[Tests]]
* [[BIST for m-files]]
* [[BIST for m-files]]
* [[Add BIST tests for octave functions written in C++|BIST for C++ files]]
* [[Add BIST tests for octave functions written in C++|BIST for C++ files]]


== Code sprints ==
=== Debugging ===
* [[2015 Code Sprint]]
 
* [[Code sprint Zurich]]
* [[Debugging Octave]] -- How to use [https://www.gnu.org/software/gdb/ gdb] to obtain stack traces.
* [[Finding Memory Leaks]] -- How to use [https://www.valgrind.org/ valgrind].
 
=== [[:Category:Releases|Releasing]] ===
 
* The next release will be '''GNU Octave 6.1'''. See the '''[[6.1 Release Checklist]]''' for more information.
* [[:Category:Releases|Older releases]]
 
== [[:Category:Project_Ideas|Project ideas]] and work in progess ==
* [[Short projects]] -- Good starting point to get into the Octave development.
* [[Summer of Code Project Ideas]] -- Ideas page for GSoC, SOCIS, ... projects.
* [[Projects]] -- Many things that would be nice to have done.
** [[Classdef]] -- Define own data types using <code>classdef</code>.
** [[JIT]] -- Just in time compiler for Octave.
** [[GUI terminal widget]] -- Ideas about a new improved terminal widget.
** [[International Characters Support]] -- Using Octave in your own language.
** [[Pythonic]] -- Calling Python functions directly from Octave.
 
== Meetings ==


== [[:Category:Releases|Release procedures]] ==
* Read about past [[:Category:Meetings | developer meetings]].
* [[Release Checklist]]


== Other ==
== Other ==
* [[Project Infrastructure]]
* [[Project Infrastructure]]
* [[Status of bugs]] (outdated)


[[Category:Contents]]
[[Category:Contents]]

Revision as of 20:02, 29 August 2020

This page contains links to pages of interest to Octave developers.

Getting started

Octave development

Building

Tools

  • Mercurial -- How to use Octave's version control scheme, creating patches (changesets).
  • Doxygen -- Documentation for C++ files
  • ccache -- How to faster compile Octave.
  • Editors -- A list of editors supporting Octave syntax highlighting.

Testing

Debugging

Releasing

Project ideas and work in progess

Meetings

Other