Use `Control_Type' to handle different segment directions.
[ttfautohint.git] / INSTALL.git
blob9bf29d296fd9684e945dfd7189e23120881bbb90
2 building and installing ttfautohint from git
3 --------------------------------------------
5 Building ttfautohint from the git repository needs some tools which are not
6 required when building from a release:
8   autoconf (2.65)
9   automake (1.13)
10   bison (2.6.5)
11   flex (2.5.37)
12   git (1.5.5)
13   libtool (2.2.2)
14   perl (this is a prerequisite of automake also)
16 If you configure to build the documentation files also (which are normally
17 distributed with the release package), the following is necessary:
19   help2man (1.40.1)
20   pandoc (1.12.2.1)
21   inkscape (0.48.2)
22   X11
23   ImageMagick (6.7.4)
24   lualatex or xelatex (TeXLive 2013)
26 The version numbers in parentheses are known to work.  Newer versions should
27 work also.
29 Say
31   ./bootstrap
33 to clone the `gnulib' repository (which gets installed as a git submodule),
34 to build the `configure' script, and to set up necessary auxiliary files. 
35 Then you can proceed with the instructions given in the `INSTALL' file with
36 the exception that parellel builds with `make -j' are not supported yet.
38 Some additional remarks for compilation within the MinGW environment.
40   o Since MSYS, the shell of MinGW, uses LF as line endings, `git checkout'
41     should not convert files to CRLF.  Before checking out the FreeType and
42     ttfautohint repositories, you should issue the command
44       git config --global core.autocrlf input
46     to avoid any line ending conversion.
48   o At the time of this writing (February 2014), the current MinGW bundle
49     (in particular mingwrt-4.0.3; the gcc version is 4.8.1) contains a
50     number of bugs that need work-arounds.  For this reason, you should use
51     FreeType version 2.5.3 (or the git repository) and HarfBuzz version
52     0.9.27.  The configuration scripts work just fine in an MSYS shell.
54   o To compile a stand-alone version of ttfautohintGUI we must compile a
55     static version of Qt 4 first.  I've successfully followed these
56     instructions with version 4.8.5
58       http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/
60     together with the following minor patch to MinGW
62       https://sourceforge.net/p/mingw/mingw-org-wsl/ci/928ddb53a9623fc38de3997a3acce4a8730f4dc6/
64     Note that these build instructions should be executed in a normal
65     cmd.exe shell, *not* MSYS.
67     An alternative is given at
69       http://qt-project.org/wiki/How-to-build-a-static-Qt-for-Windows-MinGW
71     using a PowerShell script.  However, you still need the small MinGW
72     patch.
74     It's not necessary to invoke `make install' for Qt.  For ttfautohint's
75     `--with-qt' configure script argument in the next build step, use the
76     `bin' subdirectory of the just built Qt library, for example
78       --with-qt=/path/to/qt-4.8.5/bin
80   o Now configure and compile ttfautohint (within an MSYS shell) using
82       configure \
83         --with-qt=<DIR> \
84         --with-doc=no \
85         ac_cv_func__set_invalid_parameter_handler=no
86       make LDFLAGS=-all-static
88     (The `ac_cv_func...' argument is another work-around for a MinGW bug).
90 EOF