upload tizen1.0 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/gxvalid/gxvalid.c   -- TrueTypeGX/AAT table validation
85       src/otvalid/otvalid.c   -- OpenType table validation
86       src/psaux/psaux.c       -- PostScript Type 1 parsing
87       src/pshinter/pshinter.c -- PS hinting module
88       src/psnames/psnames.c   -- PostScript glyph names support
89
90
91     Notes:
92
93       `ftcache.c'  needs `ftglyph.c'
94       `ftfstype.c' needs `fttype1.c'
95       `ftglyph.c'  needs `ftbitmap.c'
96       `ftstroke.c' needs `ftglyph.c'
97       `ftsynth.c'  needs `ftbitmap.c'
98
99       `cff.c'      needs `sfnt.c', `pshinter.c', and `psnames.c'
100       `truetype.c' needs `sfnt.c' and `psnames.c'
101       `type1.c'    needs `psaux.c' `pshinter.c', and `psnames.c'
102       `type1cid.c' needs `psaux.c', `pshinter.c', and `psnames.c'
103       `type42.c'   needs `truetype.c'
104
105
106   Read the file `CUSTOMIZE' in case  you want to compile only a subset
107   of  the  drivers,  renderers,   and  optional  modules;  a  detailed
108   description of the various base  extension is given in the top-level
109   file `modules.cfg'.
110
111   You are done.  In case of problems, see the archives of the FreeType
112   development mailing list.
113
114
115 II. Support for flat-directory compilation
116 ------------------------------------------
117
118   It is  possible to  put all  FreeType 2 source  files into  a single
119   directory, with the *exception* of the `include' hierarchy.
120
121   1. Copy all files in current directory
122
123       cp freetype2/src/base/*.[hc] .
124       cp freetype2/src/raster1/*.[hc] .
125       cp freetype2/src/smooth/*.[hc] .
126       etc.
127
128   2. Compile sources
129
130       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftsystem.c
131       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftinit.c
132       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftdebug.c
133       cc -c -Ifreetype2/include -DFT2_BUILD_LIBRARY ftbase.c
134       etc.
135
136     You don't  need to define  the FT_FLAT_COMPILATION macro  (as this
137     was required in previous releases of FreeType 2).
138
139 ----------------------------------------------------------------------
140
141 Copyright 2003, 2005, 2006, 2009, 2010 by
142 David Turner, Robert Wilhelm, and Werner Lemberg.
143
144 This  file is  part of  the FreeType  project, and  may only  be used,
145 modified,  and distributed  under the  terms of  the  FreeType project
146 license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
147 this file you  indicate that you have read  the license and understand
148 and accept it fully.
149
150
151 --- end of INSTALL.ANY ---