Category:Development: Difference between revisions

From Octave
Jump to navigation Jump to search
No edit summary
m (→‎Release process: Style fix to find the link easier.)
(21 intermediate revisions by the same user not shown)
Line 1: Line 1:
This pages serves as a collecting point for all issues related to the development of Octave.
This page contains links to pages of interest to developers.


The future development of Octave is planned on the [[Roadmap]] page.
== Getting started ==
* [[Developer FAQ]]
* [[Contribution guidelines]] for Octave
** [[C++ style guide]]
** [[Octave style guide]]


On the page [[Projects]] possible tasks are listed for future Octave developers.  
== [[:Category:Releases|Release]] process ==
 
{{Note|The '''GNU Octave 6.1''' release process has been started.<br>See the '''[[6.1 Release Checklist]]''' for more information.}}
 
* [[Release Checklist|Release Checklist template]]
* [[: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.
 
== Tools & techniques ==
 
* [[Mercurial]] -- Version control scheme.
* [[MXE]] -- Cross-compiling to Windows.
* gdb -- debugger.  Useful to obtain stack traces.
** [[Debugging Octave]] -- particularly .oct files using gdb.
* valgrind -- memory leak detector, profiler etc.
** [[Finding Memory Leaks]]
* [https://ccache.samba.org/ ccache] -- cache compilation across builds.
* [[:Category:Editors|Editors]] -- A list of editors supporting Octave syntax highlighting.
 
== Documentation ==
* [[Help text]] -- Document m-files
* [[Doxygen]] -- Document C++ files
 
== [[:Category:Building|Building]] ==
* [[Building]] -- General information how to build Octave from source.
* [[Continuous Build]]
* [[Enable large arrays: Build octave such that it can use arrays larger than 2Gb.|Large array support]]
 
== [[:Category:Testing|Testing]] ==
* [[Tests]]
* [[BIST for m-files]]
* [[Add BIST tests for octave functions written in C++|BIST for C++ files]]
 
== [[: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]]
 
== Code sprints ==
* [[2015 Code Sprint]]
* [[Code sprint Zurich]]
 
== Other ==
* [[Project Infrastructure]]


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

Revision as of 13:06, 15 December 2019

This page contains links to pages of interest to developers.

Getting started

Release process

Info icon.svg
The GNU Octave 6.1 release process has been started.
See the 6.1 Release Checklist for more information.

Project ideas and work in progess

Tools & techniques

  • Mercurial -- Version control scheme.
  • MXE -- Cross-compiling to Windows.
  • gdb -- debugger. Useful to obtain stack traces.
  • valgrind -- memory leak detector, profiler etc.
  • ccache -- cache compilation across builds.
  • Editors -- A list of editors supporting Octave syntax highlighting.

Documentation

Building

Testing

Packaging -- Building binary distributions

Code sprints

Other