Starting with version 3.0.1, Octave is once again part of the normal
net distribution of Cygwin, available from http://www.cygwin.com.

It is possible to build Octave from source on Windows systems with Cygwin,
but with the old gcc-3.4.4-3 compiler there are some performance
problems related to the way C++ exception handling is implemented.
This is a known problem with a long history and it is STRONGLY
encouraged to use gcc-4.3.2-1 or later.

Current binary versions are built with gcc-4.5.3-3.


------- SUGGESTED CONFIGURATION  ---------------------------

The latest development Octave development sources (octave-3.5.91+)
are built with:

configure --enable-shared \
          --enable-float-truncate \
          CC=gcc-4 F77=gfortran-4 CXX=g++-4 CPP=cpp-4
          lt_cv_deplibs_check_method=pass_all \
          LDFLAGS=-Wl,-no-undefined

"--enable-float-truncate" is needed for the following bug:
http://thread.gmane.org/gmane.comp.gnu.octave.bugs/12361/focus=12404
Without it, one of the quadgk test will fail as
"a=a" could be false due to truncation problems with
complex numbers.

"lt_cv_deplibs_check_method=pass_all"  is needed to bypass
incorrect libtool detection of system capabilities and
to allow shared libs building.

"LDFLAGS=-Wl,-no-undefined" is better than previous
"LDFLAGS=-no-undefined" as gcc-4 is now complaining about
unknown command and the "undefined" is for the linker.

The additional patch used for 3.4.3-3 package can also be
needed for 3.6.x (see below).

------- SUGGESTION FOR FORK ISSUE --------------------------

The build process can fails in building images for documentation
due to fork issue of the octave dll just built. In such case
I suggest to rebase the built dll's with:

$ find build_tree -name "*.dll"  > rebase_list

and after closing all cygwin process, from a dash shell

$ rebaseall -s 'dll|so|oct' -T /full_path/rebase_list

After rebasing the "make" should be able to complete the
creation of the images and the documentation.

------------------------------------------------------

Octave-3.4.3-3 package was built using:

configure --libexecdir=/usr/lib \
          --enable-shared \
          --enable-float-truncate \
          F77=gfortran-4 \
          lt_cv_deplibs_check_method=pass_all \
          LDFLAGS=-no-undefined

plus and additional patch to solve a specific cygwin
fltk print issue, see:
https://savannah.gnu.org/bugs/?31641

Octave-3.2.4 was built using:

configure --enable-shared \
          --without-fltk \
          --without-framework-opengl \
          CC=gcc-4 F77=gfortran-4 CXX=g++-4 CPP=cpp-4
          CFLAGS="-Dtimezone=_timezone"

------------------------------------------------------
Current Cygwin package maintainer for Octave:

  Marco Atzeri
  http://matzeri.altervista.org

Marco Atzeri
marco.atzeri@gmail.com
Italy

Last updated: Tue Jan  3 14:40:58 WEST 2012
