Mercurial > octave
annotate etc/HACKING.md @ 28240:2fb684dc2ec2
axis.m: Implement "fill" option for Matlab compatibility.
* axis.m: Document that "fill" is a synonym for "normal". Place "vis3d" option
in documentation table for modes which affect aspect ratio. Add
strcmpi (opt, "fill") to decode opt and executed the same behavior as "normal".
author | Rik <rik@octave.org> |
---|---|
date | Fri, 24 Apr 2020 13:16:09 -0700 |
parents | 9e769371fb45 |
children | f044b9951df5 |
rev | line source |
---|---|
24193
b7e5486e7bff
doc: Doxygen documentation with more descriptive pages.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24163
diff
changeset
|
1 Hacking Octave {#Hacking} |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
2 ============== |
9946 | 3 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
4 This file attempts to describe the rules to use when hacking the |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
5 Octave sources cloned from the Savannah source code |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
6 [repository](https://hg.savannah.gnu.org/hgweb/octave/). |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
7 **DO NOT** put this file into the distribution. These requirements |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
8 do not apply when building from a distribution tarball. |
9946 | 9 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
10 Quick start |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
11 ----------- |
16664 | 12 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
13 1. Install all the required dependencies. Precisely how to do that |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
14 depends on what type of system you are using. There are more |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
15 details below. |
16664 | 16 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
17 2. Clone the Octave sources: |
16664 | 18 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
19 hg clone https://www.octave.org/hg/octave |
16664 | 20 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
21 3. Change to the top-level directory of the Octave source tree and |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
22 run the `bootstrap` script: |
16664 | 23 |
24 cd octave | |
25 ./bootstrap | |
26 | |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
27 4. Create a build directory, `cd` to it, then run `configure` and |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
28 `make`, or `make -jX` (to run `X` simultaneous jobs): |
16664 | 29 |
30 mkdir .build | |
31 cd .build | |
32 ../configure | |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
33 make -j2 |
16664 | 34 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
35 Requirements |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
36 ------------ |
9946 | 37 |
38 We've opted to keep only the highest-level sources in the repository. | |
9977
711aa22ff83d
Elaborate which DIRNAME to use for --gnulib-srcdir option in HACKING file
Rik <rdrider0-list@yahoo.com>
parents:
9949
diff
changeset
|
39 This eases our maintenance burden, (fewer merges, etc.), but imposes |
14646
f40c355491cc
doc: Modify the language in HACKING concerning cloning and git subrepo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14138
diff
changeset
|
40 more requirements on anyone wishing to build from the just-cloned |
9946 | 41 sources. For example, you have to use the latest stable versions of |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
42 the maintainer tools we depend upon. These include: |
9946 | 43 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
44 - [Autoconf](https://www.gnu.org/software/autoconf/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
45 - [Automake](https://www.gnu.org/software/automake/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
46 - [Bison](https://www.gnu.org/software/bison/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
47 - [Flex](https://www.gnu.org/software/flex/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
48 - [Gnulib](https://www.gnu.org/software/gnulib/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
49 - [GNU Make](https://www.gnu.org/software/make/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
50 - [gperf](https://www.gnu.org/software/gperf/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
51 - [Gzip](https://www.gnu.org/software/gzip/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
52 - [Libtool](https://www.gnu.org/software/libtool/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
53 - [Mercurial](https://www.mercurial-scm.org/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
54 - [Perl](https://www.cpan.org/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
55 - [Rsync](https://samba.anu.edu.au/rsync/) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
56 - [Tar](https://www.gnu.org/software/tar/) |
9946 | 57 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
58 In addition to these maintainer tools, Octave makes use of many |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
59 external libraries and packages. See `doc/interpreter/install.txi` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
60 for the complete list of required and optional dependencies. |
18286
de72c443ed3f
HACKING: Refer to install.txi for the full dependency list (bug #41233)
Mike Miller <mtmiller@ieee.org>
parents:
17800
diff
changeset
|
61 |
9946 | 62 Only building the initial full source tree will be a bit painful. |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
63 Later, after synchronizing from the repository, a plain `make` should |
9946 | 64 be sufficient. |
65 | |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
66 First clone |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
67 ----------- |
9946 | 68 |
14646
f40c355491cc
doc: Modify the language in HACKING concerning cloning and git subrepo
Jordi Gutiérrez Hermoso <jordigh@octave.org>
parents:
14138
diff
changeset
|
69 If you are reading these notes, you may have already managed to clone |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
70 this package from the repository. For the record, you will find all |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
71 the relevant information on downloading sources at: |
9946 | 72 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
73 <https://www.octave.org/download.html> |
9946 | 74 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
75 After cloning Octave, you will need to run the `bootstrap` script: |
9946 | 76 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
77 ./bootstrap |
9946 | 78 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
79 This script will examine the source tree and generate some `Makefile` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
80 fragments, then run autotools scripts to generate `Makefile.in` files |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
81 from `Makefile.am` files and create the `configure` script. The |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
82 `bootstrap` script comes from gnulib, but is kept in the Octave |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
83 source archive. It should be updated from the gnulib sources as |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
84 necessary. |
9949 | 85 |
86 If you have a copy of gnulib in some directory apart from the Octave | |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
87 source tree, then pass the name of the directory containing |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
88 `gnulib-tool` to the `bootstrap` script using the option: |
9949 | 89 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
90 --gnulib-srcdir=DIRNAME |
9949 | 91 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
92 If you have downloaded gnulib directly, `DIRNAME` will be the |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
93 directory where gnulib was unpacked. If you have installed gnulib |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
94 using a package manager, `DIRNAME` is likely to be `/usr/bin` or |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
95 `/usr/local/bin` (where the gnulib-tool script resides). |
9977
711aa22ff83d
Elaborate which DIRNAME to use for --gnulib-srcdir option in HACKING file
Rik <rdrider0-list@yahoo.com>
parents:
9949
diff
changeset
|
96 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
97 By using an external gnulib directory, you can share a single gnulib |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
98 source tree among several projects. Since 2011, the gnulib sources |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
99 are a Mercurial subrepository of the Octave repository, so they will |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
100 be automatically updated to the corresponding Mercurial revision if |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
101 you update the working directory to a past revision not too far in |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
102 the past. |
9949 | 103 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
104 Additional options besides `--gnulib-srcdir` can be passed to |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
105 `bootstrap` and they will be forwarded without modification to the |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
106 gnulib `bootstrap` script. |
9977
711aa22ff83d
Elaborate which DIRNAME to use for --gnulib-srcdir option in HACKING file
Rik <rdrider0-list@yahoo.com>
parents:
9949
diff
changeset
|
107 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
108 Once the `bootstrap` script completes successfully, you may configure |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
109 and build Octave. We recommend that you build Octave in a separate |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
110 directory tree from the sources. For example, if you have just |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
111 finished running the `bootstrap` script in the top-level source |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
112 directory, run the following commands to create a build tree, |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
113 configure, and build Octave: |
9946 | 114 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
115 mkdir .build |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
116 cd .build |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
117 ../configure |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
118 make -j2 |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
119 make check |
9946 | 120 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
121 The `-j2` after the first `make` call means, that two jobs run |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
122 simultaneously. This number may be increased depending on your |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
123 system. At this point, there should be no difference between your |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
124 working tree and the currently visited hg revision: |
9946 | 125 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
126 hg diff |
9946 | 127 |
128 should output no difference. | |
129 | |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
130 Coding style |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
131 ------------ |
12139
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
132 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
133 The most important advice is to follow any conventions you detect |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
134 in the file being edited. In addition, Octave maintainers have |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
135 written a lot on the subject. See |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
136 <https://wiki.octave.org/Contribution_guidelines>. |
12139
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
137 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
138 Bugs and patches |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
139 ---------------- |
12139
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
140 |
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
141 See the file BUGS in this directory for more guidance on reporting bugs |
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
142 and preparing patches. |
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
143 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
144 Source code directory layout |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
145 ---------------------------- |
12139
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
146 |
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
147 An overview of the directory layout of Octave's source files: |
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
148 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
149 - `build-aux` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
150 scripts which support the build process. |
17794
7e9382588570
HACKING: Update information for impending 3.8 release.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
151 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
152 - `doc` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
153 Texinfo and Doxygen documentation for Octave. |
17794
7e9382588570
HACKING: Update information for impending 3.8 release.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
154 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
155 - `etc` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
156 miscellaneous files, such as this `HACKING` howto. |
9946 | 157 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
158 - `examples` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
159 some example files (`mkoctfile` and mex samples, old class |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
160 programming interface). |
15198
c3d463c93604
* HACKING: Update for libinterp and libgui changes.
John W. Eaton <jwe@octave.org>
parents:
15194
diff
changeset
|
161 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
162 - `gnulib` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
163 gnulib subrepo. This is a clone of the gnulib source tree |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
164 maintained by the Octave project. The default branch is |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
165 identical to the upstream gnulib sources. There is also an |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
166 `octave-stable` branch that may contain changes as needed for |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
167 the `stable` branch in the Octave archive. We usually don't |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
168 want to update gnulib sources when going from one stable point |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
169 release to the next, but we occasionally need to include small |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
170 updates. |
17794
7e9382588570
HACKING: Update information for impending 3.8 release.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
171 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
172 - `libgnu` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
173 gnulib sources that we use. The files here are copied here from |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
174 the gnulib directory by the `bootstrap` script. |
15198
c3d463c93604
* HACKING: Update for libinterp and libgui changes.
John W. Eaton <jwe@octave.org>
parents:
15194
diff
changeset
|
175 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
176 - `liboctave` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
177 C++ interfaces to the numerical libraries, Fortran numerical |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
178 libraries, various OS facilities, and utility functions. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
179 - `array` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
180 the base `Array`, `NDArray`, `Matrix`, and `Sparse` classes. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
181 - `external` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
182 various numerical libraries (mostly Fortran). |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
183 - `amos` bessel functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
184 - `blas-xtra` wrappers for blas functions used in Octave |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
185 - `daspk` large scale differential algebraic equation solver |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
186 - `dasrt` differential algebraic equation solver with root finding |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
187 - `dassl` differential-algebraic system solver |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
188 - `fftpack` subroutines for fast fourier transforms |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
189 - `lapack-xtra` wrappers for lapack functions used in Octave |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
190 - `odepack` ordinary differential equation solver |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
191 - `quadpack` subroutines for numerical integration |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
192 - `ranlib` random number generators |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
193 - `slatec-err` slatec error handling library |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
194 - `slatec-fn` various special function subroutines |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
195 - `numeric` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
196 C++ numerical algorithms and interfaces to the Fortran |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
197 algorithms. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
198 - `operators` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
199 code for operators that act on base classes (such as `Array`). |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
200 - `system` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
201 OS-related functions. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
202 - `util` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
203 utility and miscellaneous functions. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
204 - `wrappers` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
205 C++ wrappers for gnulib functions written in C. |
15198
c3d463c93604
* HACKING: Update for libinterp and libgui changes.
John W. Eaton <jwe@octave.org>
parents:
15194
diff
changeset
|
206 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
207 - `libinterp` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
208 the interpreter itself plus lots of infrastructure around it. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
209 Octave's extensive `octave_value` class hierarchy for |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
210 polymorphically handling all Octave types is defined here. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
211 The built-in functions are also defined here. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
212 - `octave-value` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
213 the `octave_value` class hierarchy. These are the container |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
214 classes that hold various Octave data types like struct |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
215 numerical arrays, structure arrays, and cell arrays. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
216 - `parse-tree` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
217 Classes that define the parse tree for the interpreter. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
218 - `corefcn` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
219 statically linked `DEFUN` functions (callable from the |
27967
6628a284d56d
fix more spelling errors (bug #57613)
Mike Miller <mtmiller@octave.org>
parents:
27812
diff
changeset
|
220 scripting language) as well as internal C++ functions used by |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
221 the interpreter. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
222 - `dldfcn` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
223 dynamically linked `DEFUN` functions (callable from the |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
224 scripting language). If you see `help foo` telling you that |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
225 `foo` is defined in `foo.oct`, then `foo.cc` will be found |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
226 here and contain the source code. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
227 - `operators` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
228 definitions and template instantiations for operators for all |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
229 possible Octave type combinations. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
230 - `template-inst` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
231 some C++ template instantiations. |
15198
c3d463c93604
* HACKING: Update for libinterp and libgui changes.
John W. Eaton <jwe@octave.org>
parents:
15194
diff
changeset
|
232 |
12139
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
233 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
234 - `libgui` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
235 the graphical user interface of GNU Octave. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
236 - `graphics` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
237 Qt graphics toolkit (OpenGL plotting). |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
238 - `kb-layouts` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
239 various files need by the qterminal widget that has been |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
240 derived from Konsole. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
241 - `languages` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
242 translation files and list of translators. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
243 - `qterminal` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
244 Qt terminal widget. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
245 - `src` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
246 source files for the GUI |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
247 - `icons` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
248 icon files that will be compiled into the executable via a |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
249 resource file. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
250 - `m-editor` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
251 source files for the m-file editor. |
15198
c3d463c93604
* HACKING: Update for libinterp and libgui changes.
John W. Eaton <jwe@octave.org>
parents:
15194
diff
changeset
|
252 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
253 - `m4` m4 scripts used by configure during the build process. |
17794
7e9382588570
HACKING: Update information for impending 3.8 release.
Rik <rik@octave.org>
parents:
17744
diff
changeset
|
254 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
255 - `scripts` functions written in the Octave language. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
256 - `@ftp` ftp object class |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
257 - `+containers` container classes (Map) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
258 - `audio` play and record sound files (system dependent) |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
259 - `deprecated` older deprecated functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
260 - `elfun` elementary mathematical functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
261 - `general` utility functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
262 - `geometry` geometry algorithms |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
263 - `gui` User-Interface (UI) functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
264 - `help` help subsystem functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
265 - `image` image processing |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
266 - `io` input/output functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
267 - `java` java/Octave interface |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
268 - `linear-algebra` linear algebra |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
269 - `miscellaneous` stuff that doesn't fit anywhere else |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
270 - `ode` Ordinary Differential Equations |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
271 - `optimization` zero finders and minimizers |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
272 - `path` functions for path manipulation |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
273 - `pkg` the package manager |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
274 - `plot` plotting functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
275 - `polynomial` polynomial manipulation |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
276 - `prefs` user-defined preferences |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
277 - `profiler` code profiler for performance |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
278 - `set` set manipulation |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
279 - `signal` signal processing |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
280 - `sparse` sparse matrix support |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
281 - `specfun` special mathematical functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
282 - `special-matrix` functions for generating special types of matrices |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
283 - `startup` initialization functions |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
284 - `statistics` statistical functions, distributions, and tests |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
285 - `strings` character string manipulation |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
286 - `testfun` unit testing |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
287 - `time` time and date functions |
15198
c3d463c93604
* HACKING: Update for libinterp and libgui changes.
John W. Eaton <jwe@octave.org>
parents:
15194
diff
changeset
|
288 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
289 - `src` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
290 code for the actual executables that are created. This includes |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
291 `octave`, `octave-cli`, `octave-gui`, as well as `mkoctfile`. |
15198
c3d463c93604
* HACKING: Update for libinterp and libgui changes.
John W. Eaton <jwe@octave.org>
parents:
15194
diff
changeset
|
292 |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
293 - `test` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
294 tests for the interpreter. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
295 - `*.tst` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
296 fixed tests for the interpreter. |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
297 - `fntests.m` |
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
298 script to run function tests embedded in C++ and .m files. |
9946 | 299 |
25590
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
300 Release Numbering |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
301 ----------------- |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
302 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
303 Since version 5, Octave uses the following rules for release numbering: |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
304 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
305 Version Dev Phase When |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
306 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
307 5.0.0 (experimental) active development of Octave 5 on default branch |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
308 5.0.1 (pre-release) stabilization period of Octave 5 on stable branch |
26615
3945d8dd56a1
* HACKING.md: Explain release candidate version numbers.
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
309 5.0.90 (pre-release) first release candidate for 5.1.0 |
25590
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
310 6.0.0 (experimental) active development of Octave 6 on default branch |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
311 5.1.0 (release) first release of Octave 5 from stable branch |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
312 5.1.1 (pre-release) bug fixing on stable branch after 5.1.0 release |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
313 5.2.0 (release) second release of Octave 5 from stable branch |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
314 5.2.1 (pre-release) bug fixing on stable branch after 5.2.0 release |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
315 ... |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
316 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
317 To summarize, the first release of Octave 5 will be Octave 5.1.0 while |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
318 development snapshots will be Octave 5.0.0 and snapshots from the |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
319 release branch Octave 5.n.1. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
320 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
321 With this numbering scheme: |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
322 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
323 * Any version X.0.0 means "this is an experimental development |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
324 version". |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
325 |
26615
3945d8dd56a1
* HACKING.md: Explain release candidate version numbers.
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
326 * Any version X.Y.Z with Z > 0 means, "this is a pre-release version |
3945d8dd56a1
* HACKING.md: Explain release candidate version numbers.
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
327 meant for bug fixing and testing". In practice, Z will be either 1 |
3945d8dd56a1
* HACKING.md: Explain release candidate version numbers.
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
328 (stabilization period after and before making release candidates) or |
3945d8dd56a1
* HACKING.md: Explain release candidate version numbers.
John W. Eaton <jwe@octave.org>
parents:
26376
diff
changeset
|
329 90, 91, etc. (release candidate snapshots leading up to release). |
25590
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
330 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
331 * Any version X.Y.0 with Y != 0 means "this is a released version". |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
332 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
333 Shared Library Versioning |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
334 ------------------------- |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
335 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
336 Version numbers for the liboctave, liboctinterp, and liboctgui shared |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
337 libraries are set in the module.mk files in the top-level directory for |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
338 each library using the variables |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
339 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
340 %canon_reldir%_%canon_reldir%_current |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
341 %canon_reldir%_%canon_reldir%_revision |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
342 %canon_reldir%_%canon_reldir%_age |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
343 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
344 The rules for updating these version numbers are: |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
345 |
27216
823b4bcf79fc
unless necessary for formatting or code, use ' instead of `
John W. Eaton <jwe@octave.org>
parents:
26615
diff
changeset
|
346 * Start with version information of `0:0:0` for each libtool library. |
25590
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
347 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
348 * Update the version information only immediately before a public |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
349 release of your software. More frequent updates are unnecessary, |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
350 and only guarantee that the current interface number gets larger |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
351 faster. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
352 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
353 * If the library source code has changed at all since the last update, |
27216
823b4bcf79fc
unless necessary for formatting or code, use ' instead of `
John W. Eaton <jwe@octave.org>
parents:
26615
diff
changeset
|
354 then increment revision (`c:r:a` becomes `c:r+1:a`). |
25590
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
355 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
356 * If any interfaces have been added, removed, or changed since the |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
357 last update, increment current, and set revision to 0. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
358 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
359 * If any interfaces have been added since the last public release, |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
360 then increment age. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
361 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
362 * If any interfaces have been removed or changed since the last public |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
363 release, then set age to 0. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
364 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
365 Never try to set the interface numbers so that they correspond to the |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
366 Octave version number. This is an abuse that only fosters |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
367 misunderstanding of the purpose of library versions. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
368 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
369 The following explanation may help to understand the above rules a bit |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
370 better: consider that there are three possible kinds of reactions from |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
371 users of your library to changes in a shared library: |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
372 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
373 * Programs using the previous version may use the new version as |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
374 drop-in replacement, and programs using the new version can also |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
375 work with the previous one. In other words, no recompiling nor |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
376 relinking is needed. In this case, bump revision only, don’t touch |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
377 current nor age. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
378 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
379 * Programs using the previous version may use the new version as |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
380 drop-in replacement, but programs using the new version may use APIs |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
381 not present in the previous one. In other words, a program linking |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
382 against the new version may fail with unresolved symbols if linking |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
383 against the old version at runtime: set revision to 0, bump current |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
384 and age. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
385 |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
386 * Programs may need to be changed, recompiled, and relinked in order |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
387 to use the new version. Bump current, set revision and age to 0. |
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
388 |
27812
b191a91b5157
doc: update reference to "Shared Library Versioning" information.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26615
diff
changeset
|
389 These guidelines also appear in the GNU libtool manual, see |
b191a91b5157
doc: update reference to "Shared Library Versioning" information.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
26615
diff
changeset
|
390 https://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html. |
25590
02766a14c461
add info about version numbers in etc/HACKING.md file
John W. Eaton <jwe@octave.org>
parents:
25054
diff
changeset
|
391 |
12139
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
392 |
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
393 ################################################################################ |
2162104d40b1
Revise HACKING file and incorporate all of ROADMAP file.
Rik <octave@nomad.inbox5.com>
parents:
9977
diff
changeset
|
394 |
27919
1891570abac8
update Octave Project Developers copyright for the new year
John W. Eaton <jwe@octave.org>
parents:
27918
diff
changeset
|
395 Copyright (C) 2009-2020 The Octave Project Developers |
27918
b442ec6dda5c
use centralized file for copyright info for individual contributors
John W. Eaton <jwe@octave.org>
parents:
27814
diff
changeset
|
396 |
27923
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
397 See the file COPYRIGHT.md in the top-level directory of this |
bd51beb6205e
update formatting of copyright notices
John W. Eaton <jwe@octave.org>
parents:
27919
diff
changeset
|
398 distribution or <https://octave.org/copyright/>. |
9946 | 399 |
400 This file is part of Octave. | |
401 | |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24193
diff
changeset
|
402 Octave is free software: you can redistribute it and/or modify it |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
403 under the terms of the GNU General Public License as published by |
24534
194eb4bd202b
maint: Update punctuation for GPL v3 license text.
Rik <rik@octave.org>
parents:
24193
diff
changeset
|
404 the Free Software Foundation, either version 3 of the License, or |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
405 (at your option) any later version. |
9946 | 406 |
22755
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
407 Octave is distributed in the hope that it will be useful, but |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
408 WITHOUT ANY WARRANTY; without even the implied warranty of |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
409 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
3a2b891d0b33
maint: Standardize Copyright formatting.
Rik <rik@octave.org>
parents:
22383
diff
changeset
|
410 GNU General Public License for more details. |
9946 | 411 |
412 You should have received a copy of the GNU General Public License | |
413 along with Octave; see the file COPYING. If not, see | |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
414 <https://www.gnu.org/licenses/>. |
9946 | 415 |
416 | |
417 This file was adapted for Octave from the HACKING file that is part of | |
418 GNU Bison, which contained the following Copyright notice: | |
419 | |
420 Copyright (C) 2002, 2003, 2004, 2005, 2007, 2008, 2009 | |
421 Free Software Foundation, Inc. | |
422 | |
423 This file is part of GNU Bison. | |
424 | |
425 This program is free software: you can redistribute it and/or modify | |
426 it under the terms of the GNU General Public License as published by | |
427 the Free Software Foundation, either version 3 of the License, or | |
428 (at your option) any later version. | |
429 | |
430 This program is distributed in the hope that it will be useful, | |
431 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
432 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
433 GNU General Public License for more details. | |
434 | |
435 You should have received a copy of the GNU General Public License | |
24163
7ff6daa6b558
doc: use tree view in Doxygen documentation and add README and etc/HACKING.
Kai T. Ohlhus <k.ohlhus@gmail.com>
parents:
24162
diff
changeset
|
436 along with this program. If not, see <https://www.gnu.org/licenses/>. |