<html lang="en"> <head> <title>Build Tools - GNU Octave</title> <meta http-equiv="Content-Type" content="text/html"> <meta name="description" content="GNU Octave"> <meta name="generator" content="makeinfo 4.13"> <link title="Top" rel="start" href="index.html#Top"> <link rel="up" href="Build-Dependencies.html#Build-Dependencies" title="Build Dependencies"> <link rel="prev" href="Obtaining-the-Depencies-Automatically.html#Obtaining-the-Depencies-Automatically" title="Obtaining the Depencies Automatically"> <link rel="next" href="External-Packages.html#External-Packages" title="External Packages"> <link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> <meta http-equiv="Content-Style-Type" content="text/css"> <style type="text/css"><!-- pre.display { font-family:inherit } pre.format { font-family:inherit } pre.smalldisplay { font-family:inherit; font-size:smaller } pre.smallformat { font-family:inherit; font-size:smaller } pre.smallexample { font-size:smaller } pre.smalllisp { font-size:smaller } span.sc { font-variant:small-caps } span.roman { font-family:serif; font-weight:normal; } span.sansserif { font-family:sans-serif; font-weight:normal; } --></style> </head> <body> <div class="node"> <a name="Build-Tools"></a> <p> Next: <a rel="next" accesskey="n" href="External-Packages.html#External-Packages">External Packages</a>, Previous: <a rel="previous" accesskey="p" href="Obtaining-the-Depencies-Automatically.html#Obtaining-the-Depencies-Automatically">Obtaining the Depencies Automatically</a>, Up: <a rel="up" accesskey="u" href="Build-Dependencies.html#Build-Dependencies">Build Dependencies</a> <hr> </div> <h4 class="subsection">G.1.2 Build Tools</h4> <p>The following tools are required: <dl> <dt>C++, C, and Fortran compilers<dd>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 (<a href="http://gcc.gnu.org">http://gcc.gnu.org</a>). If you use GCC, you should avoid mixing versions. For example, be sure that you are not using the obsolete <code>g77</code> Fortran compiler with modern versions of <code>gcc</code> and <code>g++</code>. <br><dt>GNU Make<dd>Tool for building software (<a href="http://www.gnu.org/software/make">http://www.gnu.org/software/make</a>). Octave's build system requires GNU Make. Other versions of Make will not work. Fortunately, GNU Make is highly portable and easy to install. <br><dt>AWK, sed, and other Unix utilities<dd>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. </dl> <p>Additionally, the following tools may be needed: <dl> <dt>Bison<dd>Parser generator (<a href="http://www.gnu.org/software/bison">http://www.gnu.org/software/bison</a>). You will need Bison if you modify the <code>oct-parse.yy</code> source file or if you delete the files that are generated from it. <br><dt>Flex<dd>Lexer analyzer (<a href="http://www.gnu.org/software/flex">http://www.gnu.org/software/flex</a>). You will need Flex if you modify the <code>lex.ll</code> source file or if you delete the files that are generated from it. <br><dt>Autoconf<dd>Package for software configuration (<a href="http://www.gnu.org/software/autoconf">http://www.gnu.org/software/autoconf</a>). Autoconf is required if you modify Octave's <code>configure.ac</code> file or other files that it requires. <br><dt>Automake<dd>Package for Makefile generation (<a href="http://www.gnu.org/software/automake">http://www.gnu.org/software/automake</a>). Automake is required if you modify Octave's <code>Makefile.am</code> files or other files that they depend on. <br><dt>Libtool<dd>Package for building software libraries (<a href="http://www.gnu.org/software/libtool">http://www.gnu.org/software/libtool</a>). Libtool is required by Automake. </dl> </body></html>