Subversion Repositories Kolibri OS

Rev

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 ---