Improve documentation for strong/smooth stem handling.
[ttfautohint.git] / INSTALL.git
blob22af02ba2d61c51d2ee675c83ab87ffaf4433308
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   git (1.5.5)
11   libtool (2.2.2)
12   perl (this is a prerequisite of automake also)
14 If you configure to build the documentation files also (which are normally
15 distributed with the release package), the following is necessary:
17   help2man (1.40.1)
18   pandoc (1.11.1)
19   inkscape (0.48.2)
20   X11
21   ImageMagick (6.7.4)
22   pdflatex (TeXLive 2011)
24 The version numbers in parentheses are known to work.  Newer versions should
25 work also.
27 Say
29   ./bootstrap
31 to clone the `gnulib' repository (which gets installed as a git submodule),
32 to build the `configure' script, and to set up necessary auxiliary files. 
33 Then you can proceed with the instructions given in the `INSTALL' file with
34 the exception that parellel builds with `make -j' are not supported yet.
36 Some additional remarks for compilation within the MinGW environment.
38   o Since MSYS, the shell of MinGW, uses LF as line endings, `git checkout'
39     should not convert files to CRLF.  Before checking out the FreeType and
40     ttfautohint repositories, you should issue the command
42       git config --global core.autocrlf input
44     to avoid any line ending conversion.
46   o At the time of this writing (January 2012), compilation of FreeType with
47     gcc bundles 4.6.1-2 or 4.6.2-1 fail.  Instead, you should use version
48     4.5.2-1.  Unfortunately, mingw-get is not able yet to download and
49     install a particular version; it always installs the newest one.  Some
50     manual work is necessary to overcome this restriction, as described by
51     Keith Marshall (in
52     http://sourceforge.net/mailarchive/message.php?msg_id=28753845):
54       > So what's the trick to access a specific release in a meta data
55       > file?
57       At present, the only way is to manually edit the XML manifest file,
58       (it is $MINGW_GET_ROOT/var/lib/mingw-get/data/mingw32-gcc4.xml), to
59       remove all of the <release ... /> references for any versions which
60       are newer, (i.e.  have a greater version number), than the particular
61       one you want to install.
63       If you would also like to preserve such changes, so that they will not
64       be reverted by a subsequent 'mingw-get update', then you may wish to
65       change the issue attribute, in the <software-distribution ...  /> tag,
66       from issue="2011122200" to something like issue="ZZZZZZZZZZ".
68   o To compile a stand-alone version of ttfautohint, first compile a static
69     version of Qt.  I've successfully followed these instructions:
71       http://www.formortals.com/build-qt-static-small-microsoft-intel-gcc-compiler/
73     Now configure and compile ttfautohint using
75       configure --with-qt=DIR
76       make LDFLAGS=-all-static
78 EOF