Upload tizen 2.0 beta source
[framework/graphics/freetype.git] / docs / INSTALL.ANY
1 Instructions on how to build FreeType with your own build tool
2 ==============================================================
3
4 See  the  file `CUSTOMIZE'  to  learn  how  to customize  FreeType  to
5 specific environments.
6
7
8 I. Standard procedure
9 ---------------------
10
11   * DISABLE PRE-COMPILED  HEADERS!  This is very  important for Visual
12     C++, because FreeType uses lines like:
13
14       #include FT_FREETYPE_H
15
16     which are not correctly supported by this compiler while being ISO
17     C compliant!
18
19   * You  need  to  add  the directories  `freetype2/include'  to  your
20     include path when compiling the library.
21
22   * FreeType 2 is made of  several components; each of them is located
23     in    a   subdirectory    of   `freetype2/src'.     For   example,
24     `freetype2/src/truetype/' contains the TrueType font driver.
25
26   * DO NOT COMPILE ALL C FILES!  Rather, compile the following ones.
27
28     -- base components (required)
29
30       src/base/ftsystem.c
31       src/base/ftinit.c
32       src/base/ftdebug.c
33
34       src/base/ftbase.c
35
36       src/base/ftbbox.c       -- recommended, see <freetype/ftbbox.h>
37       src/base/ftglyph.c      -- recommended, see <freetype/ftglyph.h>
38
39       src/base/ftbdf.c        -- optional, see <freetype/ftbdf.h>
40       src/base/ftbitmap.c     -- optional, see <freetype/ftbitmap.h>
41       src/base/ftcid.c        -- optional, see <freetype/ftcid.h>
42       src/base/ftfstype.c     -- optional
43       src/base/ftgasp.c       -- optional, see <freetype/ftgasp.h>
44       src/base/ftgxval.c      -- optional, see <freetype/ftgxval.h>
45       src/base/ftlcdfil.c     -- optional, see <freetype/ftlcdfil.h>
46       src/base/ftmm.c         -- optional, see <freetype/ftmm.h>
47       src/base/ftotval.c      -- optional, see <freetype/ftotval.h>
48       src/base/ftpatent.c     -- optional
49       src/base/ftpfr.c        -- optional, see <freetype/ftpfr.h>
50       src/base/ftstroke.c     -- optional, see <freetype/ftstroke.h>
51       src/base/ftsynth.c      -- optional, see <freetype/ftsynth.h>
52       src/base/fttype1.c      -- optional, see <freetype/t1tables.h>
53       src/base/ftwinfnt.c     -- optional, see <freetype/ftwinfnt.h>
54       src/base/ftxf86.c       -- optional, see <freetype/ftxf86.h>
55
56       src/base/ftmac.c        -- only on the Macintosh
57
58     -- font drivers (optional; at least one is needed)
59
60       src/bdf/bdf.c           -- BDF font driver
61       src/cff/cff.c           -- CFF/OpenType font driver
62       src/cid/type1cid.c      -- Type 1 CID-keyed font driver
63       src/pcf/pcf.c           -- PCF font driver
64       src/pfr/pfr.c           -- PFR/TrueDoc font driver
65       src/sfnt/sfnt.c         -- SFNT files support
66                                  (TrueType & OpenType)
67       src/truetype/truetype.c -- TrueType font driver
68       src/type1/type1.c       -- Type 1 font driver
69       src/type42/type42.c     -- Type 42 font driver
70       src/winfonts/winfnt.c   -- Windows FONT / FNT font driver
71
72     -- rasterizers (optional; at least one is needed for vector
73        formats)
74
75       src/raster/raster.c     -- monochrome rasterizer
76       src/smooth/smooth.c     -- anti-aliasing rasterizer
77
78     -- auxiliary modules (optional)
79
80       src/autofit/autofit.c   -- auto hinting module
81       src/cache/ftcache.c     -- cache sub-system (in beta)
82       src/gzip/ftgzip.c       -- support for compressed fonts (.gz)
83       src/lzw/ftlzw.c         -- support for compressed fonts (.Z)
84       src/bzip2/ftbzip2.c     -- support for compressed fonts (.bz2)
85       src/gxvalid/gxvalid.c   -- TrueTypeGX/AAT table validation
86       src/otvalid/otvalid.c   -- OpenType table validation
87       src/psaux/psaux.c       -- PostScript Type 1 parsing
88       src/pshinter/pshinter.c -- PS hinting module
89       src/psnames/psnames.c   -- PostScript glyph names support
90
91
92     Notes:
93
94       `ftcache.c'  needs `ftglyph.c'
95       `ftfstype.c' needs `fttype1.c'
96       `ftglyph.c'  needs `ftbitmap.c'
97       `ftstroke.c' needs `ftglyph.c'
98       `ftsynth.c'  needs `ftbitmap.c'
99
100       `cff.c'      needs `sfnt.c', `pshinter.c', and `psnames.c'
101       `truetype.c' needs `sfnt.c' and `psnames.c'
102       `type1.c'    needs `psaux.c' `pshinter.c', and `psnames.c'
103       `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
104       `type42.c'   needs `truetype.c'
105
106       To use `ftbzip2.c', an application must be linked with a library
107       which implements bzip2 support  (and the bzip2 header files must
108       be available also during compilation).
109
110
111   Read the file `CUSTOMIZE' in case  you want to compile only a subset
112   of  the  drivers,  renderers,   and  optional  modules;  a  detailed
113   description of the various base  extension is given in the top-level
114   file `modules.cfg'.
115
116   You are done.  In case of problems, see the archives of the FreeType
117   development mailing list.
118
119
120 II. Support for flat-directory compilation
121 ------------------------------------------
122
123   It is  possible to  put all  FreeType 2 source  files into  a single
124   directory, with the *exception* of the `include' hierarchy.
125
126   1. Copy all files in current directory
127
128       cp freetype2/src/base/*.[hc] .
129       cp freetype2/src/raster1/*.[hc] .
130       cp freetype2/src/smooth/*.[hc] .
131       etc.
132
133   2. Compile sources
134
135       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
136       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
137       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
138       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
139       etc.
140
141     You don't  need to define  the FT_FLAT_COMPILATION macro  (as this
142     was required in previous releases of FreeType 2).
143
144 ----------------------------------------------------------------------
145
146 Copyright 2003, 2005, 2006, 2009, 2010 by
147 David Turner, Robert Wilhelm, and Werner Lemberg.
148
149 This  file is  part of  the FreeType  project, and  may only  be used,
150 modified,  and distributed  under the  terms of  the  FreeType project
151 license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
152 this file you  indicate that you have read  the license and understand
153 and accept it fully.
154
155
156 --- end of INSTALL.ANY ---