view etc/README.Cygwin @ 17280:8ce6cdd272eb

Support TeX elements in FreeType renderer. * libinterp/corefcn/txt-eng.cc: New file. Contains mapping from symbol name to character code, in Unicode and MS symbol. * libinterp/corefcn/modules.mk (COREFCN_SRC): Add txt-eng.cc. * libinterp/corefcn/oct-tex-lexer.ll: Add "\n" to rules applicable to ".", as the latter does not include new line characters. * libinterp/corefcn/oct-tex-parser.yy: Remove debug statements. * libinterp/corefcn/txt-eng.ft.cc (gripe_missing_glyph, gripe_glyph_render): Change signature from char to FT_ULong. (ft_render::ft_render): Adapt to new/removed members. (ft_render::~ft_render): Remove use of fonts member. (ft_render::set_font): Likewise. Use font instead. (ft_render::push_new_line): Likewise. Change meaning of yoffset and initialize line_yoffset. (ft_render::update_line_bbox): New method. (ft_render::set_mode): Change meaning of yoffset and initialize line_yoffset. (ft_render::process_character): New method. (ft_render::visit(text_element_string)): Use it. (ft_render::visit(text_element_list), ft_render::visit(text_element_subscript), ft_render::visit(text_element_superscript), ft_render::visit(text_element_color), ft_render::visit(text_element_fontsize), ft_render::visit(text_element_fontname), ft_render::visit(text_element_fontstyle), ft_render::visit(text_element_symbol)): New methods. (ft_render::set_color): Use color member instead of red/green/blue. * libinterp/corefcn/txt-eng-ft.h (ft_render::visit(text_element_list), ft_render::visit(text_element_subscript), ft_render::visit(text_element_superscript), ft_render::visit(text_element_color), ft_render::visit(text_element_fontsize), ft_render::visit(text_element_fontname), ft_render::visit(text_element_fontstyle), ft_render::visit(text_element_symbol)): New methods. (ft_render::update_line_bbox, ft_render::process_character): New methods. (ft_render::current_face): Removed method.i (ft_render::font): New member, replaces obsolete ft_render::fonts. (ft_render::line_yoffset): New member. (ft_render::color): New member, replaces obsolete red, green and blue. (ft_render::ft_font::ft_font()): Implement default constructor. (ft_render::ft_font::operator=): Fix incorrect use of FT_Reference_Face return value. (ft_render::ft_font::is_valid): New method. * libinterp/corefcn/txt-eng.h (class text_element_symbol, class text_element_fontname, class text_element_fontsize, class text_element_fontname, class text_element_fontstyle, class text_element_color): Add forward definition. (text_element_symbol::invalid_code): New enum. (text_element_symbol::code): New member. (text_element_symbol::text_element_symbol): Initialize it. (text_element_symbol::get_symbol_code): New method. (text_element_fontstyle::get_fontstyle): New method. (text_element_fontname::get_fontname): Renamed from fontname. (text_element_fontsize::get_fontsize): Renamed from fontsize.
author Michael Goffioul <michael.goffioul@gmail.com>
date Sun, 18 Aug 2013 16:36:46 -0400
parents 2f05228cb959
children
line wrap: on
line source

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