Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
3918 | Serge | 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 |
||
37 | src/base/ftglyph.c -- recommended, see |
||
38 | |||
39 | src/base/ftbdf.c -- optional, see |
||
40 | src/base/ftbitmap.c -- optional, see |
||
41 | src/base/ftcid.c -- optional, see |
||
42 | src/base/ftfstype.c -- optional |
||
43 | src/base/ftgasp.c -- optional, see |
||
44 | src/base/ftgxval.c -- optional, see |
||
45 | src/base/ftlcdfil.c -- optional, see |
||
46 | src/base/ftmm.c -- optional, see |
||
47 | src/base/ftotval.c -- optional, see |
||
48 | src/base/ftpatent.c -- optional |
||
49 | src/base/ftpfr.c -- optional, see |
||
50 | src/base/ftstroke.c -- optional, see |
||
51 | src/base/ftsynth.c -- optional, see |
||
52 | src/base/fttype1.c -- optional, see |
||
53 | src/base/ftwinfnt.c -- optional, see |
||
54 | src/base/ftxf86.c -- optional, see |
||
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 --- |