Category:Development: Difference between revisions

From Octave
Jump to navigation Jump to search
(→‎Bugs and testing: Strip outdated page.)
m (→‎Release process: Style fix to find the link easier.)
(16 intermediate revisions by the same user not shown)
Line 1: Line 1:
This page contains links to pages of interest to developers.  Some links appear in multiple sections.
This page contains links to pages of interest to developers.


==Getting started==
== Getting started ==
* [[Developer FAQ]]
* [[Developer FAQ]]
* [[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]]
 
* [[Octave's file types]]
== [[:Category:Releases|Release]] process ==
* [[Easy projects]]
 
{{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 ==
== [[:Category:Project_Ideas|Project ideas]] and work in progess ==
* [[Easy projects]]
* [[Short projects]] -- Good starting point to get into the Octave development.
* [[GSoC Project Ideas]]
* [[Summer of Code Project Ideas]] -- Ideas page for GSoC, SOCIS, ... projects.
* [[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?)
* [[Projects]] -- Many things that would be nice to have done.
** [[Classdef]]
** [[Classdef]] -- Define own data types using <code>classdef</code>.
** [[Java interface]]
** [[JIT]] -- Just in time compiler for Octave.
** [[JIT]]
** [[GUI terminal widget]] -- Ideas about a new improved terminal widget.
 
** [[International Characters Support]] -- Using Octave in your own language.
== Tools ==
** [[Pythonic]] -- Calling Python functions directly from Octave.


* [[Mercurial]] -- version control scheme.
== Tools & techniques ==
* [[MXE]] -- cross-compiling to Windows or OSX.
* [[Doxygen]] -- "Literate programming" documentation generator.


* [[Mercurial]] -- Version control scheme.
* [[MXE]] -- Cross-compiling to Windows.
* gdb -- debugger.  Useful to obtain stack traces.
* gdb -- debugger.  Useful to obtain stack traces.
** [[Debugging Octave]] -- particularly .oct files using gdb.
* valgrind -- memory leak detector, profiler etc.
* valgrind -- memory leak detector, profiler etc.
** [[Finding Memory Leaks]]
* [https://ccache.samba.org/ ccache] -- cache compilation across builds.
* [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]]


==Bugs and testing==
== [[:Category:Testing|Testing]] ==
* [[Status of bugs]]
* [[Tests]]
* [[Debugging Octave]], particularly using .oct files and gdb
* [[Finding Memory Leaks]]
* [[Add BIST tests for octave functions written in C++]]
* [[BIST for m-files]]
* [[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==
== Code sprints ==
* [[2015 Code Sprint]]
* [[2015 Code Sprint]]
* [[Code sprint Zurich]]
* [[Code sprint Zurich]]


==Release procedures==
== Other ==
* [[Release Checklist]]
 
==Other==
* [[Hacking]]
* [[Project Infrastructure]]
* [[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