1. General Users
================

A MInGW bundle is available from sourceforge.

 http://octave.sourceforge.net/index.html

2. Developers
=============

The process for building Octave from source is as follows.

 * Install development tools and compiler
 * Install or compile dependencies of Octave
 * Download Octave source
 * Configure and compile source

We strongly encourage experienced users to build Octave from the
testing and development snapshots to try the latest features of Octave.

A good tutorial on building Octave for version 3.2 is available from 
http://octave.svn.sourceforge.net/viewvc/octave/trunk/octave-forge/admin/Windows/mingw32/HOWTO.txt 

Additional information beyond the tutorial is summarized below.

 2.1 Development tools and compiler
 ----------------------
 Msys + MinGW development Tools

 The Msys + MinGW development Tools are required to build Octave from source.

 The latest version of the Msys system is 1.0.16.  For MinGW, search and use
 the most recent version available.  Note: The Howto.txt file describing
 the development tools is rather old.

 The latest GCC (GNU Complier Collection) for MinGW is gcc-4.5.0.  Earlier
 versions are not recommended for building Octave 3.4.xx.

 The latest Msys, MinGW, and GCC tools can be downloaded from 
 http://sourceforge.net/projects/mingw/files/ 

 (Compiling for 64-bit binaries requires mingw-64 toolkits.  This has not been
  tested.)

 2.2 Dependencies
 ----------------------

 External program dependencies
 
  * gnuplot (you can build this with the shell script mentioned in Howto.txt)
  * MikTeX
  * ghostscript
  * pstoedit (required for printing using FLTK (OpenGL) graphics)
  * fig2dev (Optional; better quality for FLTK printing in some file formats)
  * sed
  * less

 The tools below are required for building the development sources from
 the Mercurial archive, but not for simply building Octave from a snapshot
 tar.gz file.

  * Mercurial
  * git
  * automake
  * autoconf

 Library dependencies

  Please read Howto.txt carefully on how to build them.  The Howto.txt is old
  so some revisions will be required when using GCC-4.5.0

 2.3 Download Octave source
 ----------------------

  The source for testing snapshots can be downloaded from the official Octave
  web site.  http://www.octave.org/download.html 

  The very latest development code is also available via anonymous access to a
  read-only Mercurial archive.  The method of download is described on the web
  site.  You will also need to install gnulib as another dependency.  Please
  visit http://www.gnu.org/software/gnulib/ and download sources using git.

 2.4 Configure and compile source
 ----------------------

  Building from source can be carried out using the script described in
  Howto.txt.  
  
  When using GCC-4.5.0, remove flags for shared libstdc++ because a shared
  build is already the default.

  When running './configure', you must add '--enable-float-truncate' option. 
  Please see the following thread for more information: 
  http://thread.gmane.org/gmane.comp.gnu.octave.bugs/12361/focus=12404

  To build development sources from the Mercurial repository you must run
  'autogen.sh' (bootstrap) before running configure and make.  This requires
  that automake and autoconf tools be installed.


Tatsuro MATSUOKA
tmacchant@yahoo.co.jp

Benjamin Lindner
bjmldn@gmail.com 


Last updated: Sat Jan 22 17:29:12 PST 2011
