The following tools are required:
The Octave sources are primarily written in C++, but some portions are
also written in C and Fortran. The Octave sources are intended to be
portable. Recent versions of the GNU compiler collection (GCC) should
work (https://gcc.gnu.org). If you use GCC, you should avoid
mixing versions. For example, be sure that you are not using the
obsolete g77
Fortran compiler with modern versions of gcc
and g++
.
Tool for building software (https://www.gnu.org/software/make). Octave’s build system requires GNU Make. Other versions of Make will not work. Fortunately, GNU Make is highly portable and easy to install.
Basic Unix system utilities are required for building Octave. All will be available with any modern Unix system and also on Windows with either Cygwin or MinGW and MSYS.
Additionally, the following tools may be needed:
Parser generator (https://www.gnu.org/software/bison).
You will need Bison if you modify the oct-parse.yy
source file or
if you delete the files that are generated from it.
Lexer analyzer (https://www.gnu.org/software/flex). You will need
Flex if you modify the lex.ll
source file or if you delete the
files that are generated from it.
Package for software configuration
(https://www.gnu.org/software/autoconf). Autoconf is required if
you modify Octave’s configure.ac
file or other files that it
requires.
Package for Makefile generation
(https://www.gnu.org/software/automake). Automake is required if
you modify Octave’s Makefile.am
files or other files that they
depend on.
Package for building software libraries (https://www.gnu.org/software/libtool). Libtool is required by Automake.
Perfect hash function generator (https://www.gnu.org/software/gperf).
You will need gperf if you modify the octave.gperf
file or if you
delete the file that is generated from it.
Package for generating online and print documentation (https://www.gnu.org/software/texinfo). You will need Texinfo to build Octave’s documentation or if you modify the documentation source files or the docstring of any Octave function.